Initial revision

From-SVN: r14764
diff --git a/gcc/.gdbinit b/gcc/.gdbinit
new file mode 100644
index 0000000..dea758b
--- /dev/null
+++ b/gcc/.gdbinit
@@ -0,0 +1,95 @@
+define pr
+set debug_rtx ($)
+end
+
+document pr
+Print the full structure of the rtx that is $.
+Works only when an inferior is executing.
+end
+
+define prl
+set debug_rtx_list ($, debug_rtx_count)
+end
+
+document prl
+Print the full structure of all rtx insns beginning at $.
+Works only when an inferior is executing.
+Uses variable debug_rtx_count to control number of insns printed:
+  debug_rtx_count > 0: print from $ on.
+  debug_rtx_count < 0: print a window around $.
+
+There is also debug_rtx_find (rtx, uid) that will scan a list for UID and print
+it using debug_rtx_list. Usage example: set $foo=debug_rtx_find(first, 42)
+end
+
+define pt
+set debug_tree ($)
+end
+
+document pt
+Print the full structure of the tree that is $.
+Works only when an inferior is executing.
+end
+
+define ptc
+output (enum tree_code) $.common.code
+echo \n
+end
+
+document ptc
+Print the tree-code of the tree node that is $.
+end
+
+define pdn
+output $.decl.name->identifier.pointer
+echo \n
+end
+
+document pdn
+Print the name of the decl-node that is $.
+end
+
+define ptn
+output $.type.name->decl.name->identifier.pointer
+echo \n
+end
+
+document ptn
+Print the name of the type-node that is $.
+end
+
+define prc
+output (enum rtx_code) $.code
+echo \ (
+output $.mode
+echo )\n
+end
+
+document prc
+Print the rtx-code and machine mode of the rtx that is $.
+end
+
+define pi
+print $.fld[0].rtx@7
+end
+
+document pi
+Print the fields of an instruction that is $.
+end
+
+define pbs
+set print_binding_stack ()
+end
+
+document pbs
+In cc1plus, print the current binding stack, frame by frame, up to and
+including the global binding level.
+end
+
+# Don't let abort actually run, as it will make
+# stdio stop working and therefore the `pr' command below as well.
+b abort
+
+# Make gdb complain about symbol reading errors.  This is so that gcc
+# developers can see and fix bugs in gcc debug output.
+set complaints 20
diff --git a/gcc/COPYING b/gcc/COPYING
new file mode 100644
index 0000000..60549be
--- /dev/null
+++ b/gcc/COPYING
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       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.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, 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 executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+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
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program 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.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF 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 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
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  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 program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    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 of the License, 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
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/gcc/COPYING.LIB b/gcc/COPYING.LIB
new file mode 100644
index 0000000..161a3d1
--- /dev/null
+++ b/gcc/COPYING.LIB
@@ -0,0 +1,482 @@
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 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.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "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
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+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
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) 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.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+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
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  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 Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+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.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+     Appendix: 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>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library 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
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library 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
+
+That's all there is to it!
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
new file mode 100644
index 0000000..29483ba
--- /dev/null
+++ b/gcc/ChangeLog
@@ -0,0 +1,10652 @@
+Sat Aug  2 18:50:43 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* tree.c (int_fits_type_p): Negative ints never fit unsigned
+	types, and unsigned ints with top-bit-set never fit signed types.
+
+Sat Aug  2 16:25:43 1997  Per Bothner  <bothner@frobnitz.gnu.ai.mit.edu>
+
+	* Makefile.in (EXTRA_C_OBJS): Removed.
+	(C_AND_OBJC_OBJS):  New.  Subsumes EXTRA_C_OBJS and OBJC_CCOMMON.
+	* objc/Make-lang.in (OBJC_CCOMMON):  Removed.
+
+Sat Aug  2 16:11:57 1997  Doug Evans  <dje@cygnus.com>
+
+	* configure.in: Build .gdbinit for top level build dir here.
+	(AC_OUTPUT): Pass oldstyle_subdirs to configure.lang.
+	* configure.lang: Fix building of .gdbinit for oldstyle lang subdirs.
+
+Sat Aug  2 13:48:15 1997  Ken Raeburn  <raeburn@cygnus.com>
+
+	* cse.c (cse_insn): Ignore paradoxical SUBREGs unless we are
+	looking for such.
+
+Sat Aug  2 13:25:33 1997  Tristan Gingold  (gingold@email.enst.fr)
+
+	* calls.c (expand_call): If -fcheck-memory-usage, use pseudo-register,
+	check indirectly called function is executable, and set rights of
+	memory for aggregate as write only.
+	(store_one_arg): If -fcheck-memory-usage, set rights for pushed
+	stack argument.
+	* c-decl.c (init_decl_processing): Add
+	__builtin_aggregate_incoming_address.
+	* explow.c (expr_size): Call expand_expr with appropriate flag.
+	* expr.c (expand_builtin, case BUILT_IN_AGGREGATE_INCOMING_ADDRESS):
+	New case.
+	(expand_assignment, expand_expr, emit_push_insn, store_expr):
+	Insert calls to chkr_check_addr, chkr_set_right, and chkr_copy_bitmap
+	when -fcheck-memory-usage.
+	(get_push_address, get_memory_usage_from_modifier): New functions.
+	* expr.h: Add expand_modifier flags.
+	(chkr_*_libfunc): New decls.
+	(memory_use_mode): New declaration.
+	* flags.h (flag_check_memory_usage, flag_prefix_function_name): New
+	declaration.
+	* function.c (put_var_into_stack, assign_parms): If
+	-fcheck-memory-usage, set the rights of pushed variable.
+	* optabs.c (chkr_{check_addr,set_right}_libfunc): New definitions.
+	(chkr_{copy_bitmap,check_exec}_libfunc): Likewise.
+	(init_optabs): Initialize these chkr_*_libfunc.
+	* stmt.c (expand_computed_goto): If -fcheck-memory-usage, check that
+	computed address of a goto is executable.
+	(expand_asm, expand_asm_operands): If -fcheck-memory-usage,
+	disallow asm statments.
+	* toplev.c (flag_check_memory_usage, flag_prefix_function_name): New
+	variable.
+	(f_options): Add `check-memory-usage' and `prefix_function_name'.
+	(main): Disable `-fomit-frame-pointer' if `-fcheck-memory-usage' is set
+	and the machine can't debug without the frame pointer.
+	* tree.h (built_in_function): Add BUILT_IN_AGGREGATE_INCOMING_ADDRESS.
+	* varasm.c (make_function_rtl, make_decl_rtl): Add a prefix when
+	flag_prefix_function_name_usage is set.
+	(assemble_name): Strip the CHKR_PREFIX.
+	* alpha.c (alpha_builtin_saveregs): If -fcheck-memory-usage,
+	set rights of saved registers.
+	* clipper.c (clipper_builtin_saveregs): Likewise.
+	* m88k.c (m88k_builtin_saveregs): Likewise.
+	* pa.c (hppa_builtin_saveregs): Likewise.
+	* sparc.c (sparc_builtin_saveregs): Likewise.
+
+Sat Aug  2 08:01:12 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* c-decl.c (grokdeclarator): Give error for `long double' and
+	refine text of some error messages.
+
+	* alpha.h (FLOAT_VALUE_TYPE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE): Define.
+	* i860.h (FLOAT_VALUE_TYPE): Fix typo; was FLOAT_TYPE_VALLUE.
+
+	* calls.c (store_one_arg): Allow stack_slot to be SP in
+	ARGS_GROW_DOWNWARD case.
+
+	* c-decl.c (parmlist_tags_warning): Only suppress warning on
+	union if anonymous.
+
+	* libgcc2.c (_trampoline): Rework last change; both getpagesize
+ 	and mprotect are in cygwin32.
+
+	* reload1.c (reload): Add IN_ADDR to IN_ADDR_ADDR when computing
+	needs since they conflict.
+
+	* print-rtl.c (indent): Move to file level; was static in print_rtx.
+	(print_inline_rtx): New function.
+	* reload.c (debug_reload): Rework to make output more compact.
+
+	* dwarfout.c (output_compile_unit_die): Add support for Pascal.
+	* dwarf2out.c (gen_compile_unit_die): Likewise.
+
+	* c-typeck.c (lvalue_p, case BIND_EXPR, RTL_EXPR): Return 1 if array.
+
+	* Makefile.in (OBJC_OBJC): Delete from here.
+
+	* varasm.c (compare_constant_1, case STRING_CST): Compare TYPE_MODE.
+	(record_constant_1, case STRING_CST): Record TYPE_MODE.
+
+	* tree.c (contains_this_placeholder_p): Delete.
+	(contains_placeholder_p): Now contains code from above function.
+	(contains_placeholder_p, case 'r'): Don't look at offset info.
+	* expr.c (expand_expr, case PLACEHOLDER_EXPR): Find innermost
+	matching and don't check contains_placeholder_p.
+
+Fri Aug  1 17:15:07 1997  Per Bothner  <bothner@cygnus.com>
+
+	* objc/objc-act.c (lang_init):  Don't check_newline #if USE_CPPLIB.
+	* c-lex.c (lang_init):  Remove (recently moved here).
+	* c-lang.c (lang_init):  Restore, but add #if !USE_CPPLIB.
+
+Fri Aug  1 11:26:45 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (pa_reorg): Explode ADDR_DIFF_VEC insns too.
+
+Thu Jul 31 19:37:22 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* libgcc2.c (getpagesize): Don't compile if __CYGWIN32__.
+
+Thu Jul 31 16:04:42 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (output_to_reg, output_fix_trunc): Use scratch memory,
+	if available, instead of dynamically extending the stack.
+	(put_condition_code, print_operand): Added reverse_cc to reverse the
+	comparison when $ah is accessed directly instead of using eflags
+
+	* i386.md (*trunc*): Use scratch memory for output_fix_trunc.
+	(movsicc_1, movhicc_1) Change alternative 3 to: 
+	jCC L1; mov; jmp L2; L1:mov; L2:
+	(movsfcc, movdfcc, movxfcc): Force constant operands to memory.
+	(movsfcc_1, movdfcc_1, movxfcc_1): Change alternative 3 as above.
+
+Thu Jul 31 16:04:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i386.h (MAX_FIXED_MODE_SIZE): Define.
+
+Thu Jul 31 16:04:42 1997   Robert Lipe <robertl@dgii.com>
+	
+	* i386/sco5.h (SWITCHES_NEED_SPACES) Define.
+	Required by the COFF (but not ELF) linker.
+
+Wed Jul 30 15:03:52 1997  Per Bothner  <bothner@cygnus.com>
+
+	* demangle.h (DMGL_JAVA):  New option to request Java demangling.
+	* cplus-dem.c:  Various changes to produce Java output when passed
+	DMGL_JAVA.  Thus "::" becomes "." and "JArray<Foo>" becomes "Foo[]".
+	(main):  Support --java and -j flags to set DMGL_JAVA.
+
+Wed Jul 30 08:56:08 1997  Philip Blundell  <Philip.Blundell@pobox.com>
+
+	* configure.in (arm-*-*): Replace with arm-*-aout.
+	* arm/aout.h (SET_ASM_OP): Define by default.
+	* arm/riscix.h (SET_ASM_OP: Undefine.
+	* arm.h (CPP_SPEC): Add %(subtarget_cpp_spec).
+	(SUBTARGET_CPP_SPEC): New macro.
+	* arm/linux.h: Include aout.h rather than arm.h directly.
+	(TARGET_CPU_DEFAULT): Define.
+	({ASM,CPP}_SPEC): Remove.
+	* arm/t-linux (MULTILIB_OPTIONS): Use -mapcs-NN instead of -mN.
+	(LIB1ASMSRC): Use generic ARM version.
+	(CROSS_LIBGCC1): Define.
+	* arm/lib1funcs-linux.asm: Remove.
+
+Tue Jul 29 17:57:47 1997  Per Bothner  <bothner@cygnus.com>
+
+	* Add hooks for using autconf-style Makefile.in in language subdirs.
+	* configure.in (all_outputs, oldstyle_subdirs):  New variables.
+	Pass all_outputs to AC_OUTPUT.
+	* configure.lang:  Only iterate over oldstyle_subdirs.
+
+	* Patches to use cpplib with cc1 #if USE_CPPLIB.
+	* configure.in (--enable-c-cpplib):  New option.
+	(extra_c_flags, extra_c_objs):  New variables.
+	* Makefile.in (EXTRA_C_OBJS):  New variable.
+	(INTERNAL_CFLAGS):  Add @extra_c_flags@.
+	(C_OBJS):  Add $(EXTRA_C_OBJS).
+	* c-lex.c (generally):  Replace getc and ungetc by macros GETC and
+	UNGETC.  Avoid explicit references to finput.
+	(yy_get_token):  New function, that calls cpp_get_token.
+	(init_parse):  New function - calls init_lex.
+	(finish_parse):  New function (called by compile_file).
+	(GET_DIRECTIVE_LINE):  New macro wrapper replaces get_directive_line.
+	(lang_init):  Don't check_newline - already know main_input_filename.
+	(handle_sysv_pragma):  Remove FILE* parameter.
+	* toplev.c (finput):  Remove #if USE_CPPLIB.
+	(compile_file):  #if USE_CPPLIB don't open input file here,
+	do it in cpp_start_read.  Call init_parse instead of init_lex.
+	At end, call finish_parse instead of fclose(finput).
+
+Mon Jul 28 15:48:29 1997  Brendan Kehoe  <brendan@cygnus.com>
+
+	* integrate.c (expand_inline_function): Use xmalloc instead of
+	alloca for the LABEL_MAP.
+	(save_for_inline_copying): Likewise.
+
+Mon Jul 28 11:22:16 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (compile_file): Also emit any deferred TREE_PUBLIC inlines.
+	(rest_of_compilation): Use decl_printable_name instead of DECL_NAME
+	to identify functions in the RTL dump files.
+
+	* dwarf2out.c (add_location_or_const_value_attribute): 
+ 	leaf_renumber_regs_insn.  Also eliminate_regs here.
+	(add_AT_location_description): Not here.  Don't emit anything 
+	for a variable that has been optimized away.
+	(add_const_value_attribute): Likewise.
+
+	* dwarfout.c (location_or_const_value_attribute):
+ 	leaf_renumber_regs_insn.  Also eliminate_regs here.
+	(location_attribute): Not here.
+
+	* stor-layout.c (layout_type): Fix ancient code to match ancient
+	comment.  Use mode of field for one-field structs.
+
+Sun Jul 27 12:09:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* function.c (put_var_into_stack, trampoline_address): Treat
+	inline_function_decl like current_function_decl.
+	* expr.c (expand_expr, case LABEL_DECL): Likewise.
+	(expand_expr, case SAVE_EXPR): Handle top-level SAVE_EXPR by
+	moving into current function; abort if in incorrect context.
+	* fold-const.c (fold_range_test, fold): Avoid making SAVE_EXPR
+	if at top level.
+
+	* dwarfout.c (ASM_OUTPUT_SOURCE_FILENAME): Delete default value.
+
+	* alpha.h (TARGET_SWITCHES): Add -mno-byte.
+
+	* expr.c (get_inner_unaligned_p): Deleted.
+	(expand_assignment): Remove special-case of constant array.
+	(expand_expr, case ARRAY_REF): Likewise, and clean up remaining code.
+
+	* explow.c (probe_stack_range): Do probing with loop if more
+	than a small number.
+
+Fri Jul 25 15:42:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* configure.in: Finish fixing calculation if default thread
+	support is enabled.
+
+Fri Jul 25 15:30:09 1997  Doug Evans  <dje@cygnus.com>
+
+	* Makefile.in (native): Depend on config.h.
+	(gcc.o): Depend on Makefile, not config.status.
+
+Fri Jul 25 10:56:50 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (pa_reorg): If TARGET_BIG_SWITCH, then do not explode
+	ADDR_VEC insns.  Slightly rework code which explodes ADDR_VEC
+	insns.
+	* pa.h (TARGET_BIG_SWITCH): Define.
+	(TARGET_SWITCHES): Add "big-switch" and "no-big-switch".
+	(CASE_VECTOR_MODE): Use TI or DI depending on TARGET_BIG_SWITCH.
+	(CASE_DROPS_THROUGH): Remove definition.
+	(ASM_OUTPUT_ADDR_VEC_ELT): Rewrite to handle TARGET_BIG_SWITCH.
+	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+	* pa.md (casesi): Rework to avoid some potential long branch
+	problems (also makes generated code faster!).  Handle
+	TARGET_BIG_SWITCH.
+	(casesi0): Corresponding changes.
+
+Fri Jul 25 08:36:47 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* calls.c: (expand_call): If -fstack-check and temp needed
+	for arg is too large, use alloca.
+	* expr.c (expand_expr, case MODIFY_EXPR): Don't preexpand calls
+	if LHS is an indirect via a constant pointer.
+
+Thu Jul 24 21:49:11 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* bitmap.c (bitmap_operation): Reset CURRENT on deferred deletion.
+
+Wed Jul 23 23:52:14 1997  Chris Smith  <csmith@convex.hp.com>
+
+	* convex.h (CHECK_FLOAT_VALUE): Fix OVERFLOW capitalization.
+
+Wed Jul 23 13:00:47 1997  Richard Earnshaw <rearnsha@cambridge.arm.com>
+
+	* configure.in (arm-*-netbsd*): Fix typo setting tmake_file.
+
+Wed Jul 23 06:39:35 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* configure.in (alpha*): Put quotes around MASK_GAS.
+
+Tue Jul 22 15:24:45 1997  Brendan Kehoe  <brendan@cygnus.com>
+
+	* tree.c (array_type_nelts): Make sure the domain of TYPE is set
+	before we try to use it.
+
+Tue Jul 22 12:26:13 1997  Doug Evans  <dje@cygnus.com>
+
+	* sparc.c (gen_v9_scc): Handle early clobber of result.
+	* sparc.md (seqdi_special): Don't clobber %xcc.
+	(snedi_special, seqdi_special_trunc, snedi_special_trunc): Likewise.
+	(snedi_zero, neg_snedi_zero, seqdi_zero, neg_seqdi_zero): Likewise.
+ 	(snedi_zero_trunc, seqdi_zero_trunc): Likewise. Renamed from ..._sp64.
+	(snedi_zero_trunc_sp32, seqdi_zero_trunc_sp32): Delete.
+
+	* Makefile.in (Makefile): Pass xmake_file, tmake_file to
+	configure.frag
+	(distclean): Delete Make-host, Make-target.
+	* configure.in (host_overrides): Set to Make-host.
+	(dep_host_xmakefile): Loop over all elements in host_make_file.
+	(target_overrides): Set to Make-target.
+	(dep_tmake_file):  Loop over all elements in tmake_file.
+	(configure.frag): Pass dep_host_xmake_file, dep_tmake_file.
+	* configure.frag: New arguments xmake_files, tmake_files.
+	Build Make-host, Make-target.
+
+Mon Jul 21 23:17:44 1997  Paul Eggert  <eggert@twinsun.com>	
+
+	* objc/Make-lang.in, objc/Makefile.in: Comment out lines containing
+	just formfeeds.
+
+Mon Jul 21 14:05:46 1997  Doug Evans  <dje@cygnus.com>
+
+	* Makefile.in (Makefile): Depend on config.status instead
+	of configure.
+	(config.status): Depend on configure.  Run config.status --recheck
+	if out of date.
+	(cstamp-h.in): Use echo instead of touch.
+
+	* reload1.c (reload_cse_mem_conflict_p): Restore handling of
+	(mem:BLK const0_rtx) meaning all memory is clobbered.
+
+Mon Jul 21 06:20:10 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.md (iorsi_zexthi_ashl16): Mark output operand as earlyclobber.
+
+Sun Jul 20 06:11:30 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* configure.in (alpha*-*-*): Set cpu_type to alpha.
+	Change "alpha-" to "alpha*-" in all entries.
+	Set target_cpu_default for ev5 and ev56 systems.
+	Use symbolic names for target_cpu_default.
+	* alpha.c (override_options): Set default for alpha_cpu
+	from TARGET_CPU_DEFAULT.
+	* alpha.h (MASK_CPU_EV5): New macro.
+
+	* tree.c (contains_placeholder_p): Call contains_this_placeholder_p.
+	(contains_this_placeholder_p): Renamed from contains_placeholder_p.
+	Added new arg, PL.
+	Rework to make more consistent, check more codes, and avoid
+	undefined fields.
+	* expr.c (expand_expr, case PLACEHOLDER_EXPR): Pick outermost
+	object in placeholder_list of right type without a PLACEHOLDER_EXPR.
+
+Sat Jul 19 18:00:01 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* alpha.c (override_options): Allow processor of ev56 or 21164a.
+	(input_operand, case MEM): Correct test involving TARGET_BYTE_OPS.
+	* alpha.h (SECONDARY_{IN,OUT}PUT_RELOAD_CLASS): Don't need for
+	QImode or HImode if TARGET_BYTE_OPS.
+	(ASM_FILE_START): Write a .arch directive.
+	(STACK_CHECK_BUILTIN): New macro.
+	* alpha.md ({zero_,}extend[qh]i[dsh]i2): Rework TARGET_BYTE_OPS cases.
+	(mov[hq]i): Likewise.
+	(extend[qh]i[hsd]i2x): Add missing cases and fix typo in constraint.
+	(reload_{in,out}[qh]i): Disable for TARGET_BYTE_OPS.
+
+Fri Jul 18 23:24:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* varasm.c (make_decl_rtl): Don't use ASM_FORMAT_PRIVATE_NAME for
+	local decls with TREE_PUBLIC set.
+	(bc_make_decl_rtl): Likewise.
+
+Fri Jul 18 22:16:28 1997  Doug Evans  <dje@cygnus.com>
+
+	* configure.in: Invoke AC_CONFIG_HEADER.
+	Check for string.h, strings.h, stdlib.h, time.h, unistd.h.
+	Check for whether malloc/realloc/free need to be declared.
+	(links): Rename config.h to config2.h.
+	(AC_OUTPUT): Create cstamp-h.
+	* Makefile.in (config.in,cstamp-h.in): Add rules for.
+	(config.h,cstamp-h): Add rules for.
+	(distclean): Delete config2.h, cstamp-h.
+	(ALL_CFLAGS): Add @DEFS@.
+	* aclocal.m4, acconfig.h: New files.
+
+	* Makefile.in (distclean): Delete Make-host, Make-target.
+	* configure.in (host_overrides): Set to host_xmake_file, don't create
+	Make-host.
+	(target_overrides): Set to tmake_file, don't create Make-target.
+	(language subdir support): Keep together.
+
+	* c-decl.c (duplicate_decls): Set DECL_ABSTRACT_ORIGIN to olddecl
+	if inline function and not new definition.
+
+	* configure.in: Don't loop trying to configure language subdirs.
+	Don't pass to configure.lang variables it doesn't use.
+	* configure.lang: Delete top level directory from loop.
+	Delete code not useful for language subdirs.
+
+Fri Jul 18 08:12:53 1997  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+
+	* toplev.c (rest_of_compilation): Call reload_cse_regs here.
+	* reload1.c (reload): Don't call it here.
+	(reload_cse_mem_conflict_p): Remove MEM_OFFSET and MEM_MODE args.
+	(reload_cse_mem_conflict_p, case MEM): Call anti_dependence.
+	(reload_cse_invalidate_mem): Update call to reload_cse_mem_conflict_p.
+	(reload_cse_regs): No longer static.
+	Call init_alias_analysis.
+	Ignore CLOBBER in a PARALLEL.
+
+Fri Jul 18 06:44:22 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* objc/Make-lang.in (objc-headers): Fix command for the new build
+	directory layout, don't pass srcdir variable.
+	* objc/Makefile.in (copy-headers): Use $(srcdir) from this
+	makefile, not the parent's.
+
+Thu Jul 17 16:03:03 1997  Doug Evans  <dje@cygnus.com>
+
+	* configure.lang (EXTRA_HEADERS,EXTRA_PASSES,EXTRA_PARTS): Delete.
+	(EXTRA_PROGRAMS,EXTRA_OBJS,EXTRA_GCC_OBJS,MD_DEPS): Delete.
+	(version) Delete duplicate entry.
+	* configure.in (merged_frags): Delete unused variable.
+	(extra_headers_list): Move setting outside of subdir loop.
+	(extra_headers,extra_passes): Don't pass to configure.lang.
+	(extra_programs,extra_parts,extra_objs): Likewise.
+	(host_extra_gcc_objs,gxx_include_dir,md_cppflags): Likewise.
+
+Thu Jul 17 07:00:43 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* expr.h (STACK_CHECK_*): Provide default values.
+	(probe_stack_range): New declaration.
+	* flags.h (flag_stack_check): Likewise.
+	* explow.c (allocate_dynamic_stack_space): Call probe_stack_range.
+	(emit_stack_probe, probe_stack_range): New functions.
+	* function.c (expand_function_end): If function is non-leaf and stack 
+	checking is requested, emit needed probes.
+	* reload1.c (reload): If checking stack, verify frame small enough.
+	* stmt.c (expand_decl): If stack checking, use alloca for large vars.
+	* toplev.c (flag_stack_check): New variable.
+	(f_options): Add "stack-check".
+
+	* reorg.c (mark_target_live_regs): Pass FIRST_PSEUDO_REGISTER to
+	call to EXECUTE_IF_SET_IN_REG_SET.
+
+Wed Jul 16 14:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i960.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Use standard method to convert ALIGN
+	to power-of-two of bytes.
+
+	* sparc.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+	* sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Undef before definition.
+
+Wed Jul 16 14:34:09 1997  Klaus Espenlaub  (kespenla@hydra.informatik.uni-ulm.de)
+
+	* calls.c (emit_library_call_value): Initialize all argvec elements.
+
+Wed Jul 16 14:31:39 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* global.c (global_conflicts): Pass FIRST_PSEUDO_REGISTER to
+	call to EXECUTE_IF_SET_IN_REG_SET.
+
+Wed Jul 16 10:57:03 1997  Richard Earnshaw (rearnsha@cambridge.arm.com)
+
+	* From Rob Black (r.black@ic.ac.uk) and Mark Brinicombe
+	(amb@physig.ph.kcl.ac.uk):
+	* configure.in (arm-*-netbsd*): New configuration.
+	* arm/netbsd.h, arm/t-netbsd, arm/xm-netbsd.h: New files.
+	
+Wed Jul 16 10:57:03 1997  Richard Earnshaw (rearnsha@cambridge.arm.com)
+
+	* arm.c (tune_flags): New variable.
+	(target_{cpu,fpe}_name): Delete.
+	(arm_fpu_arch): New variable.
+	(arm_select): Also allow -march=... to configure just the 
+	architecture.
+	(all_procs): Allow armv{2,2a,3,3m,4,4t} for use with -march=.
+	(arm_override_options): Handle -march=, but don't let -mcpu=
+	and -mtune= match the architecture names, since we can only
+	tune for an implementation.  Rework selection of tuning options
+	for floating point.
+	(use_return_insn): Support interworking with Thumb code.
+	(arm_rtx_costs): Rework multiply costs so that cost is based on
+	the tune, not the architecture.
+	(f_register_operand): New function.
+	(output_return_instruction): Support interworking with Thumb code.
+	(output_func_epilogue): Support interworking with Thumb code.
+	Remove redundant calculation of code_size. Use floating-point
+	load-multiples if permitted.
+	(emit_sfm): New function.
+	(arm_expand_prologue): Use floating-point store-multiples if 
+	permitted.
+
+	* arm.h (CPP_CPU_ARCH_SPEC): Handle -march=...
+	(TARGET_OPTIONS): Add arch= and fp=.  Delete fpe=.
+	(enum processor_type): Add PROCESSOR_NONE, for use in all_procs table.
+	(FP_DEFAULT): Default floating point architecture for generic 
+	back-end.
+	(PREDICATE_CODES): Add f_register_operand.
+
+	* arm.md (*push_fp_multi): New pattern.
+
+
+Tue Jul 15 22:08:47 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (exeext): Set to build_exeext not exeext.
+	* configure.in (exeext): Delete redundant set and AC_SUBST call.
+	Change remaining AC_SUBST to use build_exeext instead of exeext.
+
+Tue Jul 15 15:48:25 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* configure.in: Fix calculation if default thread support is enabled.
+
+Tue Jul 15 13:38:46 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* rtl.h (replace_regs): Declare.
+
+Mon Jul 14 16:18:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i960.h (ASM_OUTPUT_MI_THUNK): Define.
+
+	* dwarf2out.c (gen_subprogram_die): Remove unreachable and redundant
+ 	code.
+
+Mon Jul 14 14:22:45 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* calls.c (emit_library_call): Use right index into argvec array
+	when iterating over arguments which need to be pushed on the stack.
+	(emit_library_call_value): Likewise.
+
+Mon Jul 14 08:17:41 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* gcc.c (convert_filename): Fix typo.
+
+Mon Jul 14 08:10:12 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* configure.in: Clear headers and lib2funcs before re-reading
+	config-lang.in.
+
+	* m68k/linux.h (LINK_SPEC): Fix last change.
+
+Mon Jul 14 08:03:38 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* configure.in (sparc-*-linux-gnu{*,libc1*}): Add sparc/t-linux.
+	* sparc/t-linux: New file.
+
+	* alpha/elf.h (LINK_SPEC): Fix typo.
+	* configure.in (alpha-*-linux-gnu*): Set tmake_file.
+	* alpha/t-linux: New file.
+
+Mon Jul 14 07:41:37 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.c (output_{and,ior,xor}si3): New functions from patterns bodies.
+	* m68k.h (output_{and,ior,xor}si3): New extern declarations.
+	* m68k.md (adddi3, subdi3): Allow constant operand.
+	(anddi3, iordi3, xordi3): New patterns.
+	({and,ior,xor}si3_internal): Use corresponding output_???si3 function.
+
+Mon Jul 14 07:33:11 1997  Fila Kolodny  <fila@ibi.com>
+
+	* configure.in (*-*-gnu*): Add crt{begin,end}S.o to extra_parts.
+
+Mon Jul 14 07:26:36 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+	* varasm.c (assemble_variable): If low part of size
+	doesn't fit in an int, variable is too large.
+
+Mon Jul 14 06:51:37 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* bitmap.{h,c}: New files.
+	* Makefile.in (OBJS): Add bitmap.o.
+	(BASIC_BLOCK_H): New make variable for basic-block.h, bitmap.h.
+	({flow,combine,regclass,local-alloc,reload1,reorg,sched}.o): Use
+	BASIC_BLOCK_H variable instead of basic-block.h.
+	* basic-block.h (*REG_SET): Delete old implementation; use bitmap.h.
+	(regset_{size,bytes}): Delete.
+	(regs_live_at_setjmp): Declare.
+	(EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Delete.
+	* flow.c (init_regset_vector): Make global; don't take basic block
+	times # of pseduos as argument.
+	(life_analysis): Change all init_regset_vector calls.
+	Use free_regset_vector to release arrays only flow uses at end.
+	(allocate_for_life_analysis): Change init_regset_vector call.
+	Don't set regset_{size,bytes}.
+	(free_regset_vector): Call FREE_REG_SET to release any
+	memory allocated by each vector.
+	(propagate_block): Call FREE_REG_SET on dead/live.
+	(mark_used_regs): Don't use REGSET_ELT_TYPE anymore.
+	* output.h (allocate_for_life_analysis): Add declaration.
+	(regno_uninitialized, regno_clobbered_at_setjmp): Likewise.
+	(dump_flow_info, flow_analysis): Likewise.
+	* regclass.c (init_reg_sets): Invoke INIT_ONCE_REG_SET.
+	(allocate_reg_info): Invoke MAX_REGNO_REG_SET.
+	(regset_release_memory): Free basic_block_live_at_start storage.
+	* reorg.c (mark_target_live_regs): Delete unused variables.
+	* sched.c (schedule_block): Free space associated with
+	reg_pending_sets and old_live_regs.
+	(schedule_insns): Free bb_{dead,live}_regs on first pass.
+	(sched_analyze_insn): Use EXECUTE_IF_SET_IN_REG_SET and then clear.
+	* toplev.c (rest_of_compilation): Call regset_release_memory.
+
+Mon Jul 14 00:14:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (main): Prefer DWARF 2 or stabs with -ggdb.
+	* ns32k/tek6000.h (PREFERRED_DEBUGGING_TYPE): DBX_DEBUG.
+	* alpha.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
+	* mips.h (PREFERRED_DEBUGGING_TYPE): SDB_DEBUG.
+
+Sun Jul 13 15:11:08 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* stupid.c (stupid_mark_refs): If setting reg set only in this
+	insn and not referenced, make REG_UNUSED note.
+
+Sun Jul 13 14:03:19 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* gcc.c (process_command): If -save-temps and -pipe were specified
+	together, don't do -pipe.
+
+Sun Jul 13 12:27:03 1997  Doug Evans  <dje@cygnus.com>
+
+	* gcc.c (main): Handle blank in version_string when comparing
+	with compiler_version.
+
+Sat Jul 12 01:53:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* sparc.c (output_function_prologue): Fix offset from CFA.
+	(sparc_flat_output_function_prologue): Likewise.
+
+Fri Jul 11 09:49:15 1997  Jeffrey A Law  (law@cygnus.com)
+	
+	* mips.c (epilogue_reg_mentioned_p): Delete unused function.
+	(mips_epilogue_delay_slots): Likewise.
+	(function_epilogue): Greatly simplify.
+	(mips_expand_epilogue): If we have a null prologue/epilogue,
+	then use a normal return insn.  Emit blockage insns before
+	stack pointer adjustments.
+	(mips_can_use_return_insn): Renamed from simple_epilogue_p.  All
+	callers changed.  Do not use return insns if $31 is live in the
+	function or if generating profiling information.
+	* mips.h (DELAY_SLOTS_FOR_EPILOGUE): Delete.
+	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
+	* mips.md (return): Remove expander and change the pattern to
+	look like a standard "return" insn.
+	(return_internal): Show use of $31 explictly.
+	(epilogue expander): Enable.
+
+Thu Jul 10 13:04:53 1997  Doug Evans  <dje@cygnus.com>
+
+	* cccp.c (INO_T_EQ): Return 0 for MSDOS.
+
+	* Makefile.in (CC): Use autoconf value.
+
+Tue Jul  8 18:08:00 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* dwarf2out.c (gen_subprogram_die): When handling declarations, test
+	DECL_CONTEXT not decl_class_context before equate_decl_number_to_die.
+
+Tue Jul  8 16:47:13 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (movsi define_split): Use unsigned HOST_WIDE_INT,
+	not unsigned.
+
+Sat Jul  7 00:01:41 1997  Jim Meyering <meyering@eng.ascend.com>
+
+	* i386/t-sol2 (crt[1in].o): Also depend on $(GCC_PASSES).
+
+Fri Jul  4 11:45:39 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (DWARF_CIE_HEADER_SIZE, DWARF_FDE_HEADER_SIZE,
+ 	size_of_cfi, size_of_fde, calc_fde_sizes, next_fde_offset,
+ 	cie_size): Lose.
+	(ASM_OUTPUT_DWARF_STRING): Move earlier.
+	(INCOMING_FRAME_SP_OFFSET): Provide default.
+	(initial_return_save): Adjust for CFA offset.
+	(dwarf2out_frame_debug): Lookup initial CFA offset when setting up.
+	(output_call_frame_info): Use label subtraction for length fields.
+  	Add pointer to exception region information in for_eh case.
+	(dwarf2out_do_frame): New fn.
+	(dwarf2out_frame_init): Use INCOMING_FRAME_SP_OFFSET.
+	(dwarf2out_frame_finish): Don't bother emitting .debug_frame for
+	non-Irix targets.  Just emit .eh_frame.
+	(output_die): Refer to an FDE with label subtraction.
+	* i386.h (INCOMING_FRAME_SP_OFFSET): Define.
+	* defaults.h (DWARF2_UNWIND_INFO): Define if
+ 	INCOMING_RETURN_ADDR_RTX is provided.
+	* final.c (final): Don't call dwarf2out_frame_debug unless we are
+ 	doing dwarf 2.
+
+Thu Jul  3 17:37:52 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* fp-bit.c (unpack_d): Check fraction not sign to distinquish QNaN.
+
+Wed Jul  2 09:48:03 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* loop.c (strength_reduce): Make sure register does not exceed the
+	table size when looking up the last UID.
+
+Wed Jul  2 07:47:44 1997  Nick Burrett  <n.a.burrett@btinternet.com>
+
+	* genoutput.c (process_template): Place increment expression
+	outside of putchar function call.
+
+Wed Jul  2 06:56:52 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* sparc/linux.h (LIBGCC_SPEC): Removed.
+	(CC1_SPEC): Add %{profile:-p}.
+	({CPP,LIB,LINK}_SPEC): Choose glibc 1 or 2 depending on USE_GNULIBC_1.
+	* configure.in (sparc-*-linux-gnulibc1*): New configuration.
+
+	* configure.in (powerpc-*-linuxgnu*): Default thread_file is posix.
+	Set xmake_file to x-linux.  Add extra_parts.
+	* rs6000/linux.h (LINK_SPEC): Defined.
+
+	* m68k/linux.h (LINK_SPEC): Pass -shared for -shared.
+	({CPP,LINK}_SPEC): Choose for glibc 1 or 2 depending on USE_GNULIBC_1.
+	* configure.in (m68k-*-linux-gnu*): Default thread_file is `posix'.
+	(m68k-*-linux-gnulibc1): New configuration.
+
+	* alpha/elf.h (LINK_SPEC): Change ld-gnu.so.1 to ld-linux.so.2.
+	* configure.in (alpha-*-linux-gnu*): Default thread_file is `posix'.
+
+Wed Jul  2 06:12:37 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* alpha.md (divsi3, modsi3, udivsi3): Comment out.
+	(extendsfsd2_no_tp): Add alternative with output in MEM, input in REG.
+
+	* configure.in (*-linux*): Add "-gnu" to names to match.
+
+	* libgcc2.c (_trampoline): Add stdcall attribute to VirtualProtect
+	on i386.
+
+	* objc/objc.gperf: Renamed from gperf.
+
+Wed Jul  2 05:42:19 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* objc/Make-lang.in ($(srcdir)/objc/objc-parse.c): Fix command
+	to use the right file names.
+
+Tue Jul  1 23:25:42 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* reorg.c (redundant_insn): If INSN or possible match has REG_UNUSED
+	note, don't have match.
+
+Tue Jul  1 18:36:24 1997  Doug Evans  <dje@cygnus.com>
+
+	* mips.c (mips_output_external): Don't output .extern's for
+	variables in user specified sections unless they're .sbss/.sdata.
+
+Tue Jul  1 18:30:26 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* cse.c (find_best_addr): Add missing rtx_cost arguments.
+
+	* fp-bit.c (float_to_usi): Move code for negative numbers before code
+	for infinity.  Modify infinty code to only handle positive infinities.
+
+Tue Jul  1 11:16:41 1997  Robert Lipe  <robertl@dgii.com>
+
+	* fixinc.sco: Restore pwd aftercopy.
+	Convert declaration of abs in math.h to prototype.
+	Fix static functions in sys/stat.h for C++.
+
+Tue Jul  1 10:55:47 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md ({add,ior,xor}si3): Change to use define_expand wrapper
+	and split add/ior/xor of large constants early.
+	(andsi3): Remove 6/29 code to do and of large constants.
+	(nor, nand, eqv, maskir): Add names to all logical define_insns.
+
+Tue Jul  1 09:03:35 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (BIGGEST_FIELD_ALIGNMENT): Remove definition.
+	* mips.h (BIGGEST_FIELD_ALIGNMENT): Likewise.
+
+Mon Jun 30 14:58:00 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* sh.c (sh_expand_epilogue): Emit blockage insn before cutting
+	back stack.
+
+Sun Jun 29 11:27:07 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.h (TARGET_FLAGS): Add -m{,no-}update to suppress
+	creating load/store with update instructions, and also
+	-m{,no-}fused-madd to suppress the generation of fused add and
+	multiply instructions.  Move debug flags to TARGET_OPTIONS.
+	(GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_{INC,DEC} if -mno-update.
+	(GO_IF_MODE_DEPENDENT_ADDRESS): Ditto.
+	(rs6000_debug_{name,stack,arg}): Add declarations.
+	(toc_initialized): Likewise.
+	(got_no_const_operand): Likewise.
+	(PREDICATE_CODES): Add got_no_const_operand.
+	(toc_section): Make toc_initialized a global.
+	(RTX_COSTS): Set appropriate costs for add, logical operators that
+	are really two instructions.
+	
+	* rs6000.c (rs6000_debug_{name,stack,arg}): Add definitions.
+	(rs6000_override_options): Process debug flags.
+	(toc_initialized): Global to say toc initialized.
+	(small_data_operand): Use #if TARGET_ELF, not #ifdef TARGET_SDATA.
+	(rs6000_init_expanders): Likewise.
+	(SMALL_DATA_RELOC): Likewise.
+	(got_no_const_operand): Recognize SYMBOL_REF and LABEL_REF.
+	(rs6000_makes_calls): System V profiling doesn't count as a call.
+	(rs6000_stack_info): Likewise.
+	(rs6000_output_load_toc_table): Take register number argument to
+	determine register to load.  Generate correct code if more than
+	one toc table is done in System V due to profiling or non-local
+	gotos.  If System V toc is not initialized, initialize it now.
+	(rs6000_allocate_stack_space): Move code from output_prolog to
+	allocate stack space.  Take -mno-update into account.
+	(output_prolog): Call rs6000_allocate_stack_space.  Only set
+	rs6000_pic_func_labelno if not profiling.
+	(output_function_profiler): Implement System V profiling.
+	(and_operand): Don't call reg_or_short_operand.
+	(rs6000_finalize_pic): If not optimizing, insert a USE of the GOT
+	register as the last insn.
+	
+	* rs6000.md (load/store update): Take -mno-update into account.
+	If -msoft-float, support SF load/store with update to GPR regs.
+	(allocate_stack): Take -mno-update into account.
+	(add/subtract + multiply instructions): Take -mno-fused-madd into
+	account.
+	(nonlocal_goto_receiver): Specify register # to load.
+	({add,and,ior,xor}si3): Recognize operation done with full 32 bit
+	constant, splitting latter if need be.
+	(andsi3 define_split): Fix up splitting andsi3 of large constant.
+	({ior,xor}si3 define_split): Use GEN_INT to create integer rtx
+	values.
+	(movsi_got{,_internal}): Split the load of a CONST into load of
+	the SYMBOL_REF/LABEL_REF and an add.
+	(movsi): Know that addsi3 can handle large values now for NT.
+
+	* sysv4.h (TARGET_SDATA): Remove explicit bit for -msdata.
+	(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+	(SUBTARGET_SWITCHES): Indicate -m{,no-}sdata doesn't set any flags.
+	(ASM_SPEC): Only pass -m{,no-}reg-names if assembling .s/.S files.
+	(CC1_SPEC): If -msdata, invoke compiler with -msdata=default.
+	(PROFILE_BEFORE_PROLOGUE): Likewise.
+	(RS6000_MCOUNT): Define as "_mcount".
+	(toc_section): Make toc_initialized a global.
+
+Fri Jun 27 19:01:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* config/t-linux-gnulibc1: New file.
+	* configure.in (i[3456]86-*-linux*): Default thread_file is `posix'.
+	(i[3456]86-*-linux*gnulibc1): New case.
+	* config/linux.h (LIB_SPEC): Choose for glibc 1 or 2 depending
+	on USE_GNULIBC_1.
+	* i386/linux.h (CPP_SPEC, LINK_SPEC): Likewise.
+
+Fri Jun 27 19:00:52 1997  Ralf Baechle  <ralf@waldorf-gmbh.de>
+
+	* config/linux.h (PREFERRED_DEBUGGING_TYPE): Undefine before define.
+
+Fri Jun 27 18:35:04 1997  Alan Modra  <alan@spri.levels.unisa.edu.au>
+	
+ 	* configure.in: Clean up Make-{host,target,hooks} in all
+	subdirs, not just '.'.
+	* Makefile.in (distclean): Delete */Make-{host,target,lang,hooks}.
+
+Fri Jun 27 18:27:11 1997  Fila Kolodny  <fila@ibi.com>
+
+	* config/xm-gnu.h (fcntl.h): Only include if not building libgcc.a.
+
+Fri Jun 27 18:17:44 1997  Doug Evans  <dje@cygnus.com>
+
+	* configure.frag: Rewrite.
+
+	* objc/Make-lang.in (OBJC_CCOMMON): Object files don't go in srcdir.
+	(OBJC_OBJS): Likewise.
+	(OBJC_O): Likewise.
+	(objc-parse.o, objc-act.o): Fix rules.
+	(objc/libobjc files): Fix rules.
+
+Fri Jun 27 13:23:38 1997  Andrew Cagney  <cagney@tpgi.com.au>
+
+	* fp-bit.c (float_to_si): Correct return value when Inf.
+
+Fri Jun 27 10:47:09 1997  Scott Christley <scottc@net-community.com>
+
+	* Makefile.in (DLLTOOL): Define.e
+	* objc/Make-lang.in (libobjc_entry.o, libobjc_s.a, libobjc.dll):
+	New targets.
+	(objc.install-normal): Install Objective-C runtime as a DLL.
+	(objc.mostlyclean): Clean up files used to build DLL.
+	* objc/libobjc.def: New file.
+	* objc/libobjc_entry.c: New file.
+
+	* objc/sendmsg.c (search_for_method_in_list): No longer static.
+
+	* Makefile.in (GCC_THREAD_FILE): Renamed from OBJC_THREAD_FILE.
+	* configure.lang (GCC_THREAD_FILE): Likewise.
+	* configure.in (--enable-threads): New parameter.
+	* objc/Make-lang.in (OBJC_THREAD_FILE): New definition.e
+	* objc/config-lang.in: Print message about ObjC thread file.
+
+	* cccp.c (INO_T_EQ): Define for Win32 but not Cygwin32.
+	* i386/mingw32.h: New file.
+	* i386/xm-mingw32.h: New file.
+	* configure.in (i[3456]86-*-mingw32): New target.
+	* protoize.c (link): Eliminate definition on Win32.
+
+	* objc/thr-posix.c (__objc_thread_yield): Use sched_yield instead.
+
+Fri Jun 27 10:36:41 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
+	Round up when calculating possible end address.
+
+Wed Jun 25 19:54:29 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* unroll.c (final_giv_value): Verify that bl->initial_value is
+	invariant before trying to use it.
+
+Wed Jun 25 18:13:05 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/sysv4.h (WCHAR_TYPE{,_SIZE}): Make wchar_t long as per
+	ABI spec.
+
+Wed Jun 25 16:56:16 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* sparc.h (INCOMING_RETURN_ADDR_RTX): Define.
+	(DBX_REGISTER_NUMBER): Fix frame pointer regno for -mflat.
+	* sol2.h (DBX_REGISTER_NUMBER): Likewise.
+	* sparc.c (save_regs): Emit dwarf2 frame debug info.
+	(output_function_prologue, sparc_flat_save_restore,
+	sparc_flat_output_function_prologue): Likewise.
+
+	* dwarf2.h (enum dwarf_call_frame_info): Add DW_CFA_GNU_window_save.
+	* dwarf2out.c (dwarf_cfi_name, output_cfi): Support it.
+	(dwarf2out_cfi_label): Make non-static.
+	(initial_return_save): Support PLUS.
+	(dwarf2out_window_save, dwarf2out_return_save, 
+	dwarf2out_return_reg): New fns.
+
+	* dwarf2out.c (SECTION_FORMAT): Use PUSHSECTION_FORMAT, if defined.
+	(DEBUG_INFO_SECTION): Rename from DEBUG_SECTION.
+	(DEBUG_LINE_SECTION): Rename from LINE_SECTION.
+	* mips/iris6.h: Likewise.
+
+Wed Jun 25 16:25:41 1997  Scott Christley <scottc@net-community.com>
+
+	* Makefile.in (GCC_PASSES): Don't define with $(exeext).
+	* configure.in ({cc,stage_prefix}_set_by_configure): Eliminate extra
+	comma and don't pass value to configure.lang.
+	* objc/Make-lang.in (objc-runtime): Add objc-headers.
+
+	* configure.in: Execute configure.frag in a shell.
+
+	* configure.in (cross_overrides, build_overrides): Default to
+	/dev/null to help platforms where sed cannot handle empty filenames.
+
+	* Reorganize thread implementation to make a clearly defined
+	front-end/back-end interface.
+	* objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Completely
+	rework according to new interface.
+	* objc/thr-{solaris,win32}.c: Likewise.
+	* objc/thr.c: Likewise.
+	* objc/thr.h: Define front-end/back-end interface functions and
+	structures.
+
+Wed Jun 25 16:14:10 1997  Ovidiu Predescu <ovidiu@net-community.com>
+
+	* Complete implementation of +load.
+	* objc/init.c (objc_send_load): New function.
+	(objc_class_tree): New structure.
+	(create_tree_of_subclasses_inherited_from): New function.
+	(__objc_tree_insert_class): New function.
+	(objc_tree_insert_class): New function.
+	(objc_preorder_traverse): New function.
+	(objc_postorder_traverse): New function.
+	(__objc_tree_print): New function.
+	(__objc_destroy_class_tree_node): New function.
+	(class_is_subclass_of_class): New function.
+	(__objc_exec_class): Allocate class tree list and load hash table.
+	(__objc_send_message_in_list): Rewrite using hash table.
+	(__objc_send_load): Remove calls to _objc_load_callback.
+	(objc_send_load): Make static.  Create Tree of classes resembling
+	class hierarchy for all modules.  Call __objc_send_load on all of 
+	the modules in __objc_module_list.
+	(__objc_create_classes_tree): New function.
+
+	* objc/encoding.h (method_get_sizeof_arguments): Fix typo.
+	* objc/objc-api.h (OBJC_ERR_BAD_STATE): New error code.
+	On NeXT redefine object_copy and object_dispose to avoid
+	a conflict with those defined in system library.
+	* objc/selector.c (__objc_register_instance_methods_to_class): New 
+	function.
+	* objc/runtime.h: Likewise.  Add missing function prototypes.
+
+Wed Jun 25 15:09:01 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* Makefile.in (Makefile): Execute configure.frag from srcdir.
+
+	* Makefile.in (configure): Target is $(srcdir)/configure.
+
+Tue Jun 24 15:18:14 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* m68k.h (LIMIT_RELOAD_CLASS): Define.
+
+	* recog.c (constrain_operands): When checking earlyclobbers, use
+	operands_match_p instead of rtx_equal_p.
+
+	* dwarfout.c (field_byte_offset): Check for object_offset_in_bits
+	greater than bitpos_int and recompute object_offset_in_bytes if true.
+
+	* mips.md (movdi_internal): Add x/J alternative.
+	(movdi_internal2): Add x/J alternative; change a/I to a/J.
+	(movsi_internal1, movsi_internal2): Change x/I alternative to x/J.
+
+Tue Jun 24 08:49:56 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (ASM_OUTPUT_SECTION_NAME): Fix typo.
+
+Mon Jun 23 22:48:00 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* unroll.c (find_splittable_givs): Set splittable_regs_updates to
+	biv_count for reduced givs.
+
+Mon Jun 23 10:51:53 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10200.c, mn10200.h, mn10200.md: New files for mn10200 port.
+	* lib1funcs.asm, divmod.c, udivmod.c, udivmodsi4.c: Likewise.
+	* t-mn10200, xm-mn10200.h, va-mn10200.h: Likewise.
+	* Makefile.in (USER_H): Add va-mn10200.h.
+	* varargs.h, stdarg.h: Include va-mn10200.h.
+	* configure.in (mn10200-*-*): New target.
+	
+Sun Jun 22 06:47:19 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* combine.c (force_to_mode): Don't do anything for ASM_OPERANDS insn.
+
+Sun Jun 22 06:29:28 1997  J. Kean Johnston  <jkj@sco.com>
+
+	* ginclude/stdarg.h: Protect va_list definition from SCO headers.
+	* ginclude/varargs.h: Likewise.
+
+Sat Jun 21 20:56:23 1997  Scott Christley <scottc@net-community.com>
+
+	* Make ObjC a front-end language.
+	* Makefile.in (LANGUAGES, COMPILERS, .PHONY, stmp-int-hdrs): Remove
+	specific references to ObjC compiler and source files.
+	({mostly,dist,maintainer,}clean, install-normal): Likewise
+	(OBJC_OBJS, OBJC, OBJECTIVE-C, cc1obj, objc-runtime): Rules deleted.
+	(libobjc.a, sublibobjc.a, objc-parse.{o, c, y}): Rules deleted.
+	(objc-headers, install-libobjc): Rules deleted.
+	* objc/Make-lang.in: New file; from rules deleted above.
+	* objc/config-lang.in: New file.
+	* objc/Makefile.in: Changes to support ObjC as a front-end language;
+	renamed from Makefile.in.
+	* objc-act.{c,h}, objc-parse.{c,y}, objc-tree.def: Moved to objc dir.
+
+Sat Jun 21 07:54:36 1997  Robert Lipe <robertl@dgii.com>
+
+	* fixinc.sco (math.h): Correct the collision of "exception".
+
+Sat Jun 21 06:51:40 1997  Peter Gerwinski  <peter@agnes.dida.physik.uni-essen.de>
+
+	* rs6000.c (output_epilog): Name is "GNU Pascal", not all caps.
+
+Sat Jun 21 06:29:19 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* gcc.c (main): Check for and read ${libdir}/gcc-lib/specs to
+	override the default specs.
+
+Fri Jun 20 17:20:15 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (output_block_move): When loading addresses into registers,
+	add checks for ABI_N32 and ABI_64.
+	(mips_expand_prologue): Add check for SImode in code splitting
+	tsize_rtx when it is large_int.
+
+Fri Jun 20 09:07:31 1997  Russell King  <rmk92@ecs.soton.ac.uk>
+
+	* configure.in (arm-*-linuxaout): New target.
+	* arm/lib1funcs-linux.asm, arm/linux-gas.h: New files.
+	* arm/linux.h, arm/t-linux, arm/xm-linux.h: New file.
+	* xm-linux.h: Undef some macros before defining them.
+
+Thu Jun 19 21:18:20 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* dwarf2out.c (output_line_info): Always use DW_LNE_set_address instead
+	of DW_LNS_fixed_advance_pc for line number addresses.
+	(size_of_line_info): Adjust size calculation as per above change.
+	(text_end_label): Make it static.
+
+Thu Jun 19 14:55:49 1997  Brendan Kehoe  <brendan@cygnus.com>
+
+	* toplev.c (xmalloc): Only give the fatal msg if SIZE is non-zero.
+
+Sun Apr 27 23:19:13 1997  Ulrich Drepper  <drepper@cygnus.com>
+
+	* libgcc2.c (__eh_type):  Remove `extern' to make this a definition.
+
+Wed Jun 18 18:10:16 1997  Per Bothner  <bothner@cygnus.com>
+
+	* dbxout.c (dbxout_type_fields):  Skip field if DECL_IGNORED_P.
+
+Wed Jun 18 18:04:33 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (end_eh_unwinder): If we have a return instruction, we
+	have to make sure we use it and don't fall off the end of the
+	function in the unwinder.
+
+Wed Jun 18 14:27:58 1997  Mike Stump  <mrs@cygnus.com>
+ 
+	* flow.c (find_basic_blocks): Fix end case bug.
+ 
+Tue Jun 17 18:35:57 1997  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__eh_pcnthrow): Add support -fno-sjlj-exceptions
+	-fPIC exception handling on the SPARC.
+	* sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
+	* libgcc2.c (__eh_ffetmnpc): Remove.
+
+Mon Jun 16 20:28:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* collect2.c (extract_string): Null-terminate.
+
+Mon Jun 16 14:38:44 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* combine.c (set_nonzero_bits_and_sign_copies): Use REG_SET macros
+	instead of doing bit operations directly.
+	(try_combine,reg_dead_at_p): Ditto.
+	* caller-save.c (save_call_clobbered_regs): Ditto.
+	* reload1.c (reload): Ditto.
+	* local-alloc.c (update_equiv_regs,block_alloc): Ditto.
+	* sched.c (schedule_block): Dito.
+
+Sun Jun 15 20:46:12 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* dwarf2out.c (dwarf2out_frame_debug): Handle IOR.
+	(struct limbo_die_struct): Define.
+	(TYPE_DECL_IS_STUB): Call decl_ultimate_origin if DECL_ABTRACT_ORIGIN
+	is set.
+	(limbo_die_count): Delete.
+	(libmo_die_list): Define.
+	(new_die): Add die to limbo_die_list instead of incrementing
+	limbo_die_count.
+	(add_AT_location_description): Renamed from add_location_attribute.
+	New parameter attr_kind.
+	(add_location_or_const_value_attribute, gen_subprogram_die,
+	add_bound_info): Change call to add_AT_location_description.
+	(add_bound_info): Add call to contains_placeholder_p.  Ignore
+	MAX_EXPR and VAR_DECL.
+	(add_subscript_info): Ignore the index type if it is an unnamed
+	integral type.
+	(scope_die_for): Move check for function-local tags after code setting
+	containing_scope, and add check for non-NULL containing_scope
+	(add_type_attribute): If unnamed type, use TREE_TYPE instead.
+	(gen_enumeration_type_die, gen_struct_or_union_type_die): Call
+	add_child_die if die_parent is NULL.
+	(gen_subprogram_die): Ifdef out DW_AT_static_link code.
+	(decls_for_scope): Delete decrement of limbo_die_count.
+	(dwarf2out_finish): Add code to traverse the limbo_die_list, and
+	call add_child_die if die_parent is NULL.  Delete limbo_die_count code.
+	* mips.c (mips_expand_prologue): If tsize_rtx is large_int, emit two
+	insns instead of one splitable insn, setting RTX_FRAME_RELATED_P.
+
+Fri Jun 13 19:33:35 1997  Brendan Kehoe  <brendan@cygnus.com>
+
+	* fixincludes: Also fix AIX NULL macro in sys/{dir,param,types}.h.
+
+Thu Jun 12 22:53:12 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* m68k.md (mov[qhs]i): Remove pair of constraints which allow
+	offsetable memory addresses to be moved to the same for TARGET_5200.
+
+Thu Jun 12 15:33:01 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (SELECT_RTX_SECTION): Place symbolic operands into the
+	data section.
+
+	* pa.c (emit_move_sequence): Rewrite code to handle arithmetic
+	involving plabels.
+
+Wed Jun 11 08:57:14 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* tree.c (unsave_expr_now): Avoid recursing into the parts of
+	the tree that are RTL.
+
+Thu Jun 12 09:43:55 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* reorg.c (emit_delay_sequence): Call set_new_first_and_last_insn
+	after the new sequence insn has been spliced into the insn chain.
+
+Wed Jun 11 23:10:49 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.md (call, call_value): Use "call" instead of "calls"
+	for calls to named functions.
+
+Wed Jun 11 00:22:34 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* configure, configure.in: Restore changes from Feb 15 to Apr 13
+	lost during conversion to autoconf.
+
+Tue Jun 10 18:23:35 1997  Mike Stump  <mrs@cygnus.com>
+
+	* stmt.c (expand_decl_cleanup): Avoid core dumping when exceptions
+	aren't on.
+	
+Tue Jun 10 18:22:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* collect2.c (extract_string): New fn.
+	(main): Use it.
+
+Tue Jun 10 17:40:15 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (emit_group_load): Add case using gen_lowpart. 
+
+Tue Jun 10 17:14:58 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.c (rs6000_override_options): If -mcpu=403, set
+	-mstrict-align as well.
+
+	* rs6000/t-ppc{,gas} (MULTILIB_EXTRA_OPTS): Build libraries with
+	-mstrict-align.
+
+	* configure.in ({powerpc,rs6000}*-*-*): Add embedded targets to
+	--with-cpu=n support.
+
+Tue Jun 10 07:06:12 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* flow.c (mark_used_regs): Fix typo in Jun 4 change.
+
+Mon Jun  9 20:26:26 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (MAYBE_USE_COLLECT2): Renamed from MAYBE_USE_COLLECT.
+
+Mon Jun  9 19:42:21 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* fold-const.c (fold): Don't do COND_EXPR -> MIN_EXPR folding if it
+	loses information that might be needed by a later use as an lvalue.
+
+Mon Jun  9 19:10:50 1997  Alexandre Oliva <oliva@dcc.unicamp.br>
+
+	* configure.in: Don't override a user's setting for prefix
+	on platforms that use the native prefix.
+
+Mon Jun  9 19:00:49 1997  Brendan Kehoe  <brendan@melange.gnu.ai.mit.edu>
+
+	* integrate.c (expand_inline_function): Use the mode of FNDECL's
+	result rtl, not the result type itself, in setting ARRIVING_MODE.
+
+	* reload1.c (reload): Use xmalloc instead of alloca for the label
+	offsets in OFFSETS_AT and OFFSETS_KNOWN_AT.
+
+Mon Jun  9 15:16:52 1997  Mike Stump  <mrs@cygnus.com>
+
+	* flow.c (find_basic_blocks): Eliminate more dead code, enables
+	dead throws to be eliminated.
+
+Mon Jun  9 17:15:50 1997  Stephen L Moshier  <moshier@world.std.com>
+
+	* alpha.c (check_float_value):  Underflow and overflow constants
+	are different for FLOAT_VAX and default targets.
+
+Mon Jun  9 16:48:21 1997  Scott Christley <scottc@net-community.com>
+
+	* Makefile.in (Makefile): Process language fragments.
+	* configure.frag: New file.
+	* configure.in: Move language fragment processing to configure.lang.e
+
+	* Makefile.in (GCC_PASSES): Prevent all compilers from being
+	built when only the C compiler is needed.
+
+	* configure.in (cross_overrides, build_overrides): Use absolute
+	path to GCC top-level source directory.
+
+	* configure.in: Save target alias for language directories.
+
+	* configure.in (with-gxx-include-dir): New parameter for
+	setting the g++ header file directory.
+	* Makefile.in (gxx_include_dir): Use autoconf variable.
+
+	* configure.in: Add parameter for setting local prefix.
+
+	* configure.lang: New file.
+	* configure.in: Move language subdirectory Makefile processing
+	into configure.lang.
+
+Mon Jun  9 16:44:47 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* sched.c (attach_deaths): Fix typo in Jun 4 change.
+
+Mon Jun  9 15:13:00 1997  Marc Lehmann  (pcg@goof.com)
+
+	* varasm.c (assemble_end_function): Switch back to function
+	section after outputting constant pool.
+
+Mon Jun  9 14:47:22 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* tree.c (change_main_variant): Remove unused function.
+	(build_array_type): Remove obsolete references to
+	change_main_variant.
+	* c-decl.c (complete_array_type): Likewise.
+
+	* c-common.c (c_build_type_variant): Don't futz with main type
+	variant of array since C Standard requires main type variant of
+	array-of-const also be array-of-const.
+
+	* Makefile.in: Comment out lines containing just formfeeds.
+
+	* Makefile.in (distclean): Remove config.bak.
+	(maintainer-clean): Output warning.
+	Do not remove `configure'.
+
+Mon Jun  9 14:44:17 1997  J.T. Conklin  <jtc@netbsd.org>
+
+	* configure.in (*-*-netbsd): Restore changes of Apr 13th lost in
+	autoconf conversion: tmake_file now t-netbsd; delete xmake_file.
+
+Mon Jun  9 14:39:29 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* expr.c (expand_builtin, case BUILT_IN_FRAME_ADDRESS):
+	Use correct function name in error message.
+
+	* Makefile.in (diff): Exclude bi-parser.h.
+
+	* i386.h (CC1_CPU_SPEC): Renamed, was CC1_SPEC.
+	(CC1_SPEC): New macro.
+	(EXTRA_SPECS): Add "cc1_cpu".
+	* i386/linux.h (CC1_SPEC): New macro.
+
+Mon Jun  9 13:23:06 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k/next.h (TARGET_DEFAULT): Use MASK_68040,
+	not MASK_68040_ALSO.
+	* m68k/mot3300.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
+
+	* m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Test #ifdef __mcf52000__,
+	not if (TARGET_52000); fixed for mc68000 case.
+
+	* m68k/mot3300.h (CPP_SPEC): Define __mc68020__ if no -m[c]68000
+	command-line option given.
+
+Mon Jun  9 09:19:17 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* Makefile.in (target_alias): Substitute with target_alias.
+
+	* final.c (final_scan_insn): Use single_set to check cc_status.flags.
+
+Mon Jun  9 09:09:07 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* c-common.c (check_format_info): Correct handling of the 'a' flag
+	which adds another pointer level.
+
+Sun Jun  8 00:34:25 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (conditional branch insns): Get length right for branches
+	to targets which can not be reached with a "bl" instruction.
+	* pa.c (output_cbranch): Handle branches to targets which can not
+	be reached with a "bl" instruction.
+
+        * pa.md (alternate dbra pattern): Remove incorrect pattern.
+
+Sat Jun  7 23:30:25 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (struct defer_plab): Renamed to struct deferred_plabel.
+	Remove "symbol" field and replace with "name" field.
+	(output_function_epilogue): Don't output deferred plabels here.
+	(output_deferred_labels): New function.  Output them here instead.
+	(output_call): Rewrite long call support.
+	* pa.h (ASM_FILE_END): Define.
+	(LEGITIMATE_CONSTANT_P): Never accept a function_label_operand.
+	* pa.md (HIGH and LO_SUM of function address): Remove patterns.
+
+Fri Jun  6 16:09:04 1997  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__eh_ffetmnpc): Add support for machines that cannot
+	access globals after throw's epilogue when -fno-sjlj-exceptions is
+	used.
+	* rs6000.c (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
+	* mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
+	(INITIAL_ELIMINATION_OFFSET): Fix RETURN_ADDRESS_POINTER_REGNUM
+	for 64 bit words, with 32 bit pointers and variable endianness.
+
+Fri Jun  6 17:27:58 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* regclass.c (allocate_reg_info): Fix off by one error.
+
+Fri Jun  6 17:17:41 1997  Doug Evans  <dje@cygnus.com>
+
+	* basic-block.h (EXECUTE_IF_SET_IN_REG_SET): Fix setting of scan_rs_.
+	(EXECUTE_IF_SET_AND_RESET_IN_REG_SET): Likewise.
+	(EXECUTE_IF_AND_IN_REG_SET): Likewise.
+	(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
+
+Fri Jun  6 15:42:59 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (notice_cc_update): Set CC_FCOMI is this is a float compare.
+
+Fri Jun  6 15:12:38 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* basic-block.h (REG_SET_TO_HARD_REG_SET): Fix typo.
+
+	* sched.c (update_flow_info): When add extra REG_DEAD note for original
+	dest, handle case where last insn both uses and sets dest.
+
+Thu Jun  5 22:19:36 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* fixinc.irix: Add declaration of __vfork to unistd.h.
+
+	* i960/vx960-coff.h (CPP_SPEC): Always define CPU, even if they
+	use -ansi; the VxWorks headers assume it's always present.
+	* sparc/vxsparc.h (CPP_SPEC): Define, adding the CPU definition to
+	what came from sparc.h.
+	(CPP_PREDEFINES): Don't define it here.
+
+Thu Jun  5 13:40:33 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* basic-block.c (OBSTACK_ALLOC_REG_SET): Rename from
+	OBALLOC_REG_SET.  Add obstack pointer parameter.
+
+	* flow.c (function_obstack): Add declaration.
+	(life_analysis): Don't allocate the space to hold to vector of
+	regsets here.
+	(init_regset_vector): Add pointer parameter and delete space
+	paramter.  Use OBSTACK_ALLOC_REG_SET to allocate.  Change callers.
+	(propagate_block): Use ALLOCA_REG_SET instead of bare alloca.
+
+	* sched.c (schedule_block): Fix typo in yesterday's changes.
+	* reorg.c (mark_target_live_regs): Ditto.
+
+Thu Jun  5 09:44:49 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* sh.c (trap_exit, sp_switch): New variables.
+	(print_operand, case '@'): If trap_exit is nonzero, then use
+	a trapa instead of an rte/rts to exit the current function.
+	(sh_expand_prologue): Switch stacks at function entry as needed.
+	(sh_expand_epilogue): Similarly at function exit.
+	(function_epilogue): Clear trap_exit and sp_switch too.
+	(sh_valid_machine_decl_attribute): New function.
+	* sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
+	(sp_switch): Declare.
+	* sh.md (sp_switch_1, sp_switch_2): New named patterns.
+
+Wed Jun  4 18:11:14 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* basic-block.h (REGSET_ELT_BITS): Make this explicitly unsigned, so
+	that division and modulus of REGSET_ELT_BITS uses a pure shift.
+	(*_REG_SET): New macros to abstract the register set interface.
+
+	* caller-save.c (save_call_clobbered_regs): Use new *_REG_SET
+	macros.
+	* flow.c (life_analysis,propagate_block,insn_dead_p): Ditto.
+	(regno_uninitialized,regno_clobbered_at_setjmp,mark_set_1): Ditto.
+	(mark_used_regs,dump_flow_info,global_conflicts): Ditto.
+	global.c (mark_elimination): Ditto.
+	* reorg.c (mark_target_live_regs): Ditto.
+	* sched.c (sched_{analyze_{1,insn},note_set}): Ditto.
+	(birthing_insn_p,attach_deaths,unlink_notes,schedule_block): Ditto.
+
+	* sched.c (sometimes structure): Delete offset, bit fields, replace
+	with regno.
+	(new_sometimes_live): Take regno argument, not offset and bit.
+	Change all callers.
+
+Tue Jun  3 19:18:36 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* fixincludes: Fix AIX NULL macro use of void*.
+
+Tue Jun  3 15:21:04 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* sparc.h (ASM_OUTPUT_MI_THUNK): Handle -fpic.
+
+Mon Jun  2 16:53:53 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* loop.c (n_times_{set,used}): Make type int, not short.
+	(scan_loop): n_times{set,used} are now int pointers.
+
+	* sched.c (sched_reg_n_deaths): Remove unused variable.
+	(struct sometimes): Make fields int sized, not short.
+	(schedule_insns): Don't set sched_reg_n_deaths, nobody uses it.
+
+	* regclass.c (allocate_reg_info): Allocate the space for
+	reg_renumber, but don't set reg_renumber unless new argument
+	RENUMBER_P is set.  If this is the first call for the function and
+	we need to grow space, use free/xmalloc instead of realloc since we
+	will be initializing the whole array.  If number of registers is <
+	0, just free up the space.
+	(reg_scan): Update allocate_reg_info call.
+
+	* regs.h (allocate_reg_info): Change prototype.
+
+	* flow.c (allocate_for_life_analysis): Update allocate_reg_info
+	call.
+
+	* local-alloc.c (local_alloc): Call allocate_reg_info to allocate
+	and initialize the reg_renumber array.
+	* stupid.c (stupid_life_analysis): Ditto.
+
+Mon Jun  2 14:50:06 1997  Dave Miller  <davem@jenolan.rutgers.edu>
+
+	* sparc/sparc.md (v9 eq/ne cond move patterns): Add early clobber
+	constraint to destination.
+
+Fri May 30 11:00:44 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* regs.h (reg_info): New structure to group the arrays indexed by
+	register number created by reg_scan and flow_analysis that are
+	globally visiable.
+	(reg_n_info): Pointer to the register information array.
+	(reg_n_{refs,sets,deaths,calls_crossed}): Delete variables.
+	(reg_changes_size): Ditto.
+	(REG_N_{REFS,SETS,DEATHS,CALLS_CROSSED}): New macros to reference
+	reg_n_info.
+	(REG_{CHANGES_SIZE,{FIRST,LAST,LAST_NOTE}_UID}): Ditto.
+	(allocate_reg_info): Add declaration.
+
+	* basic-block.h (reg_basic_block): Delete.
+	(REG_BASIC_BLOCK): Use reg_n_info structure.
+
+	* caller-save.c: Change all references to the above arrays to use
+	the corresponding macro to access the reg_n_info array.
+	* combine.c, cse.c, flow.c, global.c, jump.c, local-alloc.c: Ditto.
+	* loop.c, regclass.c, reload1.c, sched.c, stupid.c, unroll.c: Ditto.
+
+	* regclass.c (allocate_reg_info): New function to allocate the
+	reg_info array and initialize the appropriate fields.
+	(reg_scan): Call it.
+
+	* flow.c (allocate_for_life_analysis): Call allocate_reg_info to do
+	the actual allocation.
+
+Thu May 29 15:42:59 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.md (movsfcc_1, movdfcc_1, movxfcc_1): Use singlemove_string
+	for float conditional move when destination and operands all differ.
+	
+	* i386.h (ASM_OUTPUT_REG_{PUSH,POP}): add %% before register name.
+
+	* go32.h (ASM_OUTPUT_ALIGN): Use .p2align, not byte alignments. 
+
+Wed May 28 20:44:00 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (push_eh_entry): Eliminate start of exception region
+	label, as it isn't used.  Rename end_label to outer_context.
+	(expand_eh_region_start_for_decl): Likewise.
+	(expand_leftover_cleanups): Likewise.
+	(expand_start_all_catch): Likewise.
+	* except.h (eh_entry): Likewise.
+	* except.c (expand_eh_region_end): Likewise.  Jump around the nop
+	that we insert, so that we can optimize it away, if it is unused,
+	also so that flow analysis can tell if we fall through to the end
+	of a function or not so that it can know if a function that returns
+	a value, in fact does or not.
+
+Wed May 28 10:50:09 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (jump): Handle out of range unconditional jump
+	when not optimizing.
+
+Thu May 22 00:57:07 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* reload1.c (reload_cse_record_set): Ignore values for SREG if
+	their mode is narrower than DEST_MODE.
+
+	* pa.h (DFMODE_RETURN_STRING): Define.
+	(SFMODE_RETURN_STRING): Likewise.
+	(ASM_DECLARE_FUNCTION_NAME): Use them.
+
+Wed May 21 23:32:02 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.md (reload_insi): Handle SUBREG properly.
+
+Tue May 20 22:32:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (dwarf2out_def_cfa): Set cfa_reg at the top.
+
+Tue May 20 16:57:50 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* cplus-dem.c (do_type): Handle `J'.
+	(demangle_fund_type): Print "complex" for it.
+
+Mon May 19 21:01:53 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* m68k.c (output_move_qimode): Add coldfire support.
+	* m68k.h (PUSH_ROUNDING): Add coldfire support.
+	* m68k.md (scc0_di, scc_di, seq, sne, sgt, sgtu, slt, sltu, sge, sgeu,
+	sle, sleu): Add coldfire support.
+
+Mon May 19 17:53:34 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.c: (rs6000_pic_func_labelno): New variable to hold
+	the pic label number for the function's LCL label.
+	(rs6000_output_load_toc_table): Use it.
+	(output_prolog): Store current value.
+
+Sun May 18 16:32:08 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* config/dbxcoff.h (ASM_OUTPUT_SOURCE_LINE): Use the macros
+	ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL to create/output the line
+	number label.
+
+Sun May 18 13:55:12 1997  John Vickers (john@rhizik.demon.co.uk)
+
+        * m68k.h (TARGET_SWITCHES): Add new target name, cpu32.
+
+Sun May 18 13:50:10 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* cccp.c (VMS_write, VMS_read): Delete.
+	(safe_write): If MAX_WRITE_LEN is defined, limit
+	incremental write attempts to that amount.
+	(safe_read): Analogous situation for MAX_READ_LEN.
+	* cpplib.c (safe_read): Likewise.
+	* vax/xm-vms.h (MAX_WRITE_LEN, MAX_READ_LEN): Define.
+
+	* vax/xm-vms.h (get_dynamic_handler_chain_libfunc): New macro.
+	(protect_cleanup_actions_with_terminate): New macro.
+
+Sun May 18 08:50:25 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k/linux.h (ASM_COMMENT_START): Define.
+	* m68k/linux-aout.h (ASM_COMMENT_START): Define.
+
+	* reload1.c (reload_cse_regno_equal_p): Check for value using more
+	than one register on a big endian machine.
+
+Sun May 18 08:39:59 1997  Vince Del Vecchio  <vdelvecc@spd.analog.com>
+
+	* loop.c (maybe_eliminate_biv_1): In (set (cc0) <biv>) case,
+	swap compare operands when mult_val < 0 in one additional place.
+
+Sun May 18 08:33:30 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* dwarf2out.c (ASM_COMMENT_START): Add default definition.
+
+	* Makefile.in (maintainer-claean): Delete configure.
+
+Sun May 18 08:31:59 1997  Scott Christley <scottc@net-community.com>
+
+	* configure.in: New file.
+	* Makefile.in: Change to utilize autoconf variables.
+	* configure: Now an output file.
+
+Sun May 18 07:48:31 1997  J.T. Conklin  <jtc@netbsd.org>
+
+	* m68k.md (mov[qhs]i,movstrict[qs]i, mulsi3): Use 'Q' constraint
+	for TARGET_5200.
+	* m68k.h (EXTRA_CONSTRAINT): New macro. 
+
+	* m68k.h (TARGET_SWITCHES): Add 68020-60.
+	Mask out bits which indicate a particular processor when a different
+	processor is selected.
+	(MASK_68040_ALSO): Remove.
+	(MASK_68040): Change to be a single bit.
+
+	* m68k.h (TARGET_ALIGN_INT, MASK_ALIGN_INT): New macros.
+	(BIGGEST_ALIGNMENT): Determine according to TARGET_ALIGN_INT.
+	(TARGET_SWITCHES): Add align-int and no-align-int.
+
+	* m68k.md (mov[qhs]i}): Add pair of constraints which allow
+	offsetable memory addresses to be moved to the same for TARGET_5200.
+
+	* m68k.c (output_move_strict{hi,qi}): New functions.
+	* m68k.h (output_move_strict{hi,qi}): Declare.
+	* m68k.md (movstrict*): Changed into define_expands.
+	Split insns into m68k and coldfire specific versions with appropriate
+ 	constraints.
+
+Sun May 18 07:26:40 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* libgcc2.c (atexit): Cast malloc and realloc calls.
+
+Sat May 17 16:26:51 1997  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+
+	* final.c (profile_function): Call function_section, not
+	text_section.
+
+Sat May 17 16:01:00 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* cse.c (notreg_cost): New function, extracted from COST macro.
+	(COST): Use notreg_cost.
+
+Sat May 17 15:13:23 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* cse.c (cse_insn): Don't record a SRC that's a MEM and the same
+	as a REG_EQUIV note if DEST is set more than once.
+
+Fri May 16 14:50:57 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (output_move_double): Handle loading a general register
+	from a scaled indexed memory address.
+	* pa.md (movdf, movdi): Allow scaled loads into general registers.
+
+Fri May 16 13:31:08 1997  Mike Stump  <mrs@cygnus.com>
+
+	* rs6000.c (rs6000_stack_info): Only do eabi setup for "main",
+	when main is the global main, not some nested routine that
+	happens to be called main.
+
+Thu May 15 17:19:50 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (expand_start_all_catch): If the machine needs to
+	perform any actions at the start of an expcetion handler that
+	hasn't already been done, use gen_exception_receiver to emit it.
+	(expand_leftover_cleanups): Likewise.
+	* alpha/alpha.md (exception_receiver): Use it.
+	* pa/pa.h (exception_receiver): Use it.
+
+Thu May 15 08:36:59 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* dbxout.c (dbxout_function_end): Don't subtract one from
+	the end of function scoping stab.
+
+Wed May 14 23:27:09 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.md (adddi3, subdi3): Remove expanders and patterns.
+
+Wed May 14 18:51:35 1997  Mike Stump  <mrs@cygnus.com>
+
+	* function.c (expand_function_end): Make sure we finish off any
+	leftover exception handlers.
+
+Tue May 13 14:07:01 1997  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_builtin_setjmp): Remove setting of
+	current_function_has_nonlocal_goto, as this isn't a goto.
+
+Tue May 13 14:47:40 1997  Richard Earnshaw (rearnsha@cambridge.arm.com)
+
+	* arm.h (CPP_SPEC): Fix typo invoking cpp_endian.
+	* arm/t-semi (LIB2FUNCS_EXTRA): Build fp-bit.c when compiling
+	with -msoft-float.
+	* arm.c: Add prototypes for all static functions.
+	(output_multi_immediate, int_log2): Make static.
+
+	* arm.h (*_SPEC): Remove all references to mle/mbe.
+	* arm/coff.h (MULTILIB_DEFAULTS): Likewise.
+	* arm/t-bare (MULTILIB_OPTIONS): Change options mbe/mle to mbig-endian
+	and mlittle-endian.
+	(MULTILIB_MATCHES): Nothing matches that matters.
+
+Mon May 12 20:42:20 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (expand_start_all_catch): If the machine needs a
+	nonlocal_goto_receiver, add one at the start of the exception
+	handler.
+	(expand_leftover_cleanups): Likewise.
+
+Mon May 12 17:36:28 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mips.c (move_operand): Accept any general operand after reload
+	has started.
+
+Fri May  9 14:29:33 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.md (udivmodhi4, divmodhi4): Remove expander, give
+	corresponding pattern [u]divmodhir4 name.  Clear MDR register
+	in the udivmodhi4 pattern itself.
+	(clear_mdr): Delete pattern.
+
+Thu May  8 18:20:30 1997 Richard Earnshaw (rearnshaw@cambridge.arm.com)
+
+	* arm/aout.h (ASM_OUTPUT_LONG_DOUBLE): Delete call to 
+	arm_increase_location.
+	(ASM_OUTPUT_{DOUBLE,FLOAT,INT,SHORT,CHAR,BYTE,ASCII,SKIP}): Likewise.
+	(ASM_OUTPUT_ALIGN): Delete all code refering to arm_text_location.
+
+	* arm.c (arm_increase_location, get_prologue_size): Delete.
+	(arm_naked_function_p): Add declaration.
+	(arm_pic_register): Define.
+	(all_procs): Delete entries for arm{60,620,70,7d,7di,700i,710c}; add
+	entries for arm{7m,7500fe,8}, strongarm and strongarm110.
+	(arm_override_options): Rework so that configure can properly set
+	the default processor type. Add a warning that PIC code is not yet 
+	supported.
+	(legitimate_pic_operand_p, legitimize_pic_address): New functions.
+	(is_pic, arm_finalize_pic): New functions.
+	(arm_adjust_cost): New function.
+	(const_pool_offset, arm_backwards_branch, short_branch): Delete.
+	(arm_insn_not_targeted): Delete.
+	(add_constant): If generating AOF syntax, then handle pic specially.
+	(output_ascii_pseudo_op): Delete calls to arm_increase_location.
+	(function_really_clobbers_lr): Calls followed by a barrier don't
+	clobber the link register.
+	(output_func_prologue): Handle AOF syntax pic code.
+	(output_func_epilogue): Handle cases where lr_save_eliminated is set.
+	Delete call to arm_increase_location.
+	(arm_asm_output_label): Simplify, since we no-longer need to cache the
+	label's address.
+	(aof_pic_entry): New function to keep track of pic symbols.
+	(aof_dump_pic_table): New function.
+
+	* arm.h (TARGET_CPU_arm*, TARGET_CPU_strongarm*, TARGET_CPU_generic):
+	define.
+	(CPP_ARCH_DEFAULT_SPEC): Set up based on setting of TARGET_CPU_DEFAULT.
+	(CPP_SPEC): Split up into sub-rule calls.
+	(CPP_CPU_SPEC): Add default definition.
+	(CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC): Add definitions.
+	(CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC): Add definitions.
+	(CPP_ENDIAN_SPEC, CPP_ENDIAN_DEFAULT_SPEC): Add definitions.
+	(CC1_SPEC): Map legacy -m[236] onto -mcpu=.. and -mapcs-{26,32} as
+	appropriate. Similarly for -mbe and -mle to -m{big,little}-endian.
+	(EXTRA_SPECS): Define.
+	(enum processor_type): New types for arm8 and strongarm.
+	(CONDITIONAL_REGISTER_USAGE): Handle flag_pic.
+	(LEGITIMIZE_ADDRESS): Likewise.
+	(ADJUST_COST): Define.
+	(PIC_OFFSET_TABLE_REGNUM): Define.
+	(FINALIZE_PIC): Define.
+	(LEGITIMATE_PIC_OPERAND_P): Define.
+	(OUTPUT_INT_ADDR_CONST): Define.
+	(ASM_OUTPUT_MI_THUNK): Delete calls to arm_increase_location.
+	(MASK_RETURN_ADDR): Use TARGET_APCS_32 not TARGET_6.
+
+	* arm.md (attr cpu): Add new cpu types for arm8 and strongarm.
+	(attr ldsched): New attribute, set if processor has a load_delay slot.
+	(function_unit core): Rework to handle load delay slots.
+	(function_unit loader): New function unit.
+	(movsi): Handle pic.
+	(pic_load_addr): New expand.
+	(*pic_load_addr_based_insn, pic_add_dot_plus_eight): New patterns.
+	(peepholes to cause flow to return to a label after a function call):
+	Delete, these have been disabled for a while now.
+
+	* arm/riscix.h (CPP_SPEC): Rewrite using new sub-components.
+	(SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
+	* arm/riscix1-1.h (CPP_SPEC): Rewrite using new sub-components.
+	(SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.
+	* arm/semi.h: (CPP_SPEC): Delete.
+	(PROCESSOR_DEFAULT): Delete.
+	(CPP_APCS_PC_DEFAULT_SPEC): Define.
+	* arm/semiaof.h (CPP_SPEC): Delete.
+	(CPP_APCS_PC_DEFAULT_SPEC): Define.
+	* arm/t-semi (LIBGCC1_TEST): Don't build it.
+	(MULTILIB_{OPTIONS,DIRNAMES,EXCEPTIONS}): Build a suitable set of
+	cross libraries.
+	(LIBGCC): Set to stmp-multilib.
+	(INSTALL_LIBGCC): Set to install-multilib.
+
+Thu May  8 15:20:46 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (output_float_compare): For pentiumpro use fcomip
+	followed by a float stack pop for "compare;pop;pop" cases.
+
+Thu May  8 13:20:20 1997  Chris Torek  <torek@elf.bsdi.com>
+
+	* fold-const.c (fold, truth_andor): Disable optimization for 
+	side effects on RHS.
+
+Wed May  7 15:43:57 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (start_dynamic_handler): Fix so that we can use
+	__builtin_setjmp, and default to using __builtin_setjmp instead of
+	setjmp.
+	* expr.c (expand_builtin_setjmp): New routine, split out from
+	existing inline code from expand_builtin.
+	(expand_builtin): Split out code into expand_builtin_setjmp.
+	* expr.h (expand_builtin_setjmp): Add declaration.
+	* libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead
+	of setjmp.
+	(__sjpopnthrow): Likewise.
+	* optabs.c (init_optabs): Likewise.
+
+Wed May  7 18:01:24 1997  Samuel Figueroa  <Samuel_Figueroa@next.com>
+
+	* rs6000.md (insv): Only combine insert with shift if
+	remaining source bits >= destination field size.
+
+Tue May  6 15:48:52 1997  Jason Merrill  <jason@gerbil.cygnus.com>
+
+	* dwarf2out.c (dwarf2out_begin_prologue): Increment
+ 	current_funcdef_number here.
+	(dwarf2out_end_epilogue): Not here.
+
+Mon May  5 18:52:32 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
+	(shift_one, shift_two): Set CC_NO_CARRY as needed.  Remove
+	references to CC_OVERFLOW_0.
+	(emit_a_shift): Similarly.
+	* h8300.h (CC_OVERFLOW_0): Remove.
+	* h8300.md: Use set_zn and set_znv for cc0 tracking.
+	(bCC): Restore the comparison is CC_OVERFLOW_UNUSABLE is set and
+	the comparison needs the overflow bits.
+
+	* mn10300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
+	* mn10300.h (CC_NO_CARRY): Define.
+	* mn10300.md: Use "set_zn" and "set_znv" to more accurately
+	describe cc0 status.
+
+Fri May  2 17:00:33 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c: Reorganize, moving .debug_frame support to the top
+	of the file, and compile it if INCOMING_RETURN_ADDR_RTX is defined
+	even if DWARF2_DEBUGGING_INFO isn't.
+	(EH_FRAME_SECTION): New macro.
+	(output_call_frame_info): Handle .eh_frame variant.
+	(dwarf2out_def_cfa): Update cfa_*{reg,offset}.
+	(dwarf2out_frame_debug): Move cfa_*{reg,offset} to file scope.
+	(dwarf2out_end_epilogue): Increment current_funcdef_number here.
+	(dwarf2out_decl): Not here.
+	(dwarf2out_frame_init, dwarf2out_frame_finish): New fns.
+	(dwarf2out_init, dwarf2out_finish): Call them.
+	(output_die): Add missing 'case 8:'
+	(dwarf2out_decl): Revert other context_die = NULL change.
+	(add_bound_info): Restore default case.
+
+Fri May  2 15:30:16 1997  Doug Evans  <dje@seba.cygnus.com>
+
+	* m32r/m32r.h (LIT_NAME_P): New macro.
+	(SMALL_NAME_P): Use it.
+	(ASM_OUTPUT_ALIGNED_COMMON): Don't output to scommon if -msdata=none.
+	* m32r/m32r.c (addr24_operand): Handle literals.
+	(m32r_output_function_prologue): Use IMMEDIATE_PREFIX.
+	(m32r_output_function_epilogue): Likewise.  Use shorter add insn if
+	able.
+
+Fri May  2 14:40:44 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (RS6000_ALIGN): Macro renamed from ALIGN.
+	* rs6000.c (rs6000_stack_info): Use it.
+
+Fri May  2 14:15:54 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (reload_cse_noop_set_p): When checking the values
+	equivalent to sreg, make sure the mode is right.
+
+Fri May  2 12:53:03 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* reload1.c (reload_cse_invalidate_regno): Properly set
+	the mode for invalidate_regno_rtx.
+
+Thu May  1 14:57:35 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (call_internal_symref): Fix typo.
+
+Thu May  1 14:44:17 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (mips_asm_file_start): Use new macro TARGET_FILE_SWITCHING.
+	(mips_asm_file_end): Likewise.
+	* mips.h (TARGET_FILE_SWITCHING): Define.
+	(NO_DBX_FUNCTION_END): Define.
+
+Thu May  1 09:08:40 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.c (output_addsi3): Replace "\\;" by "\n\t" in
+	assembler templates.
+
+Thu May  1 09:00:42 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* integrate.c (subst_constants, case SUBREG): Cancel changes once
+	done with result.
+
+Wed Apr 30 19:45:56 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (override_options): Set mips_split_addresses only if
+	TARGET_SPLIT_ADDRESSES is set.
+	* mips.h (MASK_SPLIT_ADDR, TARGET_SPLIT_ADDRESSES): New macros.
+	(TARGET_SWITCHES): Add -msplit-addresses, -mno-split-addresses.
+	* configure (mips*-*-ecoff*, mips*-*-elf*): Set MASK_SPLIT_ADDR
+	bit in target_cpu_default2.
+
+	* flags.h (current_function_is_thunk): Add extern to declaration.
+
+	* dbxout.c (dbxout_function): Test NO_DBX_FUNCTION_END at run time
+	instead of compile time.
+
+	* unroll.c (set_dominates_use): In second loop, add check for copy_end.
+
+	* mips.md (paradoxical_extendhidi2, paradoxical_extendqidi2): New
+	patterns.
+
+Wed Apr 30 02:23:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* output.h (named_section): Add reloc argument.
+	(DECL_READONLY_SECTION): New macro.
+	* varasm.c (named_section): Add reloc argument, pass it to
+ 	ASM_OUTPUT_SECTION_NAME.
+	(UNIQUE_SECTION, UNIQUE_SECTION_P): Provide defaults.
+	(function_section): Pass reloc argument to named_section.
+	(variable_section, exception_section): Likewise.
+	(output_constant_def_contents): Likewise.
+	(assemble_start_function): Use UNIQUE_SECTION_P.  UNIQUE_SECTION is
+ 	now a statement.
+	(assemble_variable): Likewise.
+	* mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Add reloc arg,
+ 	use DECL_READONLY_SECTION.
+	* psos.h, ptx4.h, a29k.h, alpha/elf.h, arm/coff.h, h8300.h: Likewise.
+	* i386/go32.h, i386/sco5.h, m68k/coff.h, mips/elf64.h: Likewise.
+	* mips/netbsd.h, pa.h, rs6000/sysv4.h, sh.h, sparc/sysv4.h: Likewise.
+	* config/svr4.h	(SELECT_SECTION): Use DECL_READONLY_SECTION.
+	(ASM_OUTPUT_SECTION_NAME): Likewise, add reloc argument.
+	(MAKE_DECL_ONE_ONLY): Just set DECL_WEAK.
+	(UNIQUE_SECTION, UNIQUE_SECTION_P): Define.
+	* i386/cygwin32.h (UNIQUE_SECTION_P): Define.
+	(SUPPORTS_ONE_ONLY): Define.
+	(MAKE_DECL_ONE_ONLY): Lose.
+	(ASM_OUTPUT_SECTION_NAME): Add reloc arg, use DECL_READONLY_SECTION.
+	* i386/winnt.c (i386_pe_unique_section): Add reloc arg, 
+	use DECL_READONLY_SECTION.
+
+	* mips/iris6.h (CTORS_SECTION_ASM_OP): Change aligment based on ABI.
+	(DTORS_SECTION_ASM_OP): Likewise.
+
+Tue Apr 29 16:08:07 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa/lib1funcs.asm (divnorm, modnorm, exitdiv): Fix code to
+	negate SImode values.
+
+Tue Apr 29 12:54:14 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (expand_eh_region_start_tree): Add DECL argument so we
+ 	can better track why the region was made for error reporting.
+	* except.h (expand_eh_region_start_tree): Likewise.
+	* tree.h (expand_dhc_cleanup): Likewise.
+	(expand_dcc_cleanup): Likewise.
+	* except.c (expand_eh_region_start_for_decl): New routine.
+	* except.h (expand_eh_region_start_for_decl): Likewise.
+	* stmt.c (expand_decl_cleanup): Add DECL to call of
+	expand_eh_region_start_tree.
+	(expand_dcc_cleanup): Likewise.
+	(expand_dhc_cleanup): Likewise.
+	
+	(expand_start_case): Switches introduce conditional contexts.
+	(expand_start_case_dummy): Likewise.
+	(expand_start_case_dummy): Likewise.
+	(expand_end_case): Likewise.
+
+Tue Apr 29 11:45:09 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (dwarf2out_decl): Undo earlier change.
+	(constant_size): Likewise.
+	(gen_subprogram_die): Handle NULL context_die.
+
+	* mips/iris6.h (ASM_OUTPUT_CONSTRUCTOR): Fix for -mabi=64.
+	(ASM_OUTPUT_DESTRUCTOR): Likewise.
+
+Mon Apr 28 09:10:19 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.c (push_order, pop_order): Add missing initializer
+	entries.
+
+Fri Apr 25 19:39:43 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* h8300.c (output_adds_subs): check for adding 0.
+
+Fri Apr 25 14:52:31 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (i[3456]86-*-freebsdelf*, i[3456]86-*-freebsd*): Use
+	t-freebsd instead of x-freebsd.
+	* i386/t-freebsd: Renamed from x-freebsd.
+
+Fri Apr 25 12:16:20 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* go32.h (DBX_*): Use definitions from config/dbxcoff.h instead.
+
+Fri Apr 25 11:55:54 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i386/cygwin32.h (MULTIPLE_SYMBOL_SPACES): Define.
+
+Thu Apr 24 18:32:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i386/winnt.c (i386_pe_unique_section): New fn.
+	* i386/cygwin32.h (UNIQUE_SECTION): Define.
+	(MAKE_DECL_ONE_ONLY): Define.
+	(ASM_OUTPUT_SECTION_NAME): Support DECL_ONE_ONLY.
+
+	* c-decl.c (implicitly_declare): Don't set DECL_ARTIFICIAL.
+
+Thu Apr 24 17:11:23 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
+	TARGET_5200 support.
+
+Thu Apr 24 16:39:25 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* stmt.c (pushcase_range): Check for null range first.
+
+Wed Apr 23 23:06:28 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (reload_cse_record_set): Use push_operand to check for
+ 	changes to the stack pointer.
+
+Wed Apr 23 19:56:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* calls.c (expand_call): If we're in a thunk, pass through invisible
+ 	references instead of making a copy.
+	* flags.h: Add current_function_is_thunk.
+	* function.c: Likewise.
+	(init_function_start): Initialize it.
+	(push_function_context_to): Save it.
+	(pop_function_context_from): Restore it.
+	* function.h (struct function): Add is_thunk.
+
+Wed Apr 23 17:47:25 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (secondary_reload_class): Handle more cases where we
+	need secondary reloads.
+	(impossible_plus_operand): Accept anything that involves addition
+	of the stack pointer.
+	* mn10300.md (reload_insi): Always load the stack pointer into
+	the destination (which is always an address register).
+	* mn10300.h (STORE_FLAG_VALUE): Remove definition.
+	* xm-mn10300.h: Declare malloc, realloc, calloc and free.
+
+Wed Apr 23 14:28:30 1997  Mike Stump  <mrs@cygnus.com>
+
+	* expr.h (sjthrow_libfunc): Add support for setjmp/longjmp based
+	exception handling.
+	(sjpopnthrow_libfunc): Likewise.
+	(terminate_libfunc): Likewise.
+	(setjmp_libfunc): Likewise.
+	(longjmp_libfunc): Likewise.
+	(get_dynamic_handler_chain_libfunc): Likewise.
+	* expr.c (expand_expr, case TRY_CATCH_EXPR): Likewise.
+	(expand_expr, case POPDCC_EXPR): Likewise.
+	(expand_expr, case POPDHC_EXPR): Likewise.
+	* stmt.c (mark_block_as_eh_region): Likewise.
+	(mark_block_as_not_eh_region): Likewise.
+	(is_eh_region): Likewise.
+	(conditional_context): Likewise.
+	(expand_start_bindings): Likewise.
+	(expand_end_bindings): Likewise.
+	(expand_decl_cleanup): Likewise.
+	(expand_dcc_cleanup): Likewise.
+	(expand_dhc_cleanup): Likewise.
+	(expand_cleanups): Likewise.
+	* tree.h (mark_block_as_eh_region): Likewise.
+	(mark_block_as_not_eh_region): Likewise.
+	(is_eh_region): Likewise.
+	(conditional_context): Likewise.
+	(expand_dhc_cleanup): Likewise.
+	* except.c (exception_via_longjmp): Likewise.
+	(protect_cleanup_actions_with_terminate): Likewise.
+	(current_function_dhc): Likewise.
+	(current_function_dcc): Likewise.
+	(add_partial_entry): Likewise.
+	(get_dynamic_handler_chain): Likewise.
+	(get_dynamic_cleanup_chain): Likewise.
+	(start_dynamic_cleanup): Likewise.
+	(start_dynamic_handler): Likewise.
+	(expand_eh_region_start_tree): Likewise.
+	(expand_eh_region_start): Likewise.
+	(expand_eh_region_end): Likewise.
+	(emit_throw): Likewise.
+	(expand_leftover_cleanups): Likewise.
+	(expand_start_all_catch): Likewise.
+	(expand_end_all_catch): Likewise.
+	(protect_with_terminate): Likewise.
+	(start_eh_unwinder): Likewise.
+	(end_eh_unwinder): Likewise.
+	(init_eh_for_function): Likewise.
+	(save_eh_status): Likewise.
+	(restore_eh_status): Likewise.
+	(exception_optimize): Likewise.
+	* optabs.c (sjthrow_libfunc): Likewise.
+	(sjpopnthrow_libfunc): Likewise.
+	(terminate_libfunc): Likewise.
+	(setjmp_libfunc): Likewise.
+	(longjmp_libfunc): Likewise.
+	(get_dynamic_handler_chain_libfunc): Likewise.
+	(init_optabs): Likewise.
+	* except.h: Likewise.
+	* libgcc2.c (__default_terminate): Likewise.
+	(__terminate): Likewise.
+	(__get_dynamic_handler_chain): Likewise.
+	(__sjthrow): Likewise.
+	(__sjpopnthrow): Likewise.
+	* toplev.c (f_options): Likewise.
+	* tree.def (TRY_CATCH_EXPR): Likewise.
+	(POPDHC_EXPR): Likewise.
+	(POPDCC_EXPR): Likewise.
+	* config/pa/pa.h: JMP_BUF_SIZE define.
+	* config/sparc/sparc.h: JMP_BUF_SIZE define.
+
+	* expr.h (cleanups_this_call): Transform uses of cleanups_this_call
+	into uses of the cleanups managed by the block code
+	(expand_start_bindings and friends).  Remove defer_cleanups_to and
+	expand_cleanups_to, and use start_cleanup_deferal and
+	end_cleanup_deferal instead.  Add exception_region,
+	target_temp_slot_level, conditional_code,
+	last_unconditional_cleanup and cleanup_ptr to struct nesting to
+	facilitate conditional cleanups.
+	* expr.c (cleanups_this_call): Likewise.
+	(init_expr): Likewise.
+	(save_expr_status): Likewise.
+	(restore_expr_status): Likewise.
+	(store_expr): Likewise.
+	(expand_expr): Likewise.
+	(defer_cleanups_to): Likewise.
+	(expand_cleanups_to): Likewise.
+	(do_jump, case TRUTH_ANDIF_EXPR): Likewise.
+	(do_jump, case TRUTH_ORIF_EXPR): Likewise.
+	(do_jump, case COND_EXPR): Likewise.
+	* stmt.c (struct nesting): Likewise.
+	(expand_return): Likewise.
+	(expand_start_bindings): Likewise.
+	(expand_end_bindings): Likewise.
+	(expand_cleanups): Likewise.
+	(start_cleanup_deferal): Likewise.	
+	(end_cleanup_deferal): Likewise.	
+	* tree.h (start_cleanup_deferal): Likewise.
+	(end_cleanup_deferal): Likewise.
+	* calls.c (expand_call): Likewise.
+	* function.h (struct function): Likewise.
+
+	* except.c (asynchronous_exceptions): Support
+	-fasynchronous_exceptions.
+	(can_throw): Likewise.
+	* toplev.c (f_options): Likewise.
+
+	* flags.h (flag_short_temps): Remove support for short temps.
+	* calls.c (expand_call): Likewise.
+	* toplev.c (flag_short_temps): Likewise.
+
+	* stmt.c (expand_start_target_temps): Add for convenience.
+	(expand_end_target_temps): Likewise.
+	* except.c (jumpif_rtx): Likewise.
+	* except.c (jumpifnot_rtx): Likewise.
+
+	* stmt.c: Remove all traces of empty_cleanup_list.
+
+Wed Apr 23 17:26:40 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (reload_cse_mem_conflict_p): Don't assume that a
+	SUBREG can not conflict with a MEM.
+
+Wed Apr 23 09:48:58 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.md (cmphi): Fixed when next CC user is unsigned.
+	(mov[hq]i-[23]): New patterns for mem-indirect moves.
+	(movhf,movtqf): Corrected.
+	* 1750a.c (memop_valid): Memory indirection now valid.
+	(nonindirect_operand): Remove.
+	(print_operand): Fix the 'J' output modifier.
+	* 1750a.h (FRAME_POINTER_REQUIRED): Not required.
+	(INITIAL_FRAME_POINTER_OFFSET,FIX_FRAME_POINTER_ADDRESS): Undefine.
+	(FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Honor -fomit-frame-pointer.
+	(ELIMINABLE_REGS,CAN_ELIMINATE,INITIAL_ELIMINATION_OFFSET): Defined.
+	(PREFERRED_RELOAD_CLASS): Corrected.
+	(CONST_COSTS,ADDRESS_COST,REGISTER_MOVE_COST,MEMORY_MOVE_COST):
+	Slight adjustments.
+	(ASM_APP_ON,ASM_APP_OFF): Corrected.
+	* ms1750.inc (DUCR.M,DUC.M): Defined.
+
+Wed Apr 23 09:41:35 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* reload.c (push_reload): Fix last argument of the call to
+	find_dummy_reload.
+
+Wed Apr 23 09:29:14 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* configure (i[3456]86-next-*, m68k-next-nextstep{2,3}*):
+	Remove out_file and add extra_objs.
+	* config/nextstep.c: Add includes for config.h, stdio.h, and flags.h.
+	* {i386,m68k}/t-next (nextstep.o): New rule.
+	* m68k/next.h: Remove include of machmode.h.
+	* {i386,m68k}/next.c: Files deleted.
+
+Tue Apr 22 20:45:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* sparc.h (DBX_CONTIN_LENGTH): Shrink to 1000.
+
+Tue Apr 22 18:21:20 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* dwarf2out.c (gen_variable_dir):  Add test for DW_AT_declaration to
+	the old_die if statement, and delete assertion for it.
+	(decl_ultimate_origin): Remove last change.
+
+Tue Apr 22 10:22:27 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (expand_prologue): End the current sequence before
+	counting the tst insns in the current function.  Start a new
+	one before emitting any prologue instructions.
+
+	* mn10300.h (REGISTER_MOVE_COST): Bump up cost of moves in the
+	same class.
+
+	* mn10300.md (untyped_call): New expander.
+
+Mon Apr 21 16:30:21 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* cse.c (fold_rtx, case PLUS): When seeing if negative of constant
+	is around, make sure not dealing with largest negative.
+
+Mon Apr 21 13:57:53 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/t-ecoff: Set TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
+
+	* m68k.c (output_addsi3): New function.  From addsi3 pattern.
+	* m68k.h (output_addsi3): Add declaration.
+	* m68k.md (movqi+2): Add address registers.
+	(movxf+1): Disable for TARGET_5200.
+	(movxf+2): New pattern for TARGET_5200.
+	(addsi3): Add define_expand.  Move code to output_addsi3.
+	(addsi3_internal): Renamed from addsi3.  Disable for TARGET_5200.
+	(addsi3_5200): New pattern for TARGET_5200.
+
+Sun Apr 20 10:45:35 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* fold-const.c (operand_equal_p): Constants are not equal if there
+	has been an overflow.
+
+	* toplev.c (compile_file): Shorten "branch-probabilities" in
+ 	output of times.
+
+	* alpha/vms.h (MOD[SD]I3_LIBCALL): Call ots$rem, not ots$mod.
+	(DWARF2_DEBUGGING_INFO): Define.
+
+	* alpha.c (alpha_need_linkage): Call get_identifier.
+
+	* rs6000.c (rs6000_output_load_toc_table): New function.
+	(output_prolog): Call it instead of doing it directly.
+	* rs6000.md (nonlocal_goto_receiver): New pattern.
+
+	* dwarf2out.c: Major cleanup; mostly reformatting.
+	Include expr.h.
+	Undefine inline ifndef __GNUC__; never define to include static.
+	Add "static" to header of all inlined functions.
+	Add declarations for all static functions, with prototypes.
+	(addr_const_to_string): Use HOST_WIDE_INT_PRINT_* macros.
+	(add_AT_*, new_{die,loc_descr,cfi): Don't check for xmalloc
+	returning zero.
+	(modified_type_die): Add missing parm on recursive call.
+	({reg,based}_loc_descriptor): Add missing arg to call to new_loc_descr.
+	(add_const_value_attribute): Use REAL_VALUE_TYPE for fp calculations.
+	(output_call_frame_info): Add missing arg to output_cfi call.
+	(dwarf2out_def_cfa): Local variable OLD_REG must be unsigned long.
+	* Makefile.in (dwarf2out.o): Includes expr.h.
+	
+	* dwarf2out.c: Cast first arg in all calls to bzero to char *.
+	(decl_ultimate_origin): Return NULL if equal to decl.
+	(constant_size): Never return more than 4.
+	(value_format, case 8): New case.
+	(dwarf2out_frame_debug): Use HARD_FRAME_POINTER_REGNUM.
+	(based_loc_descr): Likewise.
+	(add_bound_info): Delete default case.
+	Add cases for CONVERT_EXPR and NON_LVALUE_EXPR; treat like NOP_EXPR.
+	Change NOP_EXPR to to recursive call.
+	(add_type_attribute): Ignore unnamed subtype of integral or FP.
+	(gen_subprogram_die): Use reg_loc_descriptor.
+	(dwarf2out_decl): Ignore nested functions.
+
+	* fix-header.c, protoize.c, gcov.c: Use symbolic codes for exit.
+
+	* final.c (profile_function): Only call ASM_OUTPUT_REG_{PUSH,POP}
+	if defined.
+
+	* expr.c ({move,clear}_by_pieces_1, expand_assignment): Ensure
+	we have unshared rtx before changing flags.
+	(store_{constructor,field}): Likewise.
+	(expand_expr, case COMPONENT_REF): Likewise.
+	(store_expr): Check if TEMP and TARGET are same with rtx_equal_p.
+
+	* emit-rtl.c (change_address, init_emit): Delete forward references.
+	(rtl_obstack, stack_depth, max_stack_depth): Delete extern decls.
+
+Fri Apr 18 18:25:52 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* function.c (instantiate_decls): For DECL_INCOMING_RTL, use max
+	of type size and mode size in instantiate_decl call.
+
+	* fixincludes (sys/lc_core.h): Fix OSF1/4.x namespace pollution.
+
+Wed Apr 16 19:36:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (add_bound_info): Use a DIE instead of a location
+	expression for variable bounds.  Trust a MEM rtx even when
+	optimizing.
+	(DWARF_FRAME_RETURN_COLUMN): Default to FIRST_PSEUDO_REGISTER.
+
+	* expr.c (expand_expr, case RTL_EXPR): If there is no sequence,
+ 	don't set it to const0_rtx.
+	* tree.c (array_type_nelts): Don't return any SAVE_EXPRs.
+
+Mon Apr 14 18:12:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (RS6000_ITRUNC, RS6000_UITRUNC): Prepend underscores.
+	(RS6000_MCOUNT): New macro.
+	(ASM_FILE_START): Use RS6000_MCOUNT.
+	* rs6000.c (output_function_profiler): Use RS6000_MCOUNT.
+	* rs6000/aix31.h (RS6000_{ITRUNC,UITRUNC,MCOUNT}): New macros.
+
+Mon Apr 14 14:37:27 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (can_use_return_insn): Include outgoing argument
+	area in size computation.
+	(expand_prologue): Likewise.  No longer diddle with sequences.
+	Put register saves just before outgoing argument area.
+	(expand_epilogue): Similarly.
+	(impossible_plus_operand): New function.
+	* mn10300.h (FRAME_POINTER_REQUIRED): Never require a frame pointer.
+	(ACCUMULATE_OUTGOING_ARGS, OUTGOING_REG_PARM_STACK_SPACE): Define.
+	(impossible_plus_operand): Declare.
+	* mn10300.md (reload_insi): New expander to handle pathological
+	reload cases.
+	(addsi3): Fix CC status.
+
+	* mn10300.h (FUNCTION_VALUE): Return addresses in $a0.
+	(FUNCTION_VALUE_REGNO_P): Corresponding changes.
+	* mn10300.md (call_value_internal): Allow output to be in an
+	address register.
+
+	* calls.c (emit_library_call): Handle saving of stack slots when
+	ACCUMULATE_OUTGOING_ARGS is defined.
+	(emit_library_call_value): Likewise.
+
+Mon Apr 14 14:48:15 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.md (xtrct_left, xtrct_right): New patterns.
+
+	* combine.c (get_last_value_validate): New argument insn.
+	Add check for memory reference clobbered by later store.
+	(record_value_for_reg, get_last_values): Pass in new argument.
+
+Mon Apr 14 14:03:18 1997  Mike Meissner  <meissner@cygnus.com>
+
+	* configure (powerpc --with-cpu=x): Add embedded powerpcs and 604e.
+
+	* rs6000.c (rs6000_override_options): Recognize -mcpu=801, -mcpu=823,
+	and -mcpu=604e.
+
+Sun Apr 13 18:43:16 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (invalidate_regno_rtx): New static variable.
+	(reload_cse_invalidate_regno): Check whether any earlier registers
+	have a multi-register value which includes the register we are
+	invalidating.
+	(reload_cse_regs): Initialize invalidate_regno_rtx.
+
+	* reload1.c (reload_cse_record_set): When setting reg_values for a
+	copy from one register to another, use gen_lowpart_common to
+	adjust the value correctly if the mode changes.
+
+Sun Apr 13 17:24:48 1997  Doug Evans  <dje@cygnus.com>
+
+	* expr.c (move_block_from_reg): Try using an integral mov operation
+	first.
+
+	* calls.c (expand_call): When copying unaligned values into a register,
+	zero out the register first rather than emitting a clobber.
+
+	* integrate.c (copy_rtx_and_substitute): If FRAME_GROWS_DOWNWARD
+	and regno == VIRTUAL_STACK_VARS_REGNUM,	round size of stack slot up
+	before calling assign_stack_temp.
+
+Sun Apr 13 15:29:38 1997  Ulrich Drepper  <drepper@cygnus.com>
+
+	* enquire.c (fake_f_rep): Add missing element name in cast.
+
+Sun Apr 13 15:20:05 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
+	Fix sign bug in last change.
+
+Sun Apr 13 15:03:38 1997  J.T. Conklin  <jtc@netbsd.org>
+	
+	* m68k.md (movstricthi): Remove extraneous comparisons.
+
+	* configure (*-*-netbsd): tmake_file now t-netbsd; delete xmake_file.
+	* config/t-netbsd: New file.
+	* config/x-netbsd: Removed.
+
+Sun Apr 13 14:51:25 1997  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* cse.c (canon_reg, cse_insn): Don't examine insn_n_dups if
+	recog_memoized fails to find a match.
+
+Sun Apr 13 14:17:26 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (reload_cse_noop_set_p): Add insn parameter.  Change
+	all callers.  If deleting the instruction, remove any earlier
+	REG_DEAD note for DREG.
+	(reload_cse_simplify_set): If simplifying, remove any earlier
+	REG_DEAD note for the new source register.
+
+Sun Apr 13 14:12:08 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* libgcc2 (L_bb, L_exit): Use 0 rather than NULL for null pointers.
+
+Sun Apr 13 12:53:03 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k/linux.h (ASM_SPEC): Define.
+	(STRUCT_VALUE_REGNUM, STATIC_CHAIN_REGNUM, INITIALIZE_TRAMPOLINE):
+	Remove definitions, undoing the change of Mar 20 1996. 
+
+	* m68k.c (output_move_qimode): Optimize pushing one byte if source
+	operand does not use stack pointer.
+
+	* m68k.md (rotl[shq]i3, rotl[hq]i3+1): Don't directly modify operand.
+
+	* m68k.md (tstdi): Add missing parallel around the pattern.
+
+Sun Apr 13 12:51:00 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c, cpplib.c (do_include): Diagnose #import and
+	#include_next if pedantic and if not in a system header.
+	(do_warning): #warning now causes an error if -pedantic-errors
+	is given; this is needed since #warning isn't ANSI.
+
+	* toplev.c (lang_options): Add -Wundef, -Wno-undef.
+	* c-decl.c (c_decode_option): Ignore -Wundef, -Wno-undef.
+
+	* cccp.c, cexp.y (warn_undef): New variable.
+	* cpplib.h (struct cpp_options): New member warn_undef.
+	(CPP_WARN_UNDEF): New macro.
+
+	* cccp.c (main), cpplib.c (cpp_handle_options): Set warn_undef
+	from -Wundef and -Wno-undef.
+
+	* cppexp.c (cpp_lex) New arg skip_evaluation.
+	(cpp_parse_expr): Pass skip_evaluation to cpp_lex.
+	Abort if cpp_lex returns NAME.
+
+	* cexp.y (exp), cppexp.c (cpp_lex): Optionally warn about undefined
+	identifiers that evaluate to 0.
+
+Sun Apr 13 11:43:16 1997  Joel Sherrill  <joel@OARcorp.com>
+
+        * configure (hppa1.1-*-rtems*): New target.
+        * mips/rtems.h: New file.
+
+Sun Apr 13 09:48:26 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* gcov.c (print_usage, open_files): Use FATAL_EXIT_CODE.
+	* collect2.c (fatal_perror, fatal, collect_wait): Likewise.
+
+	* sparc.c (eligible_for_delay_slot): Clean up and make to agree
+	precisely with patterns in MD file.
+	* sparc.md (*return_addsi): Change condition to exclude both ints.
+	(*return_adddi): Likewise.
+	(*return_subsi): New pattern.
+
+	* recog.c (validate_replace_rtx_1, case MINUS): New case.
+	
+Sun Apr 13 08:20:24 1997  Thomas Bushnell  <thomas@gnu.ai.mit.edu>
+
+	* i386/gnu.h (TARGET_VERSION): Redefine.
+
+Sun Apr 13 08:15:31 1997  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+
+	* c-typeck.c (lookup_field): Don't recurse unless FIELD is
+	a RECORD_TYPE or UNION_TYPE.
+
+	* final.c (profile_function): Save the static chain register
+	around the call to the profiler function.
+
+	* loop.c (invariant_p, case REG): Pointers into frame are not
+	invariants if function has nonlocal gotos.
+	* reload1.c (reload): If function has nonlocal label, mark all
+	caller-saved regs as used.
+
+Fri Apr 11 16:49:06 1997  Doug Evans  <dje@seba.cygnus.com>
+
+	* m32r.h (REG_ALLOC_ORDER): Restore to original setting.
+
+	* m32r.h (UPPER16_P): Fix calculation.
+	* m32r.c (two_insn_const_operand): New function.
+	(m32r_print_operand): Handle 'X'.
+	* m32r.md (movsi): Tweak.
+	(*movsi_insn): Output hex value of constants too.
+	(movsi define_split): Add.
+	(andsi3,orsi3,xorsi3): Output hex value of constants too.
+
+Thu Apr 10 18:39:33 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.md (sne): Modified to use negc instead of xor.
+	(sne+1): New define_split for new sne pattern.
+	* sh.c (output_stack_adjust): Reorganize code for readability.
+	If size is negative, negate and subtract it instead of adding it.
+
+Wed Apr  9 13:51:07 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (output_stack_adjust): When splitting an adjustment into two
+	parts, make sure the stack is aligned at all times.
+
+Tue Apr  8 12:34:38 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.h (RETURN_ADDR_RTX): Define.
+
+Mon Apr  7 19:19:57 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (count_tst_insns): New function.
+	(expand_prologue): Load zero into data and/or address registers
+	if any are free and the function has optimizable tst insns.
+	(output_tst): If a suitable register is known to have the
+	value zero, use it instead of searching for a suitable register.
+	* mn10300.h (zero_dreg, zero_areg): Declare.
+	(FRAME_POINTER_NEEDED): Frame pointers are not needed if the
+	outgoing argument size is zero.
+	* mn10300.md (movXX): Optimize loading zero into an address
+	register if possible.  Optimize loading a DF/DI mode value
+	into an address register from a constant memory address.
+	(addsi3): Provide alternative which doesn't require a matching
+	inout operand.
+	(return): Optimize consecutive return instructions.
+
+Mon Apr  7 17:30:35 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* mips/iris5.h (SUBTARGET_CC1_SPEC): Define.
+	(LINK_SPEC, STARTFILE_SPEC): Support -static.
+	* mips/iris6.h (SUBTARGET_CC1_SPEC): Define.
+	(STARTFILE_SPEC, LINK_SPEC): Support -static.
+	* mips.h: (SUBTARGET_CC1_SPEC): Define.
+	(CC1_SPEC): Add subtarget_cc1_spec.
+	(EXTRA_SPECS): Add subtarget_cc1_spec.
+
+Sun Apr  6 12:24:53 1997  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.md (incscc): Use a match_operand with cc_register to match
+	the condition code register.
+	(decscc, *condbranch, *condbranch_reversed, *mov_scc): Likewise.
+	(*mov_negscc, *mov_notscc, *cond_return): Likewise.
+	(*cond_return_inverted, *ior_scc, *cond_move): Likewise.
+	(insv): New expand.
+	(andsi_notsi_si): Renamed from *andsi_notsi_si.
+	(andsi_not_shiftsi_si): New insn.
+	(*minmax_arithsi): Don't match this insn if operand1 is an
+	eliminable register.
+	({sin,cos}*): Delete, since the ARM always emulates these its
+	faster to call a library function.
+	(movsicc, *movsicc_insn): Make operand0 an s_register_operand,
+	and operand3 an arm_not_operand.  Use cc_register to match the
+	condition code register.
+	(mov[sd]fcc*): Make operand[0,2] s_register_operands, and operand3
+	the nonmemory_operand.  Use cc_register to match the condition
+	code register.
+	(*ifcompare_plus_move): Move before *ifcompare_arith_move.  Just do
+	a split for the output.
+	(*ifcompare_move_plus): Similarly, but relative
+	to *ifcompare_move_arith.
+	(*if_plus_move, *if_move_plus): New patterns.
+	(*ifcompare_arith_arith): Simplify the alternatives down to just one,
+	and split the insn before output.
+	(*if_arith_arith, *if_arith_move, *if_move_arith): New patterns.
+	(*ifcompare_move_not, *ifcompare_not_move): Simplify and split the
+	insn before output.
+	(*if_move_not, *if_not_move): New patterns.
+	(*ifcompare_shift_move, *ifcompare_move_shift): Simplify and split the
+	insn before output.
+	(*if_shift_move, *if_move_shift): New patterns.
+	(*ifcompare_shift_shift): Simplify and split the insn before output.
+	(*if_shift_shift): New pattern.
+	(*ifcompare_not_arith, *ifcompare_arith_not): Simplify and split the
+	insn before output.
+	(*if_not_arith, *if_arith_not): New patterns.
+	(*ifcompare_neg_move, *ifcompare_move_neg): Simplify and split the
+	insn before output.
+	(*if_neg_move, *if_move_neg): New patterns.
+
+Sat Apr  5 20:17:43 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/sol-ci.asm (_environ): Don't make _envrion a common
+	variable, the lastest assembler doesn't let common variables also
+	be a weak symbol.
+
+Fri Apr  4 18:30:12 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* rs6000/rs6000.md (adddi3): Use non_short_cint_operand instead of
+	non_add_cint_operand.
+
+Thu Apr  3 15:08:39 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (can_use_return_insn): Add size of fixed stack space
+	for function calls into the size of the frame.  */
+	(expand_prologue, expand_epilogue): Likewise.
+	(initial_offset): Corresponding changes..
+	* mn10300.h (OUTGOING_REG_PARM_STACK_SPACE): No longer define.
+	(STACK_POINTER_OFFSET): Define.
+	* mn10300.md (call, call_value expanders): Don't adjust the stack
+	pointer here anymore.
+
+	* mn10300.md (ashlsi3): Remove some alternatives which are no longer
+	needed or desired.
+
+Thu Apr  3 15:06:53 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* local-alloc.c (no_conflict_p): Reject sequences with foreign insns.
+
+	* combine.c (move_deaths): Handle partial REG_DEAD note for
+	multi-reg hard register.
+
+	* function.c (expand_function_start): Emit queue after expanding
+	each dynamic parameter type.
+
+	* mips.c (mips_move_2words): Add SIGN_EXTEND support for SYMBOL_REF,
+	LABEL_REF, and CONST operands.
+
+	* dwarf2out.c: Delete comment referring to README.DWARF.
+
+Wed Apr  2 17:21:23 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* rs6000.md (ashrdi3_power): Mark alternative 0 as early_clobber
+	output.
+
+	* rs6000.md (abssi3_nopower define_split): Switch operands of MINUS.
+	(nabssi3_nopower define_split): Likewise.
+
+Tue Apr  1 19:30:01 1997  Mike Stump  <mrs@cygnus.com>
+	
+	* libgcc2.c (find_exception_table): Fix to logic to deal with
+	functions that are in their own section, such as template
+	instantiations, that cause overlapping EH tables.
+
+Tue Apr  1 17:16:22 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* Makefile.in (USER_H): Add va-mn10300.h
+
+	* ginclude/stdarg.h: Include va-mn10300.h.
+	* ginclude/varargs.h: Likewise.
+	* ginclude/va-mn10300.h: New file.
+	* mn10300.c (expand_prologue): If current_function_varargs is nonzero,
+	flush d0/d1 back into stack.
+	(mn10300_builtin_saveregs): New function.
+	(function_arg, function_arg_partial_nregs): New functions.
+	(initial_offset): Tweak now that the RP save area is allocated
+	and deallocated around each call again.
+	* mn10300.h (FIRST_PARM_OFFSET): Now 4.
+	(FRAME_POINTER_REQUIRED): Require frame pointer for all non-leaf fcns.
+	(REG_PARM_STACK_SPACE): Now 8 bytes.
+	(FUNCTION_ARG_REGNO_P): Update for new parameter passing conventions.
+	(CUMULATIVE_ARGS, INIT_CUMULATIVE_ARGS): Likewise.
+	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
+	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+	(TRAMPOLINE_TEMPLATE): Don't clobber d0 anymore.
+	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
+	(EXPAND_BUILTIN_SAVEREGS): Define.
+	* mn10300.md (call, call_value patterns): Allocate and deallocate
+	stack slot for return pointer around each call.
+
+	* mn10300.h (RTX_COSTS): Refine.
+	(CASE_VALUES_THRESHHOLD, NO_FUNCTION_CSE): Likewise.
+	* mn10300.c (output_tst): New function.
+	* mn10300.md (movdi, movdf): Improve code to load constants into regs.
+	(tst insns): Use output_tst to optimize some cases.  Add versions to
+	encourage more zero extensions instead of sign extensions of HImode
+	and QImode values.
+	(divsi3, udivsi3): Remove patterns.  Replaced by...
+	(divmodsi4, udivmodsi4): New expanders/patterns.
+	(andsi3): Optimize "and" operations with certain constants.
+
+Tue Apr  1 09:14:29 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h: (ADJUST_COSTS): Define.
+
+Fri Mar 28 17:46:13 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (LANGUAGES): Add gcov.
+	(OBJS): Add profile.o.
+	(STAGESTUFF): Add gcov.
+	(profile.o, gcov.o, gcov): Add rules to build them.
+	(cpp.info, gcc.info, gcc.dvi): Add gcov.texi.
+	(install-common): Install gcov.
+	* combine.c (distribute_notes): Handle REG_BR_PROB and REG_EXEC_COUNT
+	REG_NOTES.
+	* sparc.h (OVERRIDE_OPTIONS): Check profile_arc_flag.
+	* final.c (LONG_TYPE_SIZE): Define.
+	(count_instrumented_arcs): New variable.
+	(end_final, profile_after_prologue, leaf_function_p): Add support
+	for profile_arc_flag.
+	(add_bb): Only call CC_STATUS_INIT if HAVE_cc0.
+	* flags.h (profile_arc_flag, flag_test_coverage,
+	flag_branch_probabilities): Declare.
+	* function.c (expand_function_end): Output NOTE_REPEATED_LINE_NUMBER
+	for last line of function.
+	* integrate.c (expand_inline_function): Output
+	NOTE_REPEATED_LINE_NUMBER after inlined call.
+	* jump.c (jump_optimize, follow_jumps, mark_jump_label): Disable some
+ 	optimizations when flag_test_coverage and there is a line number note
+ 	in the way.
+	(invert_jump): Add REG_BR_PROB when flag_branch_probabililties.
+	* libgcc2.c (__bb_exit_func): Support gcov style output.
+	* reorg.c (mostly_true_jump): Use REG_BR_PROB notes when
+	flag_branch_probabilities.
+	* rtl.c (note_insn_name): Add NOTE_REPEATED_LINE_NUMBER.
+	(reg_note_name): Add REG_BR_PROB and REG_EXEC_COUNT.
+	* rtl.h (enum reg_note): Add REG_BR_PROB and REG_EXEC_COUNT.
+	(REG_BR_PROB_BASE): Define.
+	(NOTE_REPEATED_LINE_NUMBER): Define.
+	* sched.c (update_flow_info): Handle REG_EXEC_COUNT and REG_BR_PROB
+	notes.
+	* toplev.c (branch_prob_dump, profile_arc_flag, flag_test_coverage,
+	flag_branch_probabilities, branch_prob_dump_file, branch_prob_time):
+	New variables.
+	(f_options): Add profile-arcs, test-coverage, and
+	branch-probabilities.
+	(compile_file): Set branch_prob_time.  Pass flag_test_coverage to
+	init_emit_once.  Handle branch_prob_dump.  Call init_branch_prob.
+	Call end_branch_prob. Call output_func_start_profiler.
+	(rest_of_compilation): Handle branch_prob_dump.  Call new
+	branch_prob pass.
+	(main): Set branch_prob_dump.
+	* gcov.c, profile.c, gcov-io.h, gcov.texi: New files.
+
+Thu Mar 27 16:52:52 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.h (CPP_CPU_DEFAULT): Define if TARGET_CPU_DEFAULT is not set.
+	* i386.h (STACK_BOUNDARY): Define to always be 32.
+
+	From J"orn Rennecke <amylaar@cygnus.co.uk>
+	* i386.md: (zero_extendhisi2+[12]): use true_regnum instead of REGNO for
+ 	operand 0.  
+	(zero_extendqisi2+3: use reg_overlap_mentioned_p instead of REGNO
+ 	comparison; use true_regnum instead of REGNO for rtx generation.
+
+Wed Mar 26 12:34:21 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (reload): Call reload_cse_regs.
+	(reg_values): New static variable.
+	(reload_cse_invalidate_regno): New static function.
+	(reload_cse_mem_conflict_p): New static function.
+	(reload_cse_invalidate_mem): New static function.
+	(reload_cse_invalidate_rtx): New static function.
+	(reload_cse_regs): New static function.
+	(reload_cse_regno_equal_p): New static function.
+	(reload_cse_noop_set_p): New static function.
+	(reload_cse_simplify_set): New static function.
+	(reload_cse_check_clobbered): New static variable.
+	(reload_cse_check_src): New static variable.
+	(reload_cse_check_clobber): New static function.
+	(reload_cse_record_set): New static function.
+
+Wed Mar 26 07:34:06 1997  Ulrich Drepper  <drepper@cygnus.com>
+
+	* ginclude/stdarg.h (__va_copy): New definition.
+
+Tue Mar 25 13:43:36 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* gcc.c (init_spec): If -v, print out that the default spec values
+	were being used.  Fix prototype to reflect no arguments.
+	(set_spec): If specs has not been set, set it up with the default
+	specs.
+	(read_specs): Move to later in the file so that startfile_prefixes
+	has been declared.  Process "%include <file>" to include another
+	specs file, aborting if the file can't be found.  Process
+	"%include_noerr <file>: to include another specs file, giving no
+	error if the file can't be found.  Process "%rename var1 var2" to
+	rename a specs variable.  Take new argument that indicates whether
+	we are processing the main file.  Only process % commands if this
+	is not the main specs file.  Change callers.
+	(main): Do not call init_spec if a specs file was found.
+	(set_spec,read_specs,do_spec_1): If DEBUG_SPECS is defined, print
+	debug information.
+	
+Tue Mar 25 14:43:58 1997  Doug Evans  <dje@cygnus.com>
+
+	* expr.c (emit_push_insn): Delete emission of CLOBBER
+	when doing partial push, no longer necessary.
+
+	* c-decl.c (grokdeclarator): Pedwarn qualified void function return
+	type.
+
+Tue Mar 25 14:28:15 1997  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* reload.c (find_dummy_reload): New parameter earlyclobber.  If set
+	then don't use IN for the reload if it also appears elsewhere in
+	the insn.  All callers changed.
+
+Tue Mar 25 13:20:18 1997  J.T. Conklin	<jtc@cygnus.com>
+
+	* m68k/lb1sf68.asm (udivsi3): Fix hunk from previous patch that
+	did not apply correctly.
+
+	* m68k.md (tablejump): Use extl to explicitly sign extend
+	index registeron TARGET_5200.
+	* m68k/{apollo68.h,coff.h,linux.h,mot3300.h,pbb.h} 
+	(ASM_RETURN_CASE_JUMP): Likewise.
+
+	* m68k.md (mulsi3): Changed into define_expand.  Split insn into
+ 	m68k and coldfire specific versions with appropriate constraints.
+
+	* m68k.md (movqi): Disable use of address registers for 
+	TARGET_5200.
+
+	* m68k/lb1sf68.asm (__modsi3, __umodsi3): Use mulsl instruction
+	instead of __mulsi3 function call on the coldfire.
+
+	* m68k.md (bne0_di): Fix typo in last change.
+
+	* m68k.md (xorsi3_5200): Correct constraints.
+
+	* m68k.c (output_move_{si,hi,qi}mode): New functions.
+	* m68k.h (output_move_{si,hi,qi}mode): Declare.
+
+	* m68k.md (move{si,hi,qi,di}): Changed into define_expands.  Split
+	insns into m68k and coldfire specific versions with appropriate
+	constraints.
+
+Tue Mar 25 12:18:41 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* Makefile.in (GCC_PASSES): Revert previous change; use
+ 	cc1$(exeext).
+
+Mon Mar 24 16:12:20 1997  Doug Evans  <dje@cygnus.com>
+
+	* m32r/*: New files.
+	* config.sub: Add m32r.
+	* configure: Add m32r.
+	* longlong.h: Add m32r support.
+	* ginclude/{stdarg.h,varargs.h}: Add m32r support.
+	* ginclude/va-m32r.h: New file.
+
+Mon Mar 24 15:53:15 1997  Joel Sherrill <joel@OARcorp.com>
+
+	* rs6000/rtems.h: Change to a near clone of the powerpc-eabi target.
+	* configure (powerpc*-*-rtems): Move before Linux configuration.
+
+Mon Mar 24 14:26:37 1997  Gavin Koch  <gavin@cygnus.com>
+
+	* ginclude/va-mips.h:  For little endian, eabi, objects
+	less than __va_reg_size are passed in registers.
+
+Fri Mar 21 00:48:02 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (print_operand): Handle 'N'.
+
+	* mn10300.c (expand_epilogue): Correctly handle functions
+	with large frames, but no callee register saves.
+
+	* mn1300.md (movdf, movdi): Handle overlapping moves.
+
+	* pa.c (compute_movstrsi_length): Handle residuals correctly.
+
+Thu Mar 20 13:53:30 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.c (easy_fp_constant): If -mrelocatable, consider all fp
+	constants to be hard.
+
+Mon Mar 20 13:53:30 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+	* rs6000.md (movdf/movsf define_splits): Add SUBREG support.
+ 
+	* rs6000.c (fp_reg_or_mem_operand): Delete.
+	* rs6000.h (PREDICATE_CODES): Remove fp_reg_or_mem_operand.
+	(fp_reg_or_mem_operand): Delete declaration.
+	* rs6000.md (movsf_hardfloat): Use nonimmediate_operand instead
+	of fp_reg_or_mem_operand.
+
+Thu Mar 20 08:52:27 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.md (cmpsi): Handle comparing a register with
+	itself by adding zero to the reg.  Z bit for such an insn is
+	inverted.
+	* mn10300.c (notice_update_cc): Handle CC_INVERT.
+
+	* pa.c (emit_move_sequence): Don't lose for a secondary reload
+	to the SAR register if the input is a MEM with an offset that won't
+	fit in 14bits.
+
+Wed Mar 19 17:10:44 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k/linux.h (ASM_OUTPUT_MI_THUNK): Define.
+
+Wed Mar 19 16:59:34 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c, cpplib.c (do_error, do_warning): Fix memory leak.
+
+	* cccp.c (output_line_directive): Do not output negative line
+	numbers when analyzing directives like `#line 0'.
+
+	* cexp.y (parse_number, yylex), cccp.c (rescan), cpplib.c
+	(cpp_get_token): Unless -lang-c89 is specified, allow C9X-style
+	hexadecimal floating-point numbers as preprocessor numbers.
+	* cccp.c (c89): New decl.
+	(main): Set it to 1 if -lang-c89.
+	* cpplib.h (struct cpp_options): New member c89.
+	(CPP_C89): New macro.
+	* cpplib.c (unsafe_chars): `p' is unsafe before `-' or `+', since it
+	might generate a C9X-style hexadecimal floating-point number.
+	(cpp_handle_options): Set c89 option to 1 if -lang-c89.
+
+Tue Mar 18 17:05:57 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+        * i386.h (STACK_BOUNDARY): Determine according to TARGET_ALIGN_DOUBLE.
+	
+	* i386.c (override_options) Make the default alignment 4 for 486,
+	otherwise 2.
+	
+	* i386/freebsd-elf.h (CPP_SPEC): Remove TARGET_CPU_DEFAULT reference.
+	* i386/linux{,-aout,-oldld}.h (CPP_SPEC): Likewise.
+	
+	* i386/go32.h (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
+	NO_STAB_H, ASM_FILE_START, DBX_BLOCKS_FUNCTION_RELATIVE,
+	DBX_FUNCTION_FIRST, DBX_OUTPUT_MAIN_SOURCE_FILE_END,
+	ASM_OUTPUT_SOURCE_LINE): Added to support stabs.
+	(ASM_OUTPUT_SECTION_NAME): Support section attribute.
+
+Tue Mar 18 16:12:28 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* final.c (shorten_branches): Split all insns before computing insn
+	lengths.
+	(final_scan_insn, case default): If HAVE_ATTR_length defined, call
+	abort for any insn that has a '#' output template.
+
+	* expr.c (emit_group_load): Call operand_subword instead of creating
+	an explicit SUBREG.
+
+	* reload1.c (reload_reg_free_before_p, case
+	RELOAD_FOR_OPERAND_ADDRESS): Conflicts with RELOAD_FOR_OPADDR_ADDR
+	reloads.
+
+	* configure (alpha-dec-osf[23456789]*): Use install-headers-cpio
+	for osf4.
+
+	* gcc.c (init_spec): Delete parameter.  Always initialize extra_specs.
+	(process_command, main): Change all callers.
+
+	* combine.c (if_then_else_cond): Call copy_rtx to prevent sharing.
+
+Tue Mar 18 14:59:12 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* function.c (assign_parms): Add a REG_EQUIV note to the
+ 	instruction which copies a parameter into a pseudo-register
+ 	whenever there is an associated stack slot, even if the parameter
+ 	actually arrived in a register.
+
+Tue Mar 18 14:24:48 1997  Doug Evans  <dje@cygnus.com>
+
+	* configure (alpha-dec-osf[23]): Separate osf[23] case.
+	* alpha.h (LIB_SPEC): -lprof1 requires -lpdf for OSF 4.
+	* alpha/osf2or3.h: New file.
+
+Tue Mar 18 11:32:10 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* m68k.c (m68k_last_compare_had_fp_operands): New variable.
+	* m68k.h (m68k_last_compare_had_fp_operands): Declare it.
+	* m68k.md (tst*, cmp*): Turn into define_expand/define_insn pairs.
+	Keep track of whether test/compare has fp operands.
+	(seq, sne, sgt, slt, sge, sle): Turn into define_expand/define_insn
+	pairs.  Make expanders FAIL if TARGET_68060 and last comparison/test
+	had fp operands.
+
+Tue Mar 18 04:29:29 1997  Richard Earnshaw <rearnsha@armltd.co.uk>
+
+	* arm.md (movhi): Handle generation of large constants during
+	and after reload.
+
+Mon Mar 17 17:30:24 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* gmicro.h (RETURN_POPS_ARGS): Make sure FUNDECL is non-nil
+	before we try to use it.
+	* m68k.h (RETURN_POPS_ARGS): Likewise.
+	* ns32k.h (RETURN_POPS_ARGS): Likewise.
+	* pyr.h (RETURN_POPS_ARGS): Likewise.
+
+Mon Mar 17 17:13:44 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* stor-layout.c (layout_record, PCC_BITFIELD_TYPE_MATTERS):
+	Only add padding if a bit field would otherwise span more units
+	of alignment than its base type.
+
+Mon Mar 17 17:03:55 1997  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.md (beq0_di, bne0_di, bge0_di, blt0_di): Use cmpw #0
+ 	instead of tstl when testing address registers on the 68000.
+	
+	* m68k/lb1sf68.asm: Fix prologues/epilogues to deal with the lack
+ 	of predecrement/postincrement addressing modes in the coldfire
+	moveml instruction.
+
+Mon Mar 17 17:00:14 1997  Scott Christley <scottc@net-community.com>
+
+	* Fix long standing bug where first method call for a class could
+	result in a garbled stack or produce an incorrect return value.
+	* objc/sendmsg.c (__objc_block_return): Remove function.
+	(__objc_word_return, __objc_double_return): Remove functions.
+	(__objc_get_forward_imp): New function.
+	(__objc_init_dispatch_tables): Install zero instead of
+	__objc_init_install_dtable.
+	(__objc_init_install_dtable): No longer call the method but
+	allow objc_msg_lookup return it for normal execution.
+	(obj_msg_lookup): Differentiate between when a method isn't
+	implemented and when the dispatch table needs to be installed.
+	Return the IMP when the dispatch table is installed versus
+	having __objc_init_install_dtable call it.
+	(get_imp): Install dispatch table if needed and return IMP
+	from the newly installed dispatch table.
+	(__objc_responds_to): Install dispatch table if needed before
+	checking if method is implemented.
+
+Mon Mar 17 16:29:38 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* tree.c (build_{index,range}_type): Ensure expressions for min
+	and max value are in same obstack as type.
+
+Mon Mar 17 15:44:18 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* cccp.c [#if VMS] (O_RDONLY, O_WRONLY): Delete (redundant).
+	(BSTRING): Delete (obsolete; usage occurs prior to definition).
+	(do_include): Handle old VAX C style includes better.
+
+Mon Mar 17 13:46:47 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* cexp.y, cppexp.c (parse_number): Invalid integer constants are
+	errors if pedantic.
+	* cexp.y (yylex): Invalid multibyte characters are errors if pedantic.
+	* cppexp.c (cpp_lex): Likewise.
+	* cppexp.c (cpp_parse_escape): Character constants that do not fit are
+	errors if pedantic.
+
+	* c-parse.in (expr_no_commas): Do not store temporary
+	skip_evaluation increments on yacc value stack.
+
+Sun Mar 16 19:54:49 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* expr.c (expand_expr, case PLACEHOLDER_EXPR): Refine which
+	object is picked.
+
+Sun Mar 16 15:45:45 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* loop.c (strength_reduce): Adjust BENEFIT appropriately if an
+	autoincrement memory reference will eliminate add insns.
+
+Sun Mar 16 08:41:40 1997  Scott Christley <scottc@net-community.com>
+
+	* i386.md (untyped_call): Re-enable code.
+	* objc/sendmsg.c (__objc_block_return): New function.
+	(__objc_word_return, __objc_double_return): New functions.
+	(__objc_init_install_dtable): Call appropriate return function
+	based upon method type.
+	* objc/thr-pthreads.c: Correct include path.
+
+Sat Mar 15 07:58:33 1997  Scott Christley <scottc@net-community.com>
+
+	* objc-act.c (OBJC_VERSION): Increment version.
+	* objc/init.c (OBJC_VERSION): Likewise.
+
+Sat Mar 15 07:58:00 1997  Ovidiu Predescu <ovidiu@net-community.com>
+
+	* Implement +load.
+	* objc/init.c (objc_send_load, __objc_send_load): New functions.
+	(__objc_send_message_in_list): New function.
+	(__objc_force_linking): New function.
+	(__objc_exec_class): Don't call _objc_load_callback here.
+	* objc/linking.m: New file.
+	* objc/sendmsg.c (class_add_method_list): Check for the +load method
+	when adding a methods list to a class.
+	* objc/Makefile (OBJC_O): Add linking.m.
+
+	* Allow methods defined in categories to override methods that are
+	defined in the class implementation.
+	* objc/sendmsg.c (__objc_install_methods_in_dtable): New function.
+	(class_add_method_list): Don't check anymore for duplicate methods.
+
+	* config/nextstep.h (INCLUDE_DEFAULTS): Define to something useful
+	when cross-compiling.
+
+	* The static instances list moved from the objc_module struct to 
+	objc_symtab struct, at the end of defs array. This now allows the NeXT
+	gdb to work with binaries generated for the GNU ObjC runtime.
+	* objc-act.c (build_objc_symtab_template): Make sure
+	defs in objc_symtab is a NULL terminated array.
+	(init_def_list): Attach statics to end of def list.
+	(init_objc_symtab): Take statics list into account.
+	(init_module_descriptor, build_module_descriptor): Don't add statics.
+	(generate_static_references): Indicate that statics are used.
+	(finish_objc): Process statics in the beginning.
+	* objc/objc-api.h (objc_module): Eliminate statics variable.
+	* objc/init.c (__objc_exec_class): Access statics from their
+	new place in the defs variable.
+
+Sat Mar 15 07:29:15 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* reload.c: Include expr.h.
+	(find_reloads_address, find_reloads_address_1): New argument INSN.
+	(find_reloads_address_1): Reload inside of p{re,ost}_{in,de}c
+	instead of entire p{re,ost}_{in,de}c where appropriate.
+	* Makefile.in (reload.o): Added expr.h to dependencies list.
+
+Sat Mar 15 07:17:12 1997  Richard Henderson  <rth@tamu.edu>
+
+	* reload.h (eliminate_regs): Add STORING arg.
+	* reload1.c (eliminate_regs): Likewise.
+	(eliminate_regs, case SET): Pass that we are storing to recursive call.
+	(eliminate_regs, case SUBREG): If storing and same number of words,
+	use larger mode.
+	* caller-save.c, dbxout.c, dwarfout.c, dwarf2out.c, reload.c, sdbout.c:
+	Change all calls to eliminate_regs.
+
+Fri Mar 14 14:18:49 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* cplus-dem.c: Add prototypes for all static functions.
+	(mystrstr): Make static.  Make arguments and result const.
+	(cplus_match): Remove; not used.
+
+Fri Mar 14 10:15:35 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (const_costs): Remove unused function.
+	* mn10300.h (CONST_COSTS): Rework to generate better code.
+
+	* mn10300.c (print_operand): Handle 'H' and 'L' output
+	modifers for high/low part of a 64bit value.
+	* mn10300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Handle 'G'
+	(LEGITIMATE_CONSTANT_P): Allow any constant.
+	* mn10300.md (movdi, movdf): Implement.
+	(adddi3, subdi3): New expanders and patterns.
+
+	* mn10300.c (print_operand): Handle 'A' modifier for an
+	address which can't be simple register indirect.
+	* mn10300.h (EXTRA_CONSTRAINT): Handle 'R' for bit ops.
+	* mn10300.md: Add patterns to test, set and clear bitfields.
+
+	* mn10300.c (can_use_return_insn): New function.
+	(expand_epilogue): Emit a RETURN insn if possible.
+	* mn10300.md (return): New pattern.
+
+	* mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'N'.
+	* mn10300.md (andsi3): Catch "and 255,dn" and "and 65535,dn"
+	which were not turned into zero_extend patterns.
+
+	* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Handle symbolic
+	constant as an index/base too.
+
+	* mn10300.md (movsi): Allow SP to be loaded/saved with
+	reg+d8 addresses.
+
+	* mn10300.md (cmpsi): Allow second operand to be a constant.
+	(subsi3): Likewise.
+
+	* mn10300.md (sign extension patterns): Fix thinko when
+	extending from memory.
+
+	* mn10300.md (tst peepholes): Add peepholes for test/branch
+	based on N bit being set/clear and the data value being tested dies.
+
+Tue Mar 11 17:07:51 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (expand_prologue): Rework so that eliminating
+	the frame pointer produces faster/smaller code.
+	(expand_epilogue): Likewise.
+	(initial_offset): New function for argument pointer and frame pointer
+	elimination.
+	* mn10300.h (FIRST_PSEUDO_REGISTER): Bump to 10.
+	(FIXED_REGISTERS): Add argument pointer register, it's a fake fixed
+	register.
+	(CALL_USED_REGISTERS, REG_ALLOC_ORDER): Corresponding changes.
+	(REGNO_REG_CLASS, REG_CLASS_CONTENTS): Likewise.
+	(REG_OK_FOR_BASE_P, REGISTER_NAMES): Likewise.
+	(reg_class, REG_CLASS_NAMES): Delete unwanted DATA_OR_SP_REGS class.
+	(PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+	(FIRST_PARM_OFFSET): No longer include register save area in
+	computation.
+	(STACK_POINTER_REGNUM): Is now register 9.
+	(ARG_POINTER_REGNUM): Is now register 8.
+	(FRAME_POINTER_REQUIRED): Refine.
+	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Define.
+	(CAN_DEUG_WITHOUT_FP): Define.
+	* mn10300.md (return_internal): Break into two patterns.
+	
+	* mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'M' too.
+	(REGISTER_MOVE_COST): Fix errors and refine.
+
+	* mn10300.c (notice_update_cc): SET_ZN_C0 insns leave the
+	overflow bit in an unuseable state.  Rename CC_SET to CC_TST.
+	* mn10300.md (cc attributes): "set" is gone, replaced by
+	"tst".  Update attributes on various insns.
+
+	* mn10300.md: Improve sign and zero extension instructions.
+	(ashlsi3): Improve.  Handle address registers too.
+	(add peephole): Combine two consecutive adjustments of a register
+	into a single adjustment.
+
+Tue Mar 11 17:18:40 1997  Brendan Kehoe  <brendan@melange.gnu.ai.mit.edu>
+
+	* cplus-dem.c (gnu_special): Call demangled_fund_type for other
+	__t* symbols.
+
+Mon Mar 10 16:10:34 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* emit-rtl.c (subreg_lowpart_p): Return 0 if SUBREG_REG is VOIDmode.
+	* combine.c (simplify_rtx, case SUBREG): Fix direction of test when
+	calling operand_subword; use inline code intead of subreg_lowpart_p.
+
+Fri Mar  7 09:22:28 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (expand_{pro,epi}logue): Rework to avoid
+	unnecessary "add" operations.
+	(expand_epilogue): Likewise.
+	* mn10300.h (STARTING_FRAME_OFFSET): Is zero after the last
+	round of prologue/epilogue changes.
+	(FIRST_PARM_OFFSET): Is now 16 (-4 for REG_PARM_STACK_SPACE + 20 for
+	register save area).
+	(REG_PARM_STACK_SPACE): Define as 4 bytes.
+	(OUTGOING_REG_PARM_STACK_SPACE): Define so caller allocates it.
+	* mn10300.md (call{,_value} expander): Don't emit insns to adjust the
+	stack here anymore.
+
+	* mn10300.md (bCC patterns): Just use "bCC target".
+
+Tue Mar  4 13:21:41 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* rs6000.md (movsi): Don't emit a USE insn for LABEL_REFs.
+
+Thu Mar  6 16:29:13 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* dwarf2out.c (modified_type_die): Initialize item_type to NULL.
+	Move equate_type_number_to_die call before use of sub_die, and move
+	recursive modified_type_die calls on item_type after it.
+
+	* dwarfout.c (root_type_1, write_modifier_bytes_1): New functions.
+	(root_type): Call root_type_1.
+	(write_modifier_bytes): Call write_modifier_bytes_1.
+	(output_type, case POINTER_TYPE): Set TREE_ASM_WRITTEN before
+	recursive call.
+
+Wed Mar  5 14:30:49 1997  Torbjorn Granlund  <tege@quiet.matematik.su.se>
+
+	Partially undo Jan 11 changes (nor takes only register ops):
+	* mips.md (*norsi3_const, *nordi3_const): Delete bogus patterns.
+	* mips.c (complemented_arith_operand): Delete function.
+	(print_operand): Don't handle `e' for CONST_INT.
+	* mips.h (PREDICATE_CODES): Delete complemented_arith_operand.
+
+Tue Mar  4 16:38:13 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* i386.c (i386_return_pops_args): Make sure FUNDECL is non-nil
+	before we try to use it.
+	* i386/isc.h (RETURN_POPS_ARGS): Likewise.
+	* i386/next.h (RETURN_POPS_ARGS): Likewise.
+	* i386/sco.h (RETURN_POPS_ARGS): Likewise.
+	* i386/sco5.h (RETURN_POPS_ARGS): Likewise.
+	* i386/scodbx.h (RETURN_POPS_ARGS): Likewise.
+
+Mon Mar  3 20:17:54 1997  Gavin Koch  <gavin@cygnus.com>
+
+	* ginclude/va-mips.h: __mips_single_float should have
+	the same effect on vararg lists as __mips_soft_float.
+
+Mon Mar  3 18:12:01 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.h (DBX_CONTIN_LENGTH): Undo 2/26 change.
+
+Mon Mar  3 13:08:20 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* combine.c (simplify_rtx): Do nothing with (truncate:mode) if
+	mode is a partial integer mode.
+
+Sun Mar  2 17:41:18 1997  Ulrich Drepper  <drepper@cygnus.com>
+
+	* ginclude/varargs.h: Add definition of __va_copy.
+	* va-alpha.h, va-clipper.h, va-h8300.h, va-i860.h: Likewise.
+	* va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-ppc.h: Likewise.
+	* va-sh.h, va-sparc.h, va-spur.h: Likewise.
+
+Sun Mar  2 13:25:49 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (process_init_element): Warn and truncate if upper
+	bound of index is out of range.
+
+Fri Feb 28 16:08:47 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/sol-c0.c (_start): Disable loading up r13 and r2 with the
+	SDA base registers for now.
+
+	* rs6000.md (movsi): Emit a USE insn when putting the
+	label of constants into the TOC, so that the constant is still
+	emitted when expensive optimizations are used.
+
+Thu Feb 27 17:54:42 1997  Karl Heuer  <kwzh@gnu.ai.mit.edu>
+
+	* fixinc.ptx: Fix sed expression looking for <sys/types.h> in
+	pwd.h.
+
+Thu Feb 27 12:11:16 1997  Dennis Glatting  <dennis.glatting@plaintalk.bellevue.wa.us>
+
+	* fixincludes: Remove more cases of __const__ from math.h on
+	NeXT.
+
+Wed Feb 26 14:52:27 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* reload.c (debug_reload): Remove extra argument to fprintf.
+
+	* rs6000.c (output_toc): Make fprintf calls type correct.
+
+	* rs6000.h (DBX_CONTIN_LENGTH): Define as 4000 to avoid AIX
+	assembler line limit.
+
+Mon Feb 24 17:56:17 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* fixincludes: Fix need of prototypes for C++ in rpc/xdr.h on SunOS4.
+
+Mon Feb 24 17:33:57 1997  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/xm-sysv4.h (HAVE_STRERROR): Define.
+
+Sun Feb 23 17:18:28 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* rs6000.md (floatsidf2_loadaddr): Correct syntax for cau instruction.
+	(load_multiple, store_multiple): Call change_address instead of
+	creating MEM from scratch.
+
+Thu Feb 20 16:39:15 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* unroll.c (unroll_loop): Add check for naive loop that ends with
+	conditional branch that does not branch back to loop start.
+
+	* reload1.c (reload): Move assign_stack_local call into main loop.
+
+Thu Feb 20 11:40:46 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (zero extension patterns): Turn into define_expand and
+	define_insn pair.
+
+Wed Feb 19 17:05:38 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (emit_move_sequence): Don't copy 0.0 (double precision)
+	directly to memory, go through a reg if reload hasn't started.
+	* pa.md (main movdf pattern): Don't allow 0.0 (double precision)
+	to be copied directly to memory.
+
+	* pa/pa-hpux10.h (MD_EXEC_PREFIX): Define appropriately for hpux10.
+	(MD_STARTFILE_PREFIX): Similarly.
+
+	* pa.h (ASM_OUTPUT_SECTION_NAME): Surround the section name
+	with '$' if not using GAS.
+
+Wed Feb 19 16:43:47 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sched.c (schedule_insns): If there was no first scheduling pass,
+	split instructions after reload.
+	(update_flow_info): Tolerate some idiosyncrasies after reload.
+
+Wed Feb 19 11:13:51 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* combine.c (find_split_point): Don't turn a SIGN_EXTEND into
+	a series of shifts if either mode is a partial integer mode.
+
+Mon Feb 17 08:06:02 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* rs6000.c ({,non_}short_cint_operand): Use (unsigned HOST_WIDE_INT).
+	(non_add_cint_operand, includes_rshift_p): Likewise.
+	* rs6000.h (CONST_OK_FOR_LETTER_P): Likewise.
+	(LEGITIMATE_ADDRESS_INTEGER_P, LEGITIMIZE_ADDRESS): Likewise.
+
+Sun Feb 16 07:55:19 1997  J"orn Rennecke  (amylaar@cygnus.co.uk)
+
+	* libgcc2.c (__negdi2, __lshrdi3, __ashldi3, __ashrdi3, __ffsdi2):
+	Use ANSI style definition with full prototype.
+	(__muldi3, __udiv_w_sdiv, __udivmoddi4, __divdi3, __moddi3) : Likewise.
+	(__udivmoddi4, __udivdi3, __cmpdi2, __ucmpdi2) : Likewise.
+	(__fixunstfdi, __fixtfdi, __fixunsxfdi, __fixxfdi) : Likewise.
+	(__fixunsdfdi, __fixdfdi, __floatdixf, __floatditf) : Likewise.
+	(__floatdidf, __floatdisf, __fixunsxfsi, __fixunsdfsi) : Likewise.
+	(__gcc_bcmp, __eprintf, gopen, gclose, __bb_init_file) : Likewise.
+	(__bb_init_trace_func, __clear_cache, mprotect) : Likewise.
+	(__enable_execute_stack, cacheflush, exit) : Likewise.
+	(find_exception_table, __find_first_exception_table_match) : Likewise.
+
+Sun Feb 16 07:52:02 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.md (mulqihi3): Corrected.
+	(tst{hf,tqf}): Simplified.
+	(movqi): Removed redundant alternative.
+	(addqi-3,addqi-2,addqi-1): Set/Reset Bit patterns by C. Nettleton.
+	(many patterns): Introduced operand output modifiers d,t,b,B,w.
+	* 1750a.c (print_operand): New operand output modifiers d,t,b,B,w.
+	(simple_memory_operand): Removed.
+	(one_bit_set_p, which_bit): Added from C. Nettleton's m1750 config.
+
+Sun Feb 16 07:43:37 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (special_symbol): Don't treat "L" in "L'...'" as identifier.
+	(check_macro_name, collect_expansion, rescan): Likewise.
+	* cpplib.c (special_symbol, check_macro_name, collect_expansion):
+	Likewise.
+
+	* cexp.y (parse_c_expression): Don't check for null lexptr
+	or *lexptr == 0.  If yyparse returns nonzero value, abort.
+
+	* cexp.y (yylex): Use is_space, not is_hor_space, to find keyword end.
+	(is_space): New decl.
+	(is_hor_space): Removed.
+	* cccp.c (is_space): Now external.
+	(is_hor_space): Now static.
+
+Sun Feb 16 04:55:11 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c, tree.h (decl_printable_name): Change arguments.
+	* c-common.c (declare_function_name): Reflect above change.
+	* final.c (final_start_function): Likewise.
+	* function.c (init_function_start): Likewise.
+	* toplev.c (decl_name): Likewise.
+	(announce_function): Likewise.
+	(v_message_with_decl): Likewise.
+	* dwarf2out.c (dwarf2_name): New fn, uses decl_printable_name.
+	(add_pubname): Use it.
+	(add_name_and_src_coords_attributes): Use it, add 
+	DW_AT_MIPS_linkage_name if appropriate.
+	(output_aranges): Use DW_AT_MIPS_linkage_name if present.
+
+Sat Feb 15 18:45:30 1997  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.md (cmpsi): Added insn with appropriate constraints for
+	TARGET_5200; changed condition of existing insn to !TARGET_5200.
+
+Sat Feb 15 18:26:50 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k/hp320.h (PRINT_OPERAND_FLOAT): Removed.
+	(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
+	(PRINT_OPERAND): Turned off: use default.
+	* m68k/news.h (PRINT_OPERAND): Turned off: use default.
+	(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}_OPERAND): Defined.
+	* m68k/tower-as.h (PRINT_OPERAND): Turned off: use default.
+	(ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
+	* m68k/crds.h (PRINT_OPERAND): Turned off: use default.
+	(ASM_OUTPUT_{FLOAT,DOUBLE}_OPERAND): Defined.
+	(SGS_NO_LI,STRUCTURE_SIZE_BOUNDARY,IMMEDIATE_PREFIX): Defined.
+	(NEED_PROBE): Defined instead of HAVE_probe and gen_probe.
+	(FUNCTION_{PRO,EPI}LOGUE): Do not access FPA registers.
+	* m68k.c (output_function_prologue): Add CRDS and MOTOROLA probe code.
+	(print_operand): Do not output '.' if CRDS.
+
+	* gcc.c (set_spec): Fix comment-in-comment typo.
+	
+Sat Feb 15 17:54:23 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* Makefile.in (COMPILERS): Moved before GCC_PASSES.
+	(GCC_PASSES): Use $(COMPILERS) instead of cc1$(exeext).
+
+Sat Feb 15 17:25:44 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* gcc.c (process_command): Allocate space for terminating null.
+
+Sat Feb 15 17:21:34 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vax/vax.h (FUNCTION_PROLOGUE): Adjust size by STARTING_FRAME_OFFSET.
+	* vax/vms.h (FUNCTION_PROLOGUE): Delete.
+
+Sat Feb 15 08:48:14 1997  Douglas B. Rupp  (rupp@gnat.com)
+
+	* configure: Fix setting of CC in no-symlink case.
+
+Sat Feb 15 08:42:17 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* expmed.c (expand_divmod): Prefer divmod in same mode over div
+	in wider mode.
+
+Sat Feb 15 08:27:50 1997  J"orn Rennecke  (amylaar@cygnus.co.uk)
+
+	* fold-const.c (fold): Don't assume a nonexplicit constant cannot
+	equal an explicit one.
+
+	* i386.md (zero_extendqi[hs]i2+3): Ensure operating on REG.
+
+Sat Feb 15 08:11:04 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure (i[3456]86-*-solaris2*): Correct tm.h filename in
+	stabs case.
+
+	* a29k.h (STORE_FLAG_VALUE): Write so works on both 32 and 64-bit host.
+
+Fri Feb 14 16:03:37 1997  Robert Lipe  <robertl@dgii.com>
+
+	* i386/t-sco5 (libgcc{1,2}-elf.a): correct target dependencies.
+
+Fri Feb 14 16:00:23 1997  H.J. Lu  <hjl@gnu.ai.mit.edu>
+
+	* config/svr4.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Set 
+	current-section variable to text.
+
+Wed Feb 12 16:07:34 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* fixinc.irix: New file.
+	* configure (mips-sgi-irix[56]): Set fixincludes to fixinc.irix.
+
+Wed Feb 12 15:40:20 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (LIBGCC2_DEBUG_CFLAGS): New macro.
+	(LIBGCC2_CFLAGS): Use it.
+
+	* dwarfout.c (output_type): Do early exit only if TYPE_CONTEXT is NULL
+	or if TYPE_CONTEXT is another type (e.g. a nested type).
+
+Tue Feb 11 15:53:51 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (calc_live_regs): Exclude RETURN_ADDRESS_POINTER_REGNUM.
+
+	* sh.c (calc_live_regs): Need not save MACL/MACH when not live
+	or in leaf function.
+
+Mon Feb 10 14:46:32 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* stmt.c (group_case_nodes): Recognize more opportunities to
+	group case nodes.
+
+Sun Feb  9 14:05:48 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (assign_stack_temp): Clear MEM flags from reuse.
+
+Sat Feb  8 17:37:47 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (update_equiv_regs): Fix error in last change.
+
+Fri Feb  7 12:42:34 1997  Mike Stump  <mrs@cygnus.com>
+
+	* pa.h (RETURN_ADDR_RTX): Fix to ignore export stubs.
+	* pa.c (return_addr_rtx): Define.
+
+Fri Feb  7 13:56:56 1997  Doug Evans  <dje@cygnus.com>
+
+	* cse.c (invalidate_from_clobbers): Delete unnecessary test for
+	(clobber nil).
+
+	* toplev.c (main): Delete redundant settings of flag_no_inline
+	and warn_inline if not optimizating.
+
+Fri Feb  7 10:45:02 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* Makefile.in (stmp-multilib-sub): Add missing "else true"
+	clauses to work around make bug on some systems.
+
+Fri Feb  7 08:19:43 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (const_binop): Don't call size_int if low < 0.
+
+	* function.c (instantiate_virtual_regs_1, case USE, CLOBBER):
+	Fix error in last change.
+
+Thu Feb  6 17:09:17 1997  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (find_exception_handler_labels): Initialize label array
+	with zeroes.
+
+Wed Feb  5 22:11:55 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (post_ldwm): Fix typos.
+
+Wed Feb  5 15:57:42 1997  Doug Evans  <dje@cygnus.com>
+
+	* m68k/vxm68k.h (WCHAR_TYPE,WCHAR_TYPE_SIZE,SIZE_TYPE): Fix.
+	(PTRDIFF_TYPE): Define.
+
+Wed Feb  5 11:19:13 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload1.c (alter_reg): Don't ask assign_stack_local to round up
+	to a multiple of BIGGEST_ALIGNMENT, unless a register appears in a
+	paradoxical subreg.
+
+Tue Feb  4 19:29:40 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* reload.c (find_reloads_address_1, case POST_INC): Don't use
+	ADDR_TYPE here.
+
+Tue Feb  4 12:33:45 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* flow.c (life_analysis): Delete obvious no-op moves
+	which use SUBREGs.
+
+Mon Feb  3 20:00:35 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* jump.c (find_cross_jump): Don't allow old-style and volatile asms
+	to match.
+
+Mon Feb  3 15:51:31 1997  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sol2.h (ASM_SHORT,ASM_LONG): Set to .uahalf/.uaword.
+	* sparc/sysv4.h (ASM_LONG): Define.
+	(ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Use ASM_LONG.
+
+Mon Feb  3 13:01:46 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload.h (enum reload_type): Add RELOAD_FOR_INPADDR_ADDRESS and
+	RELOAD_FOR_OUTADDR_ADDRESS.
+	* reload.c (ADDR_TYPE): New macro.
+	(push_secondary_reload): Check for new reload types.
+	(combine_reloads): Likewise.
+	(find_reloads): Likewise.  Convert INPADDR_ADDRESS and
+	OUTADDR_ADDRESS to OPADDR_ADDR.  Check OPADDR_ADDR when looking
+	for merges.
+	(find_reloads_address): When reloading an address, use the
+	ADDR_TYPE macro to get the type of the new reload.
+	(find_reloads_address_1): Likewise.
+	(reload_when_needed_name): Add new reload types.
+	* reload1.c (reload): Add in_addr_addr and out_addr_addr fields to
+	insn_needs struct.  Use them for new reload types, and when
+	computing in_max and out_max.
+	(reg_used_in_inpaddr_addr): New static array.
+	(reg_used_in_outaddr_addr): New static array.
+	(mark_reload_reg_in_use): Handle new reload types.
+	(clear_reload_reg_in_use, reload_reg_free_p): Likewise.
+	(reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
+	(reloads_conflict, merge_assigned_reloads): Likewise.
+	(emit_reload_insns): Likewise.
+	(choose_reload_regs): Save arrays for new reload types.
+
+Sun Feb  2 19:43:17 1997  Scott Christley <scottc@net-community.com>
+
+	* objc/selector.c (__sel_register_typed_name): Eliminate compiler
+	warnings with explicit cast.
+
+	* Add condition mutex support to the objc runtime.
+	* objc/thr-mach.c (objc_condition_{,de}allocate): New functions.
+	(objc_condition_{wait,broadcast,signal}): New functions.
+	* objc/thr-pthreads.c (objc_condition_{,de}allocate): New functions.
+	(objc_condition_{wait,broadcast,signal}): New functions.
+	* objc/thr-solaris.c (objc_condition_{,de}allocate): New functions.
+	(objc_condition_{wait,broadcast,signal}): New functions.
+	* objc/thr.h: Prototypes for new functions.
+
+	* objc/init.c (__objc_runtime_mutex): Eliminate leading underscore
+	from name of objc mutex and thread structures.
+	* objc/runtime.h: Likewise.
+	* objc/thr-{decosf1,irix,mach,os2,posix,pthreads,single}.c: Likewise.
+	* objc/thr-{solaris,win32}.c: Likewise.
+	* objc/thr.{c,h}: Likewise.
+
+	* Major reorganization of objc error handling.
+	* objc/Object.m (-error:): Call objc_error function instead of
+	using function pointer.
+	* objc/archive.c: Replace call to abort or __objc_fatal functions
+	with call to objc_error function throughout the complete file.
+	* objc/class.c (objc_get_class): Replace call to abort function
+	with call to objc_error function.
+	* objc/encoding.c (objc_sizeof_type, objc_alignof_type): Replace
+	call to abort function with call to objc_error function.
+	(objc_skip_typespec): Likewise.
+	* objc/init.c (init_check_module_version): Replace call to
+	abort function with call to objc_error function.
+	* objc/misc.c (objc_verror): New function.
+	(objc_fatal): Remove function.
+	(objc_set_error_handler): New function.
+	(_objc_error_handler): New global variable.
+	(__alpha__): Remove unneeded code.
+	(objc_error): Allow user specified error handler function to
+	trap and handle the objc error.  Added an error code parameter
+	which indicates the specific error that occured.
+	(objc_malloc, objc_atomic_malloc): Replace call to objc_fatal
+	function with call to objc_error function.
+	(objc_valloc, objc_realloc, objc_calloc): Likewise.
+	* objc/objc-api.h: Declare error handling functions and typedef
+	for user specified error handler function.  Define error codes
+	used by the runtime library.
+	* objc/runtime.h: Remove error handling declarations.
+	* objc/sendmsg.c (__objc_forward): Replace call to abort function
+	with call to objc_error function.
+	
+Sun Feb  2 19:42:52 1997  Thomas Baier <baier@ci.tuwien.ac.at>
+
+	* objc/hash.c (hash_delete): Step through the hash nodes
+	versus using hash_next to increase efficiency.
+	* objc/archive.c (__objc_finish_read_root_object): Use hash
+	table instead of list.
+
+Sun Feb  2 08:25:05 1997  Ovidiu Predescu  <ovidiu@net-community.com>
+
+	* objc-act.c (encode_aggregate_within): New function.
+	(encode_aggregate): Generates encodings for unions similar 
+	to those for structs except surrounded by parenthesis instead
+	of braces.
+
+Sun Feb  2 07:15:54 1997  Mat Hostetter  (mat@lcs.mit.edu)
+
+	* c-decl.c (start_function): Fix improper installation of last change.
+
+Sun Feb  2 06:50:55 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.c (output_scc_di): Add missing CC_STATUS_INIT.
+
+Sun Feb  2 06:39:55 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (process_init_element): When popping levels, don't
+	blow up if constructor_max_index not set due to previous error.
+
+	* combine.c (find_split_point, case SET): Fix error in last change.
+
+Sun Feb  2 06:28:56 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (rescan): Insert a space after `.' as well,
+	to prevent accidental token-pasting (e.g. `.x' -> `.10').
+
+Sun Feb  2 06:08:14 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.c (modregno_adjust): Fixed case when reg_renumber invalid.
+
+Sat Feb  1 19:11:08 1997  J.T. Conklin  <jtc@rhino.cygnus.com>
+
+	* m68k.md (movqi): Enable use of clr and st insns on TARGET_5200.
+	* m68k.c (output_move_simode_const): Likewise.
+
+Sat Feb  1 18:54:00 1997  Douglas B. Rupp  (rupp@gnat.com)
+
+	* gcc.c (process_command): Fix improper use of strncpy.
+
+Fri Jan 31 15:35:08 1997  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c: Remove extern for malloc and realloc.
+
+Fri Jan 31 17:08:11 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* local-alloc.c (update_equiv_regs): If a register which is
+ 	equivalent to some value is only used in one place, and we can't
+	substitute the value for the use, then move the register assignment
+	to just before the use.
+
+Fri Jan 31 15:57:25 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.md (idiv,imul,fpmul): Added new functional units for pentiumpro.
+
+	* i386.c (pentiumpro_cost): Added new cost structure for pentiumpro.
+	(override_options): Set ix86_cost to appropriate cost structure.
+
+Thu Jan 30 09:34:26 1997  J.T. Conklin  <jtc@rhino.cygnus.com>
+
+	* m68k.md (stack adjust peepholes): Use lea instead of
+	add.w when adding 16 bit constants on all but TARGET_68040.
+
+Thu Jan 30 08:58:08 1997  Ralf Baechle  <ralf@waldorf-gmbh.de>
+
+	* function.c (TRAMPOLINE_ALIGNMENT): Provide default.
+	(expand_function_end): Use TRAMPOLINE_ALIGNMENT instead
+	of FUNCTION_BOUNDARY.
+	* varasm.c (TRAMPOLINE_ALIGNMENT): Provide default.
+	(assemble_trampoline_template): Use TRAMPOLINE_ALIGNMENT instead
+	of FUNCTION_BOUNDARY.
+
+Wed Jan 29 18:16:02 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (REG_CLASS_CONTENTS): Add rap to GENERAL_REGS and its
+	superclasses.
+
+	* sh.md (movsi_i, movsi_ie, movhi_i, movhi+1): Use type pcload for
+	immediate operands where appropriate.
+	(movsf_ie+1): Fail when loading anything but a MEM into
+	a floating point reguister.
+
+Wed Jan 29 16:00:31 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* varasm.c (force_const_mem): Set MARK instead of clearing it.
+	(output_constant_pool): Only mark constant pool if -O.
+	Check mark flag unconditionally.
+	(mark_constant_pool): Start by clearing all mark flags.
+
+	* tree.c (copy_node): Clear TREE_ASM_WRITTEN.
+
+	* flow.c (regno_uninitialized): Return 0 if reg is used for args.
+
+Wed Jan 29 15:23:59 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* combine.c (try_combine): Clear reg_n_refs if i2dest is not
+	mentioned in newi2pat.
+
+Tue Jan 28 16:00:23 1997  Stan Cox       (coxs@dg-rtp.dg.com)
+
+	From Robert Lipe <robertl@dgii.com> 
+	* i386/sco5.h (SCO_DEFAULT_ASM_COFF): Remove bytecode stuff.
+	(ASM_OUTPUT_ASCII): Use .ascii in both ELF and COFF modes.
+	(ASM_OUTPUT_SECTION_NAME): Handle alternate sections for COFF.
+	The OpenServer 5.0.0 assembler gives an error for section
+	names over 6 characters long, so we catch the "obvious" case
+	and shorten it.
+
+	* m88k.h (ASM_OUTPUT_SECTION_NAME): Undefine; fails
+	for exception sections.  The 88k ABI specifies 'section'
+	instead of '.section'.
+
+Mon Jan 27 13:32:46 1997  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (shl_and_kind): Fix typo.
+	* sh.md (and_shl_scratch): Fix typo for length 8.
+
+Mon Jan 27 08:56:03 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* fixincludes: Fix incorrect forward structure declaration in
+	sys/time.h on hpux10.20.
+
+Mon Jan 27 09:05:35 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_rtx): Don't do anything with if_then_else_cond
+	result if both one arm and the input are a comparison.
+	(simplify_{rtx,if_then_else,logical,shift_const}): Don't
+	test STORE_FLAG_VALUE with #if; properly test for just sign bit.
+	(num_sign_bit_copies, if_then_else_cond): Likewise.
+	* expmed.c (emit_store_flag): Properly test for STORE_FLAG_VALUE
+	of just sign bit.
+	* fold-const.c (fold): Don't make COND_EXPR when both expr and
+	one part are comparisons.
+	* a29k.h (STORE_FLAG_VALUE): Make negative.
+
+Fri Jan 24 16:42:26 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* varasm.c (struct pool_constant): Add mark field.
+	(force_const_mem): Clear mark field in new constant pool entry.
+	(output_constant_pool): Call mark_constant_pool.
+	(mark_constant_pool, mark_constants): New static functions.
+
+Thu Jan 23 15:04:17 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* cse.c (COST): Get the right cost for a SUBREG of a register when
+ 	truncation is free.
+
+Thu Jan 23 11:19:40 1997  Mike Stump  <mrs@cygnus.com>
+
+	* Makefile.in (objc-headers): Don't try and install the headers if
+	the objc directory has been removed.
+
+Wed Jan 22 13:26:25 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* i960.c (process_pragma): Call ungetc on the last character
+	that was read by the while loop, to make sure the parser sees it.
+
+Tue Jan 21 17:20:30 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (output_toc): Move STRIP_NAME_ENCODING to common
+	code, so the test for vt's works with -mminimal-toc.
+
+Tue Jan 21 16:03:35 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (mark_all_temps_used): Set KEEP as well.
+
+Tue Jan 21 12:16:15 1997  Doug Evans  <dje@seba.cygnus.com>
+
+	* stor-layout.c (layout_record): Correct test for whether
+	field spans its unit of alignment in case where
+	field_size == type_align.
+
+Mon Jan 20 20:27:54 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.md (probe): Comment out.
+
+Sun Jan 19 20:54:45 1997  John F. Carr  <jfc@mit.edu>
+
+	* integrate.c (expand_inline_function): Handle a PARALLEL containing
+	a RETURN the same as a RETURN.
+
+Sun Jan 19 20:35:28 1997  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vmsconfig.com: Change all hardcoded references of "vax" to
+	use variable expansion instead.
+	(arch_indx, arch): New variables.
+
+	* vax.c (not_qsort):  Don't declare alloca.
+	* vax/xm-vms.h: Declare alloca here.
+	Do most of the VAX C-specific set up for DEC C.
+	#if DEC C, undefine QSORT_WORKAROUND and qsort.
+	* make-gcc.com, make-cccp.com, make-cc1.com:  Support building
+	with GNU C vs VAX C vs DEC C from the DCL command line.
+
+Sun Jan 19 17:20:50 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.md (movh[if]-1): Corrected.
+	(movtqf-1): Deleted.
+	* 1750a.c (add_1_to_mem): Deleted.
+	(output_operand_address): Added output modifier 'A'.
+
+Sun Jan 19 17:17:54 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.md (ashrdi_const, ashrdi3): Allow 31 as shift count.
+
+	* m68k.h (CONST_OK_FOR_LETTER_P): Recognize 'N', 'O' and 'P'.
+	* m68k.md (rotl[shq]i3, strict_low_part rotl): Allow 'N', 'O'
+	or 'P' operands.
+
+Sun Jan 19 17:09:17 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.md (addsi3): Fix previous change: {add,sub}qw should
+	be {add,sub}ql. For other uses of {add,sub}q don't check for address
+	register and always use {add,sub}ql.
+
+Sun Jan 19 15:05:42 1997  Peter Seebach  <seebs@solon.com>
+
+	* c-decl.c (start_decl): Add code for -Wmain.
+	(c_decode_option): Add -fhosted, -ffreestanding, and -Wmain.
+	* toplev.c (lang_options): Likewise.
+	* c-tree.h (warn_main, flag_hosted): New variables.
+
+Sun Jan 19 14:35:41 1997  Alex Garthwaite  (alex@samwise.cis.upenn.edu)
+
+	* fixinc.svr4: Fix problems with symlinks to ".".
+
+Sun Jan 19 14:21:46 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+	* loop.c (check_final_value): Handle insns with no luid's.
+
+Sun Jan 19 08:57:26 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.md (arg_home): Add CLOBBER of MEM and USE of arg regs.
+	* vms.h (SETUP_INCOMING_VARARGS): Delete duplicate definition.
+
+	* toplev.c (set_float_handler): Set up signal catcher on first call
+	in case a front end has disabled it.
+
+	* cccp.c, cexp.y: #define __attribute__ to be null if 
+	compiling with GCC older than 2.7, not 2.6.
+
+	* toplev.c (main): If PREFERRED_DEBUGGING_TYPE used and set
+	to NO_DEBUG, say debugging not supported.
+	* mips/sni-svr4.h (PREFERRED_DEBUGGING_TYPE): Undefine.
+
+	* i386/xm-cygwin32.h (DIR_SEPARATOR): Define.
+
+	* explow.c (convert_memory_address, case SYMBOL_REF):
+	Copy CONSTANT_POOL_ADDRESS_P.
+	* integrate.c (save_constants): Make (address (const ..)) to record
+	both modes.
+	(copy_for_inline, copy_rtx_and_substitute, restore_constants): Use
+	both modes when restoring constant pool entry for ADDRESS.
+
+	* alpha.h (MINIMUM_ATOMIC_ALIGNMENT): New macro.
+
+	* function.c (instantiate_virtual_regs_1, case USE, case CLOBBER):
+	Properly handle case of shared MEM whose replacement is not valid.
+
+Sat Jan 18 14:08:31 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (get_unwidened): Don't crash if FIELD_DECL not layed out.
+
+	* varasm.c (const_hash): Treat NON_LVALUE_EXPR like CONVERT_EXPR.
+	(compare_constant_1, copy_constant, bc_assemble_integer): Likewise.
+	(const_hash, compare_constant_1): Use switch, not if-then-else.
+
+Fri Jan 17 17:10:20 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (STACK_POINTER_OFFSET): Don't define.
+
+Thu Jan 16 14:51:03 1997  Bob Manson  <manson@charmed.cygnus.com>
+
+	* cplus-dem.c: Fix indenting; note that this file also lives in
+	libiberty.
+	(do_type, case 'M'): Check for a template as well as a class.
+
+Thu Jan 16 15:08:26 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* gcc.c (cross_compile): Change to be a char * like all of the
+	other specs.
+	(process_command): Change how cross_compile is tested.
+	(main): Likewise.
+	(struct spec_list): Merge with the format used by EXTRA_SPECS.
+	Add name length field to speed up repeated calls to strcmp.  Add
+	flag to say spec was allocated.  Add pointer to char * so that
+	static spec fields can be updated.
+	(extra_specs): Use struct spec_list as type.
+	(static_specs): Static list of predefined specs.
+	(init_specs): New function, initialize the specs list.  Link in
+	the default specs and any specs defined via EXTRA_SPECS.
+	(set_spec): No longer special case predefined specs.
+	(process_command,validate_all_switches): Ditto.
+	(process_command): Call init_specs for -dumpspecs.
+	(do_spec_1): Use name length field to avoid calling strncmp when
+	it is going to fail.
+	(main): Call init_spec.  Don't handle EXTRA_SPECS here.
+
+Thu Jan 16 17:07:54 1997  Eddie C. Dost  <ecd@skynet.be>
+
+	* configure: Add sparc-linux{,aout} support.
+	* ginclude/va-sparc.h: Likewise.
+	* sparc/linux.h: New file.
+	* sparc/linux-aout.h: New file.
+	* sparc/xm-linux.h: New file.
+
+Thu Jan 16 16:19:13 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (sparc-*-aout*): Add libgloss.h to tm_file.
+	(sparclite-*-coff*): Change "= to =".
+
+Thu Jan 16 12:53:15 CST 1997  Joel Sherrill <joel@OARcorp.com>
+
+	* rs6000/rtems.h: Change from being sysv4 based to being eabi based.
+
+Thu Jan 16 13:40:51 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.h (LINKER_ENDIAN_SPEC): Define.
+	(LINK_SPEC): Add linker_endian_spec.
+	(EXTRA_SPECS): Add linker_endian_spec.
+
+Thu Jan 16 08:02:13 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.md (bCC, inverted bCC): Use bCC .+X instead of bCC 0f.
+
+Wed Jan 15 14:06:28 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload.h (reload_address_base_reg_class): Declare.
+	(reload_address_index_reg_class): Declare.
+	* reload1.c (reload_address_base_reg_class): Define.
+	(reload_address_index_reg_class): Define.
+	(init_reload): Initialize reload_address_{base,index}_reg_class.
+	* reload.c (find_reloads_address): Use
+	reload_address_base_reg_class rather than BASE_REG_CLASS.  Use
+	reload_address_index_reg_class rather than INDEX_REG_CLASS.
+	(find_reloads_address_1): Likewise.
+
+Tue Jan 14 15:26:33 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload.c (REGNO_MODE_OK_FOR_BASE_P): Define if not defined.
+	(REG_MODE_OK_FOR_BASE_P): Define if not defined.
+	(find_reloads_address): Use REG[NO]_MODE_OK_FOR_BASE_P rather than
+	REG[NO]_OK_FOR_BASE_P.
+	(find_reloads_address_1): Likewise.
+	Add mode parameter; change all callers.
+
+	* reload1.c (eliminate_regs_in_insn): Handle more cases when
+	eliminating the frame pointer to the hard frame pointer.
+
+	* varasm.c (force_const_mem): Copy a CONST_INT rtx like a CONST rtx.
+
+	* varasm.c (assemble_end_function): Call
+	output_after_function_constants.
+	(after_function_constants): New static variable.
+	(output_after_function_constants): New static function.
+	(output_constant_def): Check CONSTANT_AFTER_FUNCTION_P.
+
+Mon Jan 13 16:44:40 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000/aix41.h (CPP_PREDEFINES): Add -D_AIX41.
+
+Sun Jan 12 20:54:01 1997  Jim Wilson  <wilson@cygnus.com>
+
+	* libgloss.h (LINK_SPEC): Delete.
+	(STARTFILE_SPEC): Delete spurious newline.
+
+Sat Jan 11 00:13:03 1997  Torbjorn Granlund  <tege@quiet.matematik.su.se>
+
+	* mips.md (norsi3, nordi3): Use canonical RTL.  Prepend `*' to pattern
+	name.  Don't match immediates.
+	(norsi3_const, nordi3_const): New patterns.
+	(anddi3, iordi3, xordi3): Test TARGET_64BIT, not mips_isa
+	in length attribute calculation.
+	* mips.c (complemented_arith_operand): New function.
+	(print_operand): Handle `e' for CONST_INT.
+	* mips.h (PREDICATE_CODES): Add complemented_arith_operand.
+	
+Fri Jan 10 14:11:53 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000/aix41.h (SUBTARGET_SWITCHES): Add threads and pe.
+	(CPP_SPEC): Add mpe and mthreads cases.
+	(LIB_SPEC): Add mpe and mthreads cases to variant from rs6000.h.
+	(STARTFILE_SPEC): Add mpe and mthreads support.
+
+Fri Jan 10 07:12:26 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* i386/cygwin32.h (LINK_SPEC): New definition.
+
+	* Makefile.in (FLAGS_TO_PASS): Add STAGE_PREFIX, set by configure.
+	* configure: Initialize exeext.
+	Update STAGE_PREFIX in Makefile.
+
+	* dwarfout.c (dwarfout_line): Push to LINE_SECTION after calling
+	lookup_filename.
+
+Thu Jan 9 12:06:04 1997  Jim Wilson  <wilson@cygnus.com>
+
+        * i386.md (addsidi3_2): Add & to operand 0 of alternative 5.
+
+Thu Jan 9 12:06:04 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+
+        From Linus Torvalds and Mat Hostetter:
+	* i386.c (i386_sext16_if_const): Added to sign extend an HImode constant.
+	(i386_aligned_reg_p): Added to tell if an rtx is aligned.
+	(i386_cc_probably_useless_p): Don't trust cc bits.
+	* i386.h (TARGET_ZERO_EXTEND_WITH_AND): Don't do this for p6.
+	* i386.md (cmpsf_ccfpeq+2): Use SImode test instruction.
+	(movhi+1): Use movz instead of mov on p6.
+	(addsi3): Add 128 by subtracting -128.
+	(zero_extendhisi2): Use SImode move if aligned.
+	(addhi3): Likewise.
+	(subhi3): Likewise.
+	(andhi3): Likewise.
+	(iorhi3): Likewise.
+	(xorhi3): Likewise.
+
+Tue Jan  7 16:58:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* c-parse.in (extension): New rule for __extension__.
+	(extdef, unary_expr, decl, component_decl): Use it.
+
+Mon Jan  6 15:44:37 1997  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.c: Now includes regs.h.
+	({movcnt,mod}_regno_adjust): Corrected typos.
+	* 1750a.md (movhi): Corrected case of moving constant to memory.
+
+Mon Jan  6 08:00:57 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* mips.h: Delete redundant definitions of compiler and library fns.
+
+	* dwarfout.c (type_attribute): Ignore any subtype for now.
+
+	* fold-const.c (operand_equal_p): Rework to consider two
+	expressions that have embedded identical SAVE_EXPRs as
+	equivalent; also handle some more cases.
+
+Sun Jan  5 23:54:34 1997  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (pic_load_label): Fix test for using just an
+	ldo rather than an addil;ldo sequence to load the label's
+	address.
+
+Sun Jan  5 07:26:47 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COMPONENT_REF): Fix error in last
+	change: don't suppress conversion if just EXPAND_SUM.
+
+Sat Jan  4 18:44:01 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.h (struct tree_decl): saved_insns.i is HOST_WIDE_INT.
+
+	* fold-const.c (const_binop): Rework to only make constants in
+	one place; always use size_int if small enough and of sizetype.
+	(size_int): Call force_fit_type.
+	(fold): Avoid ever changing type of input tree.
+
+	* expr.c (get_inner_reference): Fix type error.
+	(expand_expr, case COMPONENT_REF): Don't convert if modifier
+	is EXPAND_CONST_ADDRESS, EXPAND_SUM, or EXPAND_INITIALIZER.
+	* tree.c (staticp, case COMPONENT_REF, BIT_FIELD_REF): Not
+	static if bitfield.
+
+	* expr.c (expand_expr, case COMPONENT_REF):  If taking value
+	from a CONSTRUCTOR, must mask/sign-extend if bitfield.
+	(expand_builtin, case BUILT_IN_LONGJMP): Pass type, not IDENTIFIER,
+	to second arg of RETURN_POPS_ARGS.
+
+	* expr.c (expand_expr, case COND_EXPR): Add additional cases
+	to "singleton" cases.
+	* tree.c (integer_pow2): Mask value to width of type.
+	(tree_log2): New function.
+
+	* expmed.c (store_fixed_bit_field): If not SLOW_UNALIGNED_ACCESS,
+	treat everything as maximally aligned.
+
+	* combine.c (find_split_point, case SET): If SET_SRC is NE and
+	STORE_FLAG_VALUE is -1, see if we can convert into NEG of shift.
+	(force_to_mode, case NE): Make condition stricter.
+
+	* calls.c (emit_library_call_value): Remove redundant check for
+	outmode != VOIDmode.
+
+Sat Jan  4 08:12:16 1997  J.T. Conklin  <jtc@rhino.cygnus.com>
+
+	* Optimizations from John Vickers (john@rhizik.demon.co.uk):
+	* m68k.c (output_function_{pro,epi}logue): Use addq/subq when
+	adjusting stack pointer by small displacements.
+	* m68k.md (addsi3, addhi3): Use two addqw (or subqw) insns when
+	adding (or subtracting) small integer constants (8 < N <= 16) to
+	both address and data registers.
+
+Sat Jan  4 07:06:07 1997  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+
+	* loop.c (basic_induction_var): Return 0 if SUBREG is not a
+	promoted variable.
+
+Sat Jan  4 06:22:36 1997  Doug Rupp  (rupp@gnat.com)
+
+	* alpha.c (vmskrunch): Try to not chop trailing uppercase letters.
+	* alpha/vms.h (ENDFILE_SPEC): Use "gnu", not "gnu_cc".
+
+	* cccp.c (PRINTF_PROTO): Use __printf__ in __attribute__, not printf.
+	* cexp.y (PRINTF_PROTO): Likewise.
+
+Fri Jan  3 09:01:00 1997  Craig Burley  <burley@gnu.ai.mit.edu>
+
+	* alpha.md (cmov): Fix operand numbers in case involving DF target,
+	DF comparison, and SF source.
+
+Fri Jan  3 08:19:46 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* cpplib.c (macroexpand): Delete any no-reexpansion marker following
+	identifier at beginning of an argu concatenated with what precedes it.
+
+Fri Jan  3 07:59:21 1997  Ken Rose  (rose@netcom.com)
+
+	* reorg.c (fill_slots_from_thread): Skip moved insn in all three cases.
+
+Fri Jan  3 07:51:44 1997  Bob Manson  <manson@cygnus.com>
+
+	* function.c ({push,pop}_function_context_to): Save and restore
+	current_function_args_info.
+	* function.h (struct function): New field args_info.
+
+Fri Jan  3 06:55:09 1997  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* jump.c (rtx_equal_for_thread_p): Return 0 for floating-point.
+
+	* reload.c (find_reloads): If replaced a PLUS or MULT with a
+	simple operand, start over again.
+
+	* va-alpha.h: Check for __VMS__, not VMS.
+
+Thu Jan  2 08:52:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* configure: Finish restoring change of default of objc threads to
+ 	"single" for Linux.
+
+Mon Dec 30 17:03:46 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (fmpy_operands): Remove.  No longer needed.
+	(combinable_add, combinable_copy, combinable_fmpy): Likewise.
+	(combinable_fadd, combineable_fsub): Likewise.
+	(pa_reorg): Call pa_combine_instructions.
+	(pa_combine_instructions): Combine instructions to make things
+	like fmpyadd and fmpysub.
+	(pa_can_combine_p): Helper function for pa_combine_instructions.
+	* pa.md (pa_combine_type): New attribute.  Set it appropriately
+	for various insns.
+	(define_delays): Use a separate define_delay for unconditional
+	branches.
+	(fmpyadd, fmpysub peepholes): Remove, no longer needed.
+	(fmpyadd, fmpysub insns): Add variant with fadd/fsub first,
+	then the fmpy.
+
+Mon Dec 30 14:43:51 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* reg-stack.c (subst_stack_regs_pat): Set src_note explicitly, instead
+	of using invalid aggregate initialization.
+
+	* print-tree.c (print_node): Don't try to print nonexistent
+	TYPE_ATTRIBUTES field of a decl node.
+
+1996-12-30  Richard Stallman  <rms@ethanol.gnu.ai.mit.edu>
+
+	* config.sub: Handle hiuxmpp as system type.
+
+Thu Dec 26 13:33:27 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (init_v4_pic): Explicitly set the length.
+
+Mon Dec 23 19:39:38 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.h (FUNCTION_ARG_REGNO_P): Correct for TARGET_SOFT_FLOAT and
+	TARGET_FLOAT64 cases.
+
+	* integrate.c (function_cannot_inline_p): Reject function with
+	PARALLEL result.
+	(expand_inline_function): Abort if function result not handled.
+
+Sat Dec 21 04:02:46 1996  Jason Merrill  <jason@gerbil.cygnus.com>
+
+	* mips.c (save_restore_insns): Mark large frame setup insns
+	as frame-related.
+	(mips_expand_prologue): Likewise.
+
+	* dwarf2out.c (dwarf2out_frame_debug): Support MIPS large frames.
+	(add_bound_info): Use default lower bounds.
+	Handle simple variable bounds with a DIE ref.
+	Don't generate a NULL loc descr.
+	(add_subscript_info): Always add lower bound.
+	(gen_formal_parameter_die): Always equate_decl_number_to_die.
+	(gen_variable_die): Likewise.  Don't use the old die for automatic
+	variables.
+
+Wed Dec 18 10:23:46 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (notice_update_cc): Enable this code.
+	* mn10300.h (CC_OVERFLOW_UNUSABLE): Define.
+	* mn10300.md (tstsi): Use "set_zn_c0" instead of "set" for cc status.
+	(addsi3 pattern): Break "inc" into two different alternatives
+	since "inc dn" sets cc0, but "inc an" does not.
+	(multiply and divide patterns): Fix cc status.
+	(bCC, inverted bCC): Restore any comparison which needs the
+	overflow bits when CC_OVERFLOW_UNUSABLE is set.
+	(zero and sign extensions): Fix cc status.
+	(movm_store): Likewise.
+
+Tue Dec 17 15:02:44 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sched.c (update_flow_info): When add REG_DEAD notes for dest of
+	last insn, add check for global_regs.
+
+Tue Dec 17 11:07:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/win-nt.h (HAS_INIT_SECTION): Delete, so that __main is
+	called from main.
+
+Mon Dec 16 15:28:44 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* combine.c (nonzero_bits): Ifdef out calls to num_sign_bit_copies.
+	Add dummy define/undef for num_sign_bit_copies.
+
+	* dwarfout.c (location_or_const_value_attribute, case CONCAT): Add.
+
+	* combine.c (simplify_comparison): Use mode_width as shift count
+	only if it is less than or equal to HOST_BITS_PER_WIDE_INT.
+
+Mon Dec 16 10:10:11 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c (expand_epilogue): Restore registers in the
+	"ret" instruction instead of a separate movm instruction.
+	Support possible stack deallocation in "ret" instruction too.
+	* mn10300.md (return_internal): Use "ret" instead of "rets";
+	restore registers and deallocate stack as needed.
+	(load_movm): Delete unused pattern.
+
+	* mn10300.h (SMALL_REGISTER_CLASSES): Define.
+
+Fri Dec 13 14:46:54 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.md (dect): Rewrite pattern so that it can be combined.
+
+Fri Dec 13 13:14:51 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* varasm.c (output_constant_pool): If ASM_OUTPUT_POOL_EPILOGUE is
+	defined, call it.
+
+Thu Dec 12 20:04:55 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* rtl.h (RTX_FRAME_RELATED_P): New macro.
+	(struct rtx_def): Add frame_related bitfield.
+	* final.c (final_scan_insn): Call dwarf2out_frame_debug.  
+	Don't call dwarf2out_begin_function.
+	(final): Initialize dwarf2out_frame_debug.
+	* dwarf2out.c (dwarf2out_begin_function): Remove.
+	(dwarf2out_init): Use INCOMING_RETURN_ADDR_RTX.
+	(DWARF_CIE_DATA_ALIGNMENT): Generalize.
+	(DWARF_FRAME_REGNUM): Don't add 1.
+	(decode_cfi_rtl): Lose.
+	(dwarf2out_def_cfa): Now takes reg and offset directly.
+	(reg_save): Likewise.
+	(dwarf2out_reg_save): Now takes offset.
+	(initial_return_save): Grok INCOMING_RETURN_ADDR_RTX.
+	Replaces dwarf2out_return_save.
+	(dwarf2out_cfi_label): New fn.
+	(add_fde_cfi): Use it.
+	(dwarf2out_frame_debug): New fn.
+	* mips.h (DWARF_FRAME_REGNUM): Tweak r31.
+	(INCOMING_RETURN_ADDR_RTX): Define.
+	* mips.c (mips_expand_prologue): Set RTX_FRAME_RELATED_P as needed.
+	(save_restore_insns): Likewise.
+	* i386.c (ix86_expand_prologue): Likewise.
+	* i386.h (INCOMING_RETURN_ADDR_RTX): Define.
+	(DWARF_FRAME_RETURN_COLUMN): Define.
+
+	* dwarf2out.c (add_AT_long_long): Renamed from add_AT_double for
+	clarity.
+	(print_die): Adjust.
+	(add_AT_float): New fn.
+	(add_const_value_attribute): Support fp values.
+	(size_of_die): Use blocks for long_long and fp values.
+	(value_format): Likewise.
+	(output_die): Likewise.
+	(output_loc_operands): Don't support DW_OP_const8?.
+
+Thu Dec 12 19:49:09 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* varasm.c (CONSTANT_POOL_BEFORE_FUNCTION): Define if not
+	defined.
+	(assemble_start_function): Check CONSTANT_POOL_BEFORE_FUNCTION
+	to decide whether to call output_constant_pool.
+	(assemble_end_function): Likewise.
+
+	* calls.c: Check SMALL_REGISTER_CLASSES at run time as well as at
+	compile time.
+	* combine.c, cse.c, function.c, jump.c, local-alloc.c: Likewise.
+	* loop.c, reload.c, reload1.c: Likewise.
+	* dsp16xx.h (SMALL_REGISTER_CLASSES): Define with value.
+	* h8300.h (SMALL_REGISTER_CLASSES): Likewise.
+	* i386.h (SMALL_REGISTER_CLASSES): Likewise.
+	* pdp11.h (SMALL_REGISTER_CLASSES): Likewise.
+	* sh.h (SMALL_REGISTER_CLASSES): Likewise.
+
+Thu Dec 12 15:25:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (sysv call insns): If flag_pic add @plt suffix.
+
+	* rs6000.md (fix_truncdfsi2_store): Fix offsets > 32k.
+
+	* rs6000/t-ppccomm: New file for common parts of embedded and
+	System V target Makefile support.
+
+	* rs6000/t-ppcos: New file for System V OS target Makefile
+	support.
+
+	* rs6000/t-solaris: Delete, merge into rs6000/t-ppcos.
+
+	* rs6000/t-{ppc,ppcgas}: Only keep the multilib specific parts,
+	moving the rest to rs6000/t-ppccomm.
+
+	* configure (powerpc*-*-*): For embedded and System V
+	configurations, add rs6000/t-ppccomm.  For Linux and Solaris, use
+	t-ppcos.
+
+	* ginclude/ppc-asm.h (cr*, f*): Add new macros for register names.
+
+	* rs6000/sol-c0.c (_start): Fix uninitialized data bug.
+
+	* rs6000.md (init_v4_pic): Add @local to call.
+	(icbi,dcbst,sync,isync): Delete PowerPC cache control insns.
+
+	* rs6000/sysv4.h (ASM_SPEC): On explicit -mcall-solaris, pass
+	-msolaris to the assembler.
+
+	* rs6000.c (rs6000_sync_trampoline): Delete.
+	(rs6000_trampoline_template): Aix & System V don't need template now.
+	(rs6000_initialize_trampoline): For System V, call the function
+	__trampoline_setup to set up the trampoline.
+
+	* rs6000.h (TRAMPOLINE_TEMPLATE): Delete here.
+	* rs6000/win-nt.h (TRAMPOLINE_TEMPLATE): Add it here.
+
+	* rs6000/tramp.asm: New file, setup trampolines properly on System
+	V systems, properly flushing the caches.
+
+Thu Dec 12 10:53:10 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* reorg.c (fill_slots_from_thread): Don't call eligible_for_delay
+	with an insn with asm operands.
+
+	* expmed.c (emit_store_flag_force): Fix typos/thinkos.
+
+Thu Dec 12 08:09:20 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* i386.c (i386_return_pops_args): Libcalls ignore TARGET_RTD.
+
+Thu Dec 12 07:56:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.h (maybe_get_identifier): New declaration.
+
+	* calls.c (emit_library_call): Don't pass VOIDmode to type_for_mode.
+
+	* va-alpha.h: Add definitions for VMS; they differ from Unix.
+
+	* Makefile.in (stamp-objlist): Handle first character of object 
+	file being a digit.
+
+	* 1750a.h (function_arg, {movcnt,mod}_regno_adjust): Add decls.
+	(branch_or_jump): Likewise.
+	(FUNCTION_ARG): Remove cast of function_arg result to rtx.
+	* 1750a.md: Remove unneeded casts to char *.
+
+Thu Dec 12 05:55:27 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.c (arm_gen_constant, case [IX]OR): Don't invert constant if
+	loading into temporary.
+
+Wed Dec 11 18:57:21 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* toplev.c (rest_of_compilation): Make sure unwinder RTL is saved.
+
+	* collect2.c (write_c_file): Wrap the ctor/dtor lists and fns
+	with `extern "C" { ... }'.
+
+Wed Dec 11 17:46:48 1996  John F. Carr  <jfc@mit.edu>
+
+	* tree.h (tree_decl): Reorder field declarations to reduce size
+	on 64 bit machines.
+
+	* combine.c (try_combine): When splitting an insn, check for the
+	new I2 setting a SUBREG.
+
+Wed Dec 11 17:00:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of
+	using "%ld".
+	(output_prolog): Don't print useless comment for VMS.
+
+	* alpha.c (output_prolog): SIZE is now HOST_WIDE_INT.
+	* alpha.md (mov[hq]i unnamed): Split up for TARGET_BYTE_OPS and not.
+
+	* function.c (fixup_var_refs_1, case ZERO_EXTRACT): Don't call
+	fixup_memory_subreg if no longer SUBREG of MEM.
+
+Wed Dec 11 14:10:48 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* mn10300.c: New file for Matsushita MN10300 port.
+	* mn10300.h, mn10300.md, t-mn10300, xm-mn10300.h: Likewise.
+	* config.sub: Recognize mn10300 as a basic machine type.
+	* configure: Similarly.
+	* ginclude/stdarg.h: mn10300 is little endian.
+	* ginclude/varargs.h: Likewise.
+
+Wed Dec 11 09:09:10 1996  Nagai Takayuki <nagai@ics.es.osaka-u.ac.jp>
+
+	* libgcc2.c (cacheflush): Add SONY NEWS-OS 4.2 version.
+
+Wed Dec 11 09:01:39 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* calls.c (emit_library_call, emit_library_call_value):
+	Don't pass an identifier node as function type for
+	library functions, but rather build a function type that
+	has a return type with the correct mode.
+	* i386.c (i386_return_pops_args): Don't test for IDENTIFIER_NODE.
+	* i386/isc.h (obsolete RETURN_POPS_ARGS): Test first argument
+	for IDENTIFIER_NODE.
+	* i386/next.h (RETURN_POPS_ARGS): Likewise.
+	* i386/sco.h (RETURN_POPS_ARGS): Likewise.
+	* i386/sco5.h (RETURN_POPS_ARGS): Likewise.
+	* i386/scodbx.h (RETURN_POPS_ARGS): Likewise.
+	* m68k.h (RETURN_POPS_ARGS): Likewise.
+	* ns32k.h (RETURN_POPS_ARGS): Likewise.
+	* pyr.h (RETURN_POPS_ARGS): Likewise.
+	* gmicro.h (RETURN_POPS_ARGS): Likewise; fix typo.
+
+Tue Dec 10 17:36:47 1996  J.T. Conklin  <jtc@rhino.cygnus.com>
+
+	* Add optimizations from John Vickers (john@rhizik.demon.co.uk)
+	* m68k.h (TARGET_CPU32): New macro.
+	* m68k.md (add[hs]i3): Only use two addq.w or subq.w instructions
+	when adding or subtracting constants 8 < N < 16 on TARGET_CPU32.
+	Use lea instead of add.w when adding 16 bit constants to address
+	registers on all but TARGET_68040.
+	* m68k.c (output_function_{pro,epi}logue): Use lea instead of add.w
+	when adjusting stack pointer on all but TARGET_68040.
+	
+Tue Dec 10 15:55:23 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* optabs.c (emit_unop_insn): Treat ZERO_EXTEND like SIGN_EXTEND.
+
+Tue Dec 10 13:47:24 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+	* combine.c (combinable_i3pat): Bring back to sync with can_combine_p.
+
+	* sh.h (ADJUST_INSN_LENGTH): Don't break from loop when LOOP_BEG found.
+	Calculate padding in new variable pad.
+
+Mon Dec  9 18:00:38 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (output_uleb128): Output the value in a human-readable
+ 	comment.
+	(output_sleb128): Likewise.
+	(various): Adjust.
+	(output_call_frame_info): Only output info if it's interesting.
+	(add_src_coords_attributes): New fn.
+	(add_name_and_src_coords_attributes): Split out from here.
+	(gen_enumeration_type_die): Add src coordinates.
+	(gen_struct_or_union_type_die): Likewise.
+	(dwarf2out_finish): Call output_call_frame_info for all targets.
+
+Thu Dec  5 11:25:30 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (add_pure_or_virtual_attribute): Only add 
+	AT_containing_type if -g2 or higher.
+
+	* dwarf2out.c (gen_struct_or_union_type_die): Make sure that
+	the type for AT_containing_type has been generated.
+	(gen_decl_die): Likewise.
+
+	* dwarf2out.c (type_tag): Check DECL_IGNORED_P.
+	(add_pure_or_virtual_attribute): Check DECL_VINDEX instead.
+	(scope_die_for): Likewise.
+	* dwarfout.c (type_tag): Likewise.
+
+Wed Dec  4 22:51:38 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (decode_cfi_rtl): Support getting a CONST_INT.
+	(dwarf2out_begin_function): Adjust.
+	(reg_save): Divide offset by the alignment.
+	(output_cfi): Support having more than one advance_loc.
+	(output_call_frame_info): Re-initialize current_label.
+	(dwarf2out_begin_prologue): Initialize current_label to NULL.
+	(lookup_cfa, lookup_cfa_1): New fns.
+	(dwarf2out_def_cfa): Call lookup_cfa.
+	(dwarf2out_finish): Don't generate CIE CFIs.
+	(dwarf2out_init): Generate them here.
+	(DWARF_FRAME_RETURN_COLUMN): Use PC_REGNUM.
+
+	(add_pure_or_virtual_attribute): Note virtual context.
+	(gen_formal_parameter_die): Return the die.
+	(gen_formal_types_die): Set AT_artificial on `this'.
+	(gen_subprogram_die): Add AT_accessibility.
+	(gen_variable_die): Likewise.
+	(gen_field_die): Likewise.  Don't generate location attribute for
+	union members.
+	(gen_struct_or_union_type_die): Note where our vtable lives.
+	(gen_decl_die): Handle anonymous union fields.
+	(dwarf2out_decl): Always output `bool'.
+
+Mon Dec  2 03:55:15 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* final.c (final_end_function): Don't call dwarf2out_end_function.
+
+	* dwarf2out.c (output_line_info): Emit special opcodes for each line
+	entry, even if the line number doesn't change.
+	(pend_type, output_pending_types_for_scope): New fns.
+	(gen_struct_or_union_type_die): Use them to defer generating member
+	dies if we're in the middle of some other context.
+	(gen_type_die): Still put nested types in the right place.
+	(dwarf2out_decl): Call output_pending_types_for_scope.
+
+	* dwarf2out.c (dw_fde_struct): Replace end_prologue, begin_epilogue
+	with current_label.
+	(DWARF_CIE_INSN_SIZE, DWARF_CIE_SIZE): Remove.
+	(DWARF_CIE_HEADER_SIZE): The size without the initial insns.
+	(size_of_cfi): Revert.
+	(decode_cfi_rtl, add_fde_cfi, dwarf2out_def_cfa, reg_save,
+	dwarf2out_reg_save, dwarf2out_return_save): New fns.
+	(dwarf2out_begin_function): Use them to generate CFIs.
+	(dwarf2out_finish): Use them to generate E CFIs.  
+	Don't set next_fde_offset.
+	(calc_fde_sizes): Initialize cie_size.
+	(output_call_frame_info): Don't generate CIE CFIs.
+	(dwarf2out_end_function): Remove.
+
+	* tree.c (maybe_get_identifier): New fn.
+	* varasm.c (assemble_name): Use it instead of get_identifier.
+
+Fri Nov 29 15:13:39 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* jump.c (jump_optimize): Don't move initialization if there is a
+	label between it and the jump for if (foo) bar++ to bar += (foo !=0)
+	
+Wed Nov 27 16:21:14 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+	
+	* Remove change of Oct 4.
+	* i386.h (outer_function_chain): Remove.
+	(current_function_calls_alloca): Remove.
+	(rtx_equal_function_value_matters): Remove.
+	(N_REGS_USED, N_ALLOCATABLE_REGISTERS): Remove.
+	* i386.md (adddi3_1, subdi3_1): Remove.
+	(adddi3, subdi3): Revert.
+	(movsf, movsf_mem, movsf_normal, movdf, movdf_mem, movdf_mem+1):
+	Likewise. 
+	(movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
+	(adddi3_1, subsidi3, subdi3_1): Likewise.
+	(addsidi3_1, addsidi3_2, subsidi3): Likewise.
+	(addsidi3_1, addsidi3_2, adddi3, subsidi3): Disable the problem
+	reload alternatives. 
+	
+Wed Nov 27 16:21:14 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* i386.md (ashldi3_non_const_int, ashrdi3_non_const_int):
+	Use a hidden branch to handle shifts > 32 bit.
+	(lshrdi3_non_const_int): Likewise.
+	(floatdixf2): Don't use unnecessary XFmode operation.
+
+Wed Nov 27 15:23:41 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* varasm.c (assemble_variable): Don't emit DWARF.
+
+	* toplev.c (rest_of_type_compilation): Don't emit DWARF.
+	(main): Just let -gdwarf mean DWARF v1; remove -gdwarf-1.
+
+	* dwarfout.c (decl_class_context): New fn.
+	(output_global_subroutine_die): Fix declaration case.
+	(output_global_variable_die): Likewise.
+	(output_type): Note when we are in a class defn.  If we're a nested
+	type and our context hasn't been written, do that.  Do early exit
+	for nested types.
+	(output_decl): Output the class context for fns and vars.
+	Don't emit detailed parm info for a fn declaration.
+	Use TYPE_DECL_IS_STUB, is_redundant_typedef.
+	(type_ok_for_scope): Support emitting nested types later.
+	(is_redundant_typedef): New fn.
+	(TYPE_DECL_IS_STUB): New macro.
+	(output_compile_unit_die): Check use_gnu_debug_info_extensions.
+	(output_local_subroutine_die, output_global_subroutine_die,
+	dwarfout_begin_function, dwarfout_end_function, dwarfout_line,
+	generate_macinfo_entry, dwarfout_init, dwarfout_finish): Likewise.
+
+	* dwarf2out.c (decl_class_context): Static.
+	(lookup_type_die): Use TYPE_SYMTAB_POINTER.
+	(equate_type_number_to_die): Likewise.
+	(gen_subprogram_die): If we're in class context, it's a decl.
+	(gen_variable_die): Likewise.
+	(gen_decl_die): Output the containing type.
+	(dwarf2out_init): Lose type_die_table code.
+
+Wed Nov 27 08:30:54 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+        * Makefile.in (DRIVER_DEFINES): New macro, with the macro
+        definitions for the driver.
+        (gcc.o): Make rule use $(DRIVER_DEFINES).
+        * gcc.c (process_command) [LANG_SPECIFIC_DRIVER]: Call
+        lang_specific_driver, passing along the addr of FATAL for errors
+        along with our ARGC and ARGV.
+
+Wed Nov 27 08:21:13 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.md (iorsi_zexthi_ashl16): New pattern.
+	(ashrsi_16): New name for old unnamed pattern.
+
+	* objc/misc.c (stdlib.h): Define __USE_FIXED_PROTOTYPES__ before
+	including stdlib.h.
+
+Wed Nov 27 08:17:34 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+        * i386.md (decrement_and_branch_until_zero+[3-8]): Add missing
+	CC_STATUS_INIT.
+	(decrement_and_branch_until_zero+[5-8]): Delete redundant assignment.
+
+Wed Nov 27 07:56:27 1996  J.T. Conklin  <jtc@rhino.cygnus.com>
+
+	* m68k.md ({and,ior,xor}si3_internal): Removed !TARGET_5200 from
+ 	conditionals now that entire insn is disabled when !TARGET_5200.
+	
+Wed Nov 27 07:52:32 1996  Oliver Kellogg  <kellogg@space.otn.dasa.de>
+
+	* 1750a.md (movhi pattern):  Fixed MEM to MEM move problem.
+
+Tue Nov 26 14:50:54 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (move_by_pieces): Abort only if length positive at end.
+	* function.c (frame_offset, get_frame_size): Make HOST_WIDE_INT.
+	* function.h (struct function): Make frame_offset be HOST_WIDE_INT.
+	(get_frame_size): Add definition.
+	* reload1.c (reload): Make starting_frame_size be HOST_WIDE_INT.
+
+Mon Nov 25 16:55:14 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (dwarf2out_finish): Don't emit call frame info
+	for non-MIPS targets.
+	(is_redundant_typedef): New fn.
+	(modified_type_die): Refer to typedef DIEs where appropriate.
+	(gen_typedef_die): Support DECL_ORIGINAL_TYPE.
+	(gen_type_die): Likewise.  Use is_redundant_typedef.
+	(gen_subprogram_die): Don't force a spec DIE for local class methods.
+
+Mon Nov 25 15:09:12 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* gcc.c (handle_braces): Rework last change.
+
+Mon Nov 25 13:49:51 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (build_exeext, exeext): New variables.  Use sed to insert
+	build_exeext value into Makefile exeext rule.
+	(*-*-cygwin32): Set exeext.
+	* i386/x-cygwin32 (exeext): Delete.
+	* rs6000/x-cygwin32 (exeext): Delete.
+
+	* dwarf.h (enum dwarf_location_atom): Add OP_MULT.
+	* dwarfout.c (output_mem_loc_descriptor, case MULT): Add.
+	* dwarfout2.c (mem_loc_descriptor, case MULT): Add.
+
+	* dwarfout.c (dwarf_fund_type_name, case FT_unsigned_int64): Fix typo.
+
+Sun Nov 24 21:42:01 1996  J.T. Conklin  <jtc@rhino.cygnus.com>
+
+	* m68k.md (andsi3): Changed into define_expand.
+	(andsi3_internal): Rename from old andsi3, changed condition
+	to !TARGET_5200.
+	(andsi2_5200): New insn.
+	(iorsi3): Change into define_expand.
+	(iorsi2_internal): Rename from old iorsi3, changed condition 
+	to !TARGET_5200.
+	(iorsi2_5200): New insn.
+	(xorsi3): Change into define_expand.
+	(xorsi2_internal): Rename from old xorsi3, changed condition 
+	to !TARGET_5200.
+	(xorsi2_5200): New insn.
+
+Sun Nov 24 21:31:32 1996  John F. Carr  <jfc@mit.edu>
+
+	* i386.h (N_ALLOCATABLE_REGISTERS): Remove extra backslash at
+	end of macro definition.
+
+	* cpplib.c (LOCAL_INCLUDE_DIR): Remove default definition.
+	(include_defaults_array): Do not use LOCAL_INCLUDE_DIR or
+	TOOL_INCLUDE_DIR if they are not defined.
+	* cccp.c: Likewise.
+
+	* Makefile.in (cppmain.o): New rule.
+
+Sun Nov 24 19:14:50 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* fold-const.c (merge_ranges): In (+,-) case, if lower bounds are
+	the same the result is always false.
+
+Sun Nov 24 18:48:31 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* c-typeck.c (build_indirect_ref): Don't give warning for
+ 	dereferencing void * if evaluation is being skipped.
+
+	* c-decl.c (poplevel): Don't call output_inline_function if
+	DECL_SAVED_INSNS is not set.
+
+	* gcc.c (give_switch): Add new arg, INCLUDE_BLANKS.
+	(handle_braces): All callers changed.
+	Add support for new construct: %{S*^}.
+
+Sun Nov 24 18:44:48 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* c-parse.in (unary_expr, expr_no_commas): Increment skip_evaluation
+	when analyzing an expression that is known not to be evaluated.
+	(sizeof, alignof): New rules.
+	* c-tree.h (skip_evaluation): New variable.
+	* c-common.c (skip_evaluation): Likewise.
+	(overflow_warning, unsigned_conversion_warning): Don't warn about
+	potential runtime errors when skipping evaluation.
+	* c-typeck.c (build_binary_op): Likewise.
+	(build_conditional_expr): op1 now always nonnull.
+
+Sun Nov 24 17:06:58 1996  Bernd Schmidt  (crux@Pool.Informatik.RWTH-Aachen.DE)
+
+	* toplev.c (rest_of_compilation): Call regscan before each
+	jump threading pass.
+
+Sun Nov 24 16:37:18 1996  Dave Love  <d.love@dl.ac.uk>
+
+	* configure (objc_thread_file): Set conditionally in each case so
+	may be overidden with `--enable-objcthreads=posix'.
+	Change Linux default to `single'.
+
+Fri Nov 22 17:53:15 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* varasm.c (assemble_variable): Output DWARF in the third case, too.
+
+	* dwarf2out.c (decls_for_scope): Only add DIEs with no parents to
+	our scope.
+	(gen_subroutine_type_die): Parm types go under the fn type DIE.
+
+	* Makefile.in ($(T)crt{begin,end}.o): Move CRTSTUFF_T_CFLAGS after 
+	general flags.
+
+	* mips/t-iris6 (CRTSTUFF_T_CFLAGS): Define.
+	* mips.c (compute_frame_size): Fix fp_save_offset.
+
+	* dwarf2out.c (new_die): If we get a NULL parent, inc limbo_die_count.
+	(decls_for_scope): Decrement limbo_die_count as appropriate.
+	(dwarf2out_finish): Check for good limbo_die_count.
+	(size_of_cfi): If regno too big for DW_CFA_offset, use offset_extended
+	instead.
+	(output_call_frame_info): Add disabled code for specifying ABI.
+	(dwarf2out_begin_function): Note all saved regs.
+
+	* dwarf2out.c (gen_subprogram_die): Have a DIE for each fn at
+	toplevel.
+	(scope_die_for): Only use the NULL for fns and tags.
+
+Tue Nov 21 15:53:51 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (output_stack_adjust): New argument TEMP.  Changed all callers. 
+	If the adjust cannot be done with one, but can be done with two 
+	CONST_OK_FOR_I constants, do it that way.
+
+Thu Nov 21 14:25:55 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Include <stdio.h> in <assert.h> even if not C++ if
+	stderr needs to be defined.
+
+Wed Nov 20 15:38:13 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (rest_of_type_compilation): Do output function-scope tags
+	for DWARF 2.
+	* c-decl.c (pushtag): Set TYPE_CONTEXT on the tag.
+	* toplev.c, varasm.c: s/dwarf2out_file_scope_decl/dwarf2out_decl/g.
+	* dwarf2out.c (add_prototyped_attribute): Use a value of 1.
+	(gen_subprogram_die): Support AT_static_link.
+	(dwarf2out_decl): Rename from dwarf2out_file_scope_decl.
+	Give nested fns and tags a die_parent of NULL.
+	(decls_for_scope): Fix the die_parent for nested fns and tags.
+	(scope_die_for): If we get a context of NULL, just return it.
+
+Tue Nov 19 18:21:11 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (gen_subprogram_die): Support block extern decls.
+	(gen_variable_die): Likewise.
+	(gen_decl_die): Emit block extern function decls.
+
+	* c-decl.c (implicitly_declare): Set DECL_ARTIFICIAL.
+
+Tue Nov 19 16:50:32 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* configure (powerpc*-{sysv,elf,eabi{,aix,sim}}): Set
+	extra_headers to ppc-asm.h.
+	(powerpc*-{linux,solaris,rtems,vxworks}): Ditto.
+	(powerpc*-{winnt,pe,cygwin32}): Ditto.
+
+	* rs6000/t-{ppc,ppcgas,solaris,winnt} (EXTRA_HEADERS): Don't set
+	it here.
+
+Mon Nov 18 14:51:46 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (DWARF_CIE_INSN_SIZE): New macro.
+	(DWARF_CIE_HEADER_SIZE): Use it.
+	(DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): New macros.
+	(output_call_frame_info, dwarf2out_begin_function): Use them.  
+	For the MIPS, output the first CFA insn in the CIE.
+	* dwarf2.h (enum dwarf_call_reg_usage): Lose.
+	(dwarf_macinfo_record_type): Fix spelling.
+	* mips/mips.h (DWARF_FRAME_REGNUM, DWARF_FRAME_RETURN_COLUMN): Define.
+
+	* dwarf2out.c (base_type_die): Just generate the DIEs as needed,
+ 	rather than building up some table.
+	(init_base_type_table): Lose.
+	(add_subscript_info): Use add_type_attribute.  Don't give an upper
+	bound for an array of unknown size.
+	(gen_unspecified_parameters_die): Remove DWARF-1 kludge.
+	(dwarf2out_init): Lose call to init_base_type_table.
+	(is_c_family, is_fortran): New fns.
+	(gen_compile_unit_die): Recognize GNU F77.
+	(gen_array_type_die): Use AT_declaration for an array of unknown size.
+	(modified_type_die): Take TYPE_MAIN_VARIANT before passing it
+	to build_type_variant, so we ignore named variants.
+	(dwarf2out_file_scope_decl): Don't generate DIEs for built-in structs,
+	either; they will be emitted if they are used.
+	From wilson:
+	(gen_array_type_die): Force the element type out first on IRIX 6.
+
+Sun Nov 17 20:23:11 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (get_inner_reference): Fix error in previous change.
+
+Sat Nov 16 06:08:27 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (operand_subword): Avoid confusion if sizeof (float)
+	is less than a full word.
+
+	* alpha.h (MASK_BYTE_OPS): Now define as 1024.
+	* alpha/vms.h (TARGET_DEFAULT): Use symbolic values.
+
+	* expr.c (get_inner_reference): Add new arg PALIGNMENT and compute it.
+	(expand_assignment, do_jump): Pass new arg to get_inner_reference.
+	(expand_expr, case COMPONENT_REF): Likewise.
+	* fold-const.c (optimize_bit_field_compare, decode_field_reference):
+	Likewise.
+	* tree.h (get_inner_reference): Add new arg.
+
+	* Add support for Alpha/VMS, mostly from
+	Klaus Kaempf (kkaempf@progis.de)
+	* configure (alpha-dec-vms*): New target.
+	* alpha.c (override_options): Handle VAX format floating-point.
+	(print_operand, case ',', '-'): New cases.
+	(alpha_builtin_saveregs): Handle VMS convention.
+	(alpha_sa_{mask,size}, alpha_pv_save_size, alpha_using_fp):
+	New versions for VMS.
+	(output_{pro,epi}logue, function_arg): Likewise.
+	(direct_return): Never true on VMS.
+	(check_float_value): Return 0 for VMS.
+	(vmskrunch, alpha_{need,write}_linkage): New function.
+	* alpha.h ({MASK,TARGET}_{OPEN_VMS,FLOAT_VAX}): New macros.
+	(TARGET_SWITCHES): Add float-vax and float-ieee.
+	({FUNCTION,LIBCALL}_VALUE, FUNCTION_VALUE_REGNO_P): R1 and R33
+	are also return registers.
+	(ASM_OUTPUT_DOUBLE): Support both floating-point formats.
+	(PRINT_OPERAND_FUNCT_VALID_P): Add ',' and '-'.
+	* alpha.md ({div,mod}[sd]i3): Only for VMS.
+	(fp operations): Add modifiers for multiple floating-point formats.
+	(call patterns): Handle new calling sequence for VMS.
+	(tablejump): Make new pattern for VMS.
+	(nonlocal_goto_receiver, arg_home): New patterns.
+	* alpha/t-vms, alpha/vms.h, alpha/xm-vms.h: New files.
+
+Fri Nov 15 17:38:20 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* sdbout.c (current_file): New global.
+	(PUT_SDB_SRC_FILE): New PUT_SDB_FOO macro.
+	(sdbout_init): Initialize current_file ifdef MIPS_DEBUGGING_INFO.
+	(sdbout_{start_new,resume_previous}_source_file): New functions.
+	* toplev.c (debug_{start,end}_source_file): Call them if SDB_DEBUG.
+	* mips.h (PUT_SDB_SRC_FILE): Define.
+
+Fri Nov 15 16:11:25 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarfout.c (dwarfout_line): Don't emit line number info for
+	functions outside of .text.
+
+Fri Nov 15 15:52:42 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386/386bsd.h (COMMENT_BEGIN): Delete.
+	* i386/freebsd.h (COMMENT_BEGIN): Likewise.
+	* i386/netbsd.h (COMMENT_BEGIN): Likewise.
+	* i386/unix.h (COMMENT_BEGIN): Likewise.
+
+Fri Nov 15 13:22:42 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* fold-const.c (unextend): Rewrite type conversions to avoid overflow.
+
+Fri Nov 15 12:11:28 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Properly copy an rtvec.
+	* emit-rtl.c (gen_rtvec_vv): New function.
+	(copy_rtx_if_shared): Call it.
+	* integrate.c (copy_for_inline): Likewise.
+	* reload1.c (eliminate_regs): Likewise.
+	* rtl.h (gen_rtvec_vv): Declare.
+	* genattrtab.c (simplify_cond): Make TESTS an array of rtunions.
+	* genextract.c (main): Use loop, not bcopy, to set recog_operands
+	from an rtvec.
+	* rtl.c (rtvec_alloc): Clear rtwint instead of rtvec.
+
+	* machmode.h (HOST_PTR_PRINTF): Handle char * wider than long.
+	(HOST_WIDE_INT_PRINT_{DEC,UNSIGNED,HEX,DOUBLE_HEX}): New macros.
+	* final.c (asm_fprintf): Use "ll" prefix for a long long HOST_WIDE_INT.
+	(output_{asm_insn,addr_const}): Use HOST_WIDE_INT_PRINT_*.
+	* print-tree.c (print_node{,_brief}, case INTEGER_CST): Likewise.
+	* print-rtl.c (print_rtx, case 'w'): Use HOST_WIDE_INT_PRINT_DEC.
+
+	* unroll.c (iteration_info): Fix code so that it knows iteration_var
+	is a HOST_WIDE_INT, not a long.
+
+	* fold-const.c (operand_equal_p): Do real comparison with
+	REAL_VALUES_EQUAL.
+	(make_range): Properly decide when to get TREE_TYPE of arg0.
+	Handle EXP being an INTEGER_CST at end.
+	(fold_range_test): Handle return of 0 from make_range.
+	(fold, case TRUTH_AND_EXPR): Handle first arg of 0.
+	(fold, case TRUTH_OR_EXPR): Handle first arg of 1.
+
+	* c-common.c (decl_attributes, case A_ALIAS): Add missing parens.
+
+Fri Nov 15 06:37:54 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* fold-const.c (range_binop): Set SNG1 to zero if ARG1 is a
+	not a lower or upper bound.
+
+Thu Nov 14 23:08:25 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* flags.h (debug_info_type): Add DWARF2_DEBUG.
+	* toplev.c (main): Support DWARF2_DEBUG.  Add -gdwarf-1, -gdwarf-2
+ 	options.  Check debug level after choosing type.
+	(debug_{start,end}_source_file, debug_{define,undef}): New functions.
+	(compile_file): Support dwarf2 separately from dwarf1. 
+	(rest_of_type_compilation, rest_of_compilation): Likewise.
+	* final.c (final_start_function): Likewise.
+	(final_end_function, final_scan_insn, output_source_line): Likewise.
+	* varasm.c (assemble_variable): Likewise.
+	* dwarfout.c: Don't check DWARF_VERSION.
+	* dwarf2out.c: s/dwarfout/dwarf2out/g.  Check DWARF2_DEBUGGING_INFO.
+	* c-lex.c (check_newline): Use debug_* instead of calling *out
+ 	functions directly.
+	* svr4.h (DWARF2_DEBUGGING_INFO): Define.
+	* mips/iris6.h (PREFERRED_DEBUGGING_TYPE): DWARF2_DEBUG.
+	(DWARF2_DEBUGGING_INFO): Define instead of DWARF_DEBUGGING_INFO.
+	(LINK_SPEC): Pass -w through.
+	* mips.h (PREFERRED_DEBUGGING_TYPE): Don't check `len'.
+
+Thu Nov 14 17:25:47 1996  Jeffrey A Law  (law@cygnus.com)
+
+ 	* h8300.c (dosize): Don't clobber static chain reg if needed by
+	current function.
+
+Wed Nov 13 17:05:19 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* Makefile.in (stage?-start): Keep a copy of EXTRA_MULTILIB_PARTS
+	in the build directory.
+
+Tue Nov 12 23:17:17 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (print_operand, case 'Y'): Fix comparisons to handle
+	NaNs properly in all cases.
+
+Tue Nov 12 18:47:24 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (emit_group_store): For REG case, call gen_lowpart if
+	modes are different.
+
+Tue Nov 12 18:24:40 1996  Doug Rupp  (rupp@gnat.com)
+
+	* gcc.c (exit): If VMS, define as __posix_exit.
+	(option_map): Add define-macro and undefine-macro.
+
+Tue Nov 12 17:55:10 1996  Torbjorn Granlund  <tege@tege.pdc.kth.se>
+
+	* alpha.c (input_operand): If TARGET_BYTE_OPS accept HImode and QImode.
+	* alpha.h (MASK_BYTE_OPS): New define.
+	(TARGET_BYTE_OPS): New define.
+	(TARGET_SWITCHES): Handle -mbyte.
+	(LOAD_EXTEND_OP): When MODE is not SImode, return ZERO_EXTEND.
+	* alpha.md (zero_extendqidi2): Handle TARGET_BYTE_OPS.
+	(zero_extendhidi2): Likewise.
+	(zero_extendqisi2): Likewise.
+	(zero_extendhisi2): Likewise.
+	(extendqisi2): Use extendqidi2x if TARGET_BYTE_OPS.
+	(extendqidi2): Likewise.
+	(extendqidi2x): New pattern.
+	(extendhisi2): Use extendhidi2x if TARGET_BYTE_OPS.
+	(extendhidi2): Likewise.
+	(extendhidi2x): New pattern.
+	(movhi): Handle TARGET_BYTE_OPS.
+	(movhi matcher): Output ldwu and stw.
+	(movqi): Handle TARGET_BYTE_OPS.
+	(movqi matcher): Output ldbu and stb.
+
+Tue Nov 12 16:53:37 1996  Rob Savoye  <rob@chinadoll.cygnus.com>
+
+	* configure (hppa1.1-pro*, i960-*-coff*,m68k-*-aout*): Add libgloss.h.
+	(m68k-*-coff*, mips*-*-elf*, sparc*-*-aout*, sparc*-*-coff*): Likewise.
+	* config/libgloss.h: New file.
+
+Tue Nov 12 16:21:45 1996  Joern Rennecke <amylaar@cygnus.com>
+
+	* jump.c (jump_optimize): Fix bug in Sep 23 change.
+
+Tue Nov 12 16:15:31 1996  Andrew Cagney  (cagney@tpgi.com.au)
+
+	* global.c (prune_references): Add missing symmetic CONFLICTP call.
+
+Tue Nov 12 14:34:40 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.c (output_function_{pro,epi}logue): Save and restore
+	fp-registers only if TARGET_68881.
+
+	* m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Prefix labels with "L%".
+	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_CASE_LABEL): Likewise.
+	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+
+	* m68k/mot3300.h (TARGET_DEFAULT): Use MASK_68040_ALSO, not MASK_68040.
+	* m68k/next.h, m68k/ccur-GAS.h (TARGET_DEFAULT): Likewise.
+
+	* fixproto (std_files): Add sys/socket.h.
+
+	* m68k.md (movqi): Emit 'st' for INTVAL & 255 == 255, not INTVAL == -1.
+	(seq,sne,sgt,sgtu,slt,sltu,sge,sgeu,sle,sleu): Allow "m" as operand 0.
+
+Tue Nov 12 14:17:45 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* c-decl.c (grokdeclarator): Generate a warning if -Wimplicit,
+	unless a warning was already generated by -Wreturn-type.
+
+Tue Nov 12 14:11:02 1996  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* Make qsort callback routines conform to the ANSI/ISO standard.
+	* c-decl.c (field_decl_cmp): Use `const void *' arguments.
+	* global.c (allocno_compare): Likewise.
+	* reload1.c (hard_reg_use_compare, compare_spill_regs): Likewise.
+	(reload_reg_class_lower): Likewise.
+	* stupid.c (stupid_reg_compare): Likewise.
+	* local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
+	(QTY_CMP_PRI, QTY_CMP_SUGG): New macros.
+	(qty_compare_1, qty_sugg_compare_1): Use them.
+
+Tue Nov 12 13:20:25 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* fold-const.c (merge_ranges): In (+,-) case, treat subset specially
+	if lower bounds are the same.
+
+Tue Nov 12 13:10:01 1996  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.md (addsi3): If TARGET_5200, use the lea insn to add small
+	constants to address registers.
+	(negsi2): Change into define_expand.
+	(negsi2_internal): Rename from old negsi2, changed condition
+	to !TARGET_5200.
+	(negsi2_5200): New insn.
+	(one_cmplsi2): Change into define_expand.
+	(one_cmplsi2_internal): Rename from old one_cmplsi2, changed
+	condition to !TARGET_5200.
+	(one_cmplsi2_5200): New insn.
+	(negdi2_5200): Corrected constraints.
+	(one_cmpldi2): Changed condition to !TARGET_5200.
+
+	* m68k.c (m68k_align_loops_string, m68k_align_jumps_string): New vars.
+	(m68k_align_funcs_string, m68k_align_loops): Likewise.
+	(m68k_align_jumps, m68k_align_funcs): Likewise.
+	(override_options): New function.
+	* m68k.h (TARGET_OPTIONS): Added alignment options.
+	(MAX_CODE_ALIGN, ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
+	New macros.
+	(FUNCTION_BOUNDARY): Use value derrived from  m68k_align_funcs
+	instead of constant.
+ 
+	* m68k.c (output_function_{pro,epi}logue): Fix typo in last change.
+
+Tue Nov 12 09:26:51 1996  Torbjorn Granlund  <tege@wombat.gnu.ai.mit.edu>
+
+	* i386.md (parallel inc/dec and branch-if-zero/nonzero): Use `+' in
+	constraint.
+
+Mon Nov 11 15:12:22 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+        * libgcc2.c: Also define WEAK_ALIAS if ASM_OUTPUT_WEAK_ALIAS.
+	* mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Define.
+	* varasm.c (assemble_alias): Use ASM_OUTPUT_WEAK_ALIAS.
+
+	* dwarf2out.c (TYPE_USED_FOR_FUNCTION): Lose.
+	(gen_compile_unit_die): Only append -g with -g2 or better.
+	(scope_die_for): Don't emit any type info with -g1.
+	(gen_subprogram_die): Likewise.
+	(gen_decl_die): Likewise.
+	(dwarfout_file_scope_decl): Likewise.
+	(dwarfout_init): Likewise.
+
+	* mips/iris6.h (TYPE_ASM_OP): Define.
+	(SIZE_ASM_OP): Define.
+	(ASM_WEAKEN_LABEL): Define.
+	(BSS_SECTION_ASM_OP): Define.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Don't use ASM_DECLARE_OBJECT_NAME.
+	(ASM_OUTPUT_ALIGNED_BSS): Define.
+	(ASM_DECLARE_OBJECT_NAME): Redefine to emit .size directive.
+	(ASM_FINISH_DECLARE_OBJECT): Define.
+	(ASM_OUTPUT_DEF): Don't define.
+
+Fri Nov  8 20:38:51 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* function.c (expand_function_end): Handle BLKmode structures returned
+	in registers.
+
+Fri Nov  8 20:27:07 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* stor-layout.c (layout_record): Check for VAR_DECL instead 
+	of TREE_STATIC.
+
+	* varasm.c (assemble_variable): Do write out DWARF for 
+	record-scope variables.
+	* toplev.c (rest_of_type_compilation): Do write out DWARF for
+ 	record-scope types.
+
+	* dwarf2out.c (gen_enumeration_type_die): Set TREE_ASM_WRITTEN on a
+	complete enum type.
+	(gen_struct_or_union_type_die): Don't recurse between nested classes.
+	(gen_type_die): Write out nested classes by writing out their context.
+
+Fri Nov  8 17:40:27 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (change_address): If MEMREF isn't changing,
+	return the old one.
+
+	* expr.c (expand_assignment): Remove bogus resetting of alignment
+	to inner alignment.
+	(expand_expr, case COMPONENT_REF): Likewise.
+
+Fri Nov  8 16:31:31 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* reg-stack.c (compare_for_stack_reg, subst_stack_regs_pat): 
+	Add support for float conditional move.
+
+Thu Nov  7 07:46:07 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_record): Treat constant size as variable if
+	it overflows.
+	* fold-const.c (const_binop, case *_DIV_EXPR): Don't do special
+	sizetype case if a constant overflows.
+	(size_binop): Use integer_{zero,one}p instead of explicit test.
+	* tree.c (integer_{zero,one,all_ones,pow2}p, real_{zero,one,two}p):
+	Return 0 if TREE_CONSTANT_OVERFLOW.
+
+Wed Nov  6 17:53:33 1996  Torbjorn Granlund  <tege@wombat.gnu.ai.mit.edu>
+
+	* i386.md (parallel inc and branch-if-zero/nonzero): Add two
+	new pattern variants.  Change incrementing pattern to use incl/jnz.
+
+Wed Nov  6 09:46:10 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (override_options): Set defaults for -march and -mcpu.
+	(output_float_compare): Use cc_status.flags to mark if this
+	comparison can be done with fcomi.
+	(output_fp_cc0_set): A conditional move may be in a PARALLEL.
+
+	* i386.h (CC_FCOMI): Define
+
+	* i386.md (sgt,sgtu,sge,sle,bgt,blt,bge,ble): Use CC_FCOMI
+	(movsicc_1,movhicc_1): Use correct size suffix.
+	(movsfcc_1,movdfcc_1): Cleanup default move case.
+
+Wed Nov  6 09:46:10 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* i386.h (HARD_REGNO_MODE_OK): If long double isn't XFmode, can't
+	allow XFmode.
+
+Tue Nov  5 22:49:56 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.md (define_split for and_shl_scratch):
+	Use rtx_equal_p on the operands to find out which alternative is used.
+	* sh.c (gen_shl_and): Try to generate shorter constant for and.
+
+Mon Nov  4 19:13:52 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c: Clean up unused variables.
+	Use ASM_{GENERATE,OUTPUT}_INTERNAL_LABEL, shorten label names.
+ 	(loc_descriptor): Use reg_loc_descriptor.
+	(TYPE_DECL_IS_STUB): New macro.
+	(gen_decl_die): Use it.
+	(dwarfout_file_scope_decl): Use it.
+
+Mon Nov  4 10:23:46 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* ginclude/va-ppc.h (__va_regsave_t,va_start,va_end): Wrap macro
+	and structures inside #ifndef __VA_PPC_H__ to allow reinclusion.
+
+	* rs6000/rs6000.h (LEGITIMATE_SMALL_DATA_P): Don't allow -fpic or
+	TARGET_TOC.
+	(LEGITIMATE_LO_SUM_ADDRESS_P): Ditto.
+	(LEGITIMIZE_ADDRESS): Ditto.
+
+	* rs6000/rs6000.md (movsi): Don't call elf_{high,low} if -fpic.
+
+	* rs6000/cygwin32.h (STARTFILE_SPEC): Eliminate empty %{}.
+
+Sun Nov  3 15:56:35 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (TARGET_TOC): Plain -fpic does not require a TOC.
+	({MINIMAL_TOC,CONST}_SECTION_ASM_OP): -fpic should be treated like
+	-mrelocatable in these cases.
+	(ASM_OUTPUT_INT): Ditto.
+	(ASM_OUTPUT_SECTION_NAME): Ditto.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Use sdata_section, not sbss_section.
+
+Fri Nov  1 19:57:13 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (based_loc_descr): Use DBX_REGISTER_NUMBER.  The 
+	"frame base" is just the frame or stack reg without an offset.
+	(gen_subprogram_die): Likewise.
+	(dwarfout_begin_function): Use DBX_REGISTER_NUMBER.
+
+Fri Nov  1 09:50:05 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (make_range): Don't merge unsigned case with range
+	containing upper bound; instead merge just with zero and convert
+	a range with no upper bound to opposite one with no lower bound.
+	(merge_ranges): In (+,-) case, don't treat subset specially if
+	the upper bounds are the same; fix typo in others case here.
+
+Thu Oct 31 20:12:13 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* fold-const.c (make_range, case PLUS_EXPR): Correct
+	normalization of an unsigned range that wraps around zero.
+
+Thu Oct 31 21:06:37 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* mips/t-iris6 (EXTRA_MULTILIB_PARTS): Define.
+	(EXTRA_PARTS): Don't define.
+
+	* dwarf2out.c (gen_struct_or_union_type_die): Use AT_specification
+	for nested types defined outside their containing class.  Lose 
+	is_complete.
+	(gen_enumeration_type_die): Lose is_complete.
+	(gen_type_die): Lose is_complete.
+	(add_name_and_src_coords_attributes): Tweak.
+	(gen_subroutine_type_die): Use scope_die_for.
+	(gen_ptr_to_mbr_type_die): Likewise.
+	(gen_subprogram_die): Support AT_artificial.
+	(gen_variable_die): Likewise.
+	(dwarfout_file_scope_decl): Lose finalizing.
+
+Thu Oct 31 18:43:18 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* pa.c (emit_move_sequence): Refine previous change.
+
+Thu Oct 31 13:25:32 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* crtstuff.c: Put HAS_INIT_SECTION ifdefs around Irix6 support.
+
+	* tree.c (decl_function_context): Handle QUAL_UNION_TYPE.
+
+	* calls.c (expand_call): Disable special handling for const calls
+	that return a PARALLEL rtx.
+	* expr.c (expand_expr, case CONSTRUCTOR): Don't use a PARALLEL
+	target.
+
+Thu Oct 31 11:45:00 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/t-{ppcgas,ppc,solaris} (EXTRA_MULTILIB_PARTS): Add
+	{e,s}crt{i,n,0}.o.
+	({stmp,install}-crt): Delete, no longer used.
+	({,INSTALL_}LIBGCC): Remove {stmp,install}-crt rule.
+
+Thu Oct 31 02:49:58 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* i386.md (parallel inc and branch-if-zero/nonzero):
+	Check for -1, not zero.
+
+Wed Oct 30 15:50:49 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (range_binop): Strip NOPs from result and
+	verify it's an INTEGER_CST.
+	(make_range, case BIT_NOT_EXPR): Fix typo in constant for PLUS_EXPR.
+
+	* stor-layout.c (layout_record): Use HOST_WIDE_INT for size.
+
+	* stmt.c (expand_asm_operands): Disallow matching constraints
+	on output and validate the numbers on inputs.
+
+Tue Oct 29 16:21:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* gcc.c (process_command,main): Process -specs=file and -specs
+	file after reading the main specs file to allow the user to
+	override the default.
+	(DEFAULT_WORD_SWITCH_TAKES_ARG): Add specs to list.
+	(option_map): Ditto.
+
+Tue Oct 29 15:49:18 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* Makefile.in (stmp-multilib): Pass $flags to s-m-sub in 
+	MULTILIB_CFLAGS.
+	(stmp-multilib-sub): Build EXTRA_MULTILIB_PARTS.
+	($(T)crt*.o): Add $(T), lose stamp-crt rule, use MULTILIB_CFLAGS.
+	(install-multilib): Install EXTRA_MULTILIB_PARTS.
+
+Mon Oct 28 20:09:39 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.md (shl_sext_ext): Don't accept simple left/right shift
+	variant.
+	* sh.c (EXT_SHIFT_SIGNED): New macro.
+	(shl_sext_kind, gen_shl_sext): try left shift - sign extend -
+	left shift - arithmetic right shift in case 2.
+
+Mon Oct 28 14:55:42 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (sh-*-*): Set float_format to sh.
+	* config/float-sh.h: New file.
+
+Mon Oct 28 14:26:08 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips/mips.h (RTX_COSTS): Add cases for SIGN_EXTEND and
+	ZERO_EXTEND.
+
+	* m68k/lb1sf68.asm: Change # to IMM in udivsi3 __mcf5200__.
+
+	* combine.c (simplify_rtx): Add some optimizations for TRUNCATE.
+	(expand_compound_operation): Add some optimizations for
+	ZERO_EXTEND.
+
+Mon Oct 28 14:11:20 1996  Gavin Koch  <gavin@cygnus.com>
+        
+	* varasm.c (make_decl_rtl,assemble_variable):
+	Allow named sections for uninitialized variables.
+
+Mon Oct 28 13:08:51 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* pa.c (emit_move_sequence): If reload in progress, replace
+	reference to pseudo with reference to corresponding MEM.
+
+	* c-typeck.c ({un,}signed_type): If can't do anything, call
+	signed_or_unsigned_type.
+	(signed_or_unsigned_type): If already right signedness, return.
+
+Mon Oct 28 13:05:26 1996  Stephen Williams (steve@icarus.com)
+
+	* i960.h: Add specification for -Jx types.
+	* i960/t-960bare: Include multilib support for Jx types.
+
+Mon Oct 28 10:06:00 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/t-{ppc{,gas},solaris} (install-crt): Depend on
+	installdirs, not install-dir.
+
+	* rs6000/sysv4.h (TARGET_TOC): -fpic does not use a TOC area.
+
+Mon Oct 28 09:07:42 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* reload1.c (delete_output_reload): Don't use delete_insn
+	when deleting all stores into a replaced pseudo.
+
+	* sh.md (movsf_ieq, movsf_ie): Merged the former into the latter.
+	Changed matching define_split appropriately.
+	(movsf): Changed appropriately.
+	(reload_insf) Define.
+	* sh.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
+
+Mon Oct 28 08:38:23 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* dsp16xx.h (ASM_OUTPUT_BYTE): adjust definition to actual type of
+	VALUE, which is HOST_WIDE_INT.
+
+Mon Oct 28 07:36:07 1996  Ulrich Drepper  <drepper@cygnus.com>
+
+	* ginclude/stddef.h: Make sure file is processed if some of the
+	known __need_* macros is defined.
+
+Sun Oct 27 21:37:59 1996  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.c (output_function_prologue): Adjust SP then use movmel with
+	plain address indirect mode for TARGET_5200.
+	(output_function_epilogue): Disable moveml and use several movel's
+	instead for TARGET_5200.
+	(output_function_{pro,epi}logue): Use lea instruction to adjust
+ 	stack pointer for short displacements for TARGET_5200.
+
+Sun Oct 27 15:27:45 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* fold-const.c (merge_ranges): Fix thinko/typo.
+
+Sat Oct 26 22:07:04 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* expr.c (convert_modes): Before returning a const_double for a
+	large unsigned value, zero extend an integer value if necessary.
+
+Sat Oct 26 15:24:55 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k/x-mot3300 (XCFLAGS): Disable native assembler's jump
+	optimization for expr.o and cp/decl.o.
+
+Sat Oct 26 14:04:09 1996  Ben Harris  <bjh21@cam.ac.uk>
+
+	* m68k.c (output_function_prologue): Add REGISTER_PREFIX to stack
+	probe instruction.
+
+Sat Oct 26 13:59:05 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* explow.c (allocate_dynamic_stack_space): Delete reference to
+	nonexistant macro ALLOCATE_OUTGOING_ARGS.
+
+	* next.h (CPP_PREDEFINES): Add -D_NEXT_SOURCE.
+
+Sat Oct 26 13:50:49 1996  Mark Mitchell  (mitchell@centerline.com)
+
+	* configure (i486-ncr-sysv4*): Use i386/sysv4gdb if stabs and gas.
+
+Sat Oct 26 12:20:35 1996  John F. Carr  <jfc@mit.edu>
+
+	* configure: Support --with-cpu=* for SPARC.  Or target default
+	values instead of adding them.
+	* sparc.c (cpu_default): Add entries for v8 and supersparc.
+	* sparc.h: Define TARGET_CPU values for v8 and supersparc.
+
+Sat Oct 26 11:38:01 1996  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+
+	* collect2.c (dump_file): Call fclose() for opened files.
+
+Sat Oct 26 11:29:29 1996  J"orn Rennecke  (amylaar@cygnus.co.uk)
+
+	* jump.c (jump_optimize): Fix second error in last change.
+
+	* svr3.h: Fix typo which makes comment text be non-comment.
+
+Fri Oct 25 16:18:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/t-winnt (LIBGCC1): Don't build libgcc1.
+	(EXTRA_PARTS): Build crti.o, crtn.o.
+	(stmp-crt): Remove old multilib support.
+
+Thu Oct 24 15:09:14 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* fold-const.c (make_range, case PLUS_EXPR): Normalize an unsigned
+	range that wraps around 0.
+
+Thu Oct 24 14:37:17 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.md: Change predicates for 64 bit arithmetic operations
+	so that they accept sign extended registers as operands.
+	(extendsidi2): Accept hi or lo as input.
+	* mips.c (movdi_operand, se_register_operand,
+	se_reg_or_0_operand, se_uns_arith_operand, se_arith_operand,
+	se_nonmemory_operand, se_nonimmediate_operand): New functions.
+	(mips_move_2words): Handle a SIGN_EXTEND source.
+	(print_operand): Handle a SIGN_EXTEND operand.
+	(mips_secondary_reload_class): Handle a SIGN_EXTEND rtx.
+	* mips.h: Declare new mips.c functions.
+	(PREDICATE_CODES): Add new functions.
+
+Thu Oct 24 07:41:14 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (make_range, comparison cases): When making range
+	for unsigned to merge in, use full range.
+
+	* stor-layout.c (GET_MODE_ALIGNMENT): Delete definition; duplicate.
+
+Thu Oct 24 07:28:53 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* reload1.c (emit_reload_insns): Check for second_reloadreg
+	in SECONDARY_OUTPUT_RELOAD_CLASS / PRESERVE_DEATH_INFO_REGNO_P case.
+
+Wed Oct 23 14:27:43 1996  Mike Stump  <mrs@cygnus.com>
+
+	* crtstuff.c (__do_global_dtors_aux): Allow finalization code to
+	be run more than once.
+	* libgcc2.c (__do_global_dtors): Ditto.
+	
+Wed Oct 23 20:42:23 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (dump_table): handle SFmode and DFmode.
+	(broken_move): handle simple PARALLEL.
+	(machine_dependent_reorg, pc-relative move generation): Likewise.
+	* sh.h (CONST_DOUBLE_OK_FOR_LETTER_P): always true for 'F' .
+	(LEGITIMATE_CONSTANT_P): accept SFmode and DFmode.
+	* sh.md (movdf_k, movsf_i, movsf_ie): new alternative for
+	pc-relative load.
+	(movsf_ieq): new define_insn with matching define_split.
+	(movsf): use it where appropriate.
+	(consttable_sf, consttable_df): new define_insns.
+
+Wed Oct 23 17:48:32 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* svr4.h (MAKE_DECL_ONE_ONLY): Fix typo in use of macro parameter.
+
+Wed Oct 23 17:46:13 1996  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* cexp.y (yylex): Cast string literal to U_CHAR* for lookup() call.
+
+Wed Oct 23 14:50:04 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* stmt.c (expand_return): Expand cleanups.  Make sure we get a
+ 	pseudo-reg and provide a target in the non-BLKmode case.  Get return
+ 	type of fn properly.
+
+Wed Oct 23 14:16:06 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* reload.c (find_reloads): Handle any unary operator.
+	* recog.c (constrain_operands): Likewise.
+
+	* mips.md: Remove extendsidi2 define_expand. 
+	Rename extendsidi2_internal define_insn to extendsidi2, and add a
+	register to register case.
+
+Wed Oct 23 14:08:31 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* a29k.c (a29k_makes_calls): New global variable.
+	(compute_regstack_size, a29k_compute_reg_names): New functions.
+	(output_prolog): Much code moved to two new functions.  Use
+	a29k_makes_calls instead of makes_calls.
+	* a29k.h (ASM_DECLARE_FUNCTION_NAME): Call a29k_compute_reg_names.
+
+	* calls.c (expand_call): In target code, move PARALLEL case above
+	target != case.
+
+	* mips.c (block_move_load_store, block_move_sequence): Delete.
+	(block_move_loop): New parameter orig_dest.  Call change_address to
+	create new MEM instead of gen_rtx.
+	(expand_block_move): New local orig_dest.  Pass it to block_move_loop.
+	Call change_address to create new MEM instead of gen_rtx.
+
+Wed Oct 23 10:30:32 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* loop.c (combine_givs): When combining a DEST_REG giv with its
+	only use, always set the benefit of the combined giv to that of
+	the DEST_REG giv.
+
+	* emit-rtl (gen_lowpart_common): When converting a floating
+	point value into an integer, use WORD as (first) word.
+
+	* combine.c (can_combine_p): When SMALL_REGISTER_CLASSES is defined,
+	avoid substituting a return register into I3.
+
+	* optabs.c (emit_libcall_block): Before adding an REG_EQUAL note,
+	check that it will really apply to a single instruction.
+	(expand_binop, expand_fix): Likewise.
+
+Wed Oct 23 10:20:52 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* real.c (exact_real_inverse): New function, if REAL_ARITHMETIC.
+	* fold-const.c (exact_real_inverse): Likewise, if no REAL_ARITHMETIC.
+	(fold, case RDIV_EXPR): Turn divide by constant into multiplication
+	by the reciprocal, if optimizing and result is exact.
+	* real.h (exact_real_inverse): Declare.
+
+Wed Oct 23 00:12:52 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* expr.h (emit_store_flag_force): Declare.
+
+Tue Oct 22 18:32:20 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* unroll.c (unroll_loop): Always reject loops with unbalanced blocks.
+
+Tue Oct 22 18:27:06 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config/fp-bit.c (float_to_usi): Correct thinko: avoid a negative
+	shift.
+	(df_to_sf): Remember any discarded nonzero bits in the low order
+	guard bit.
+
+	* ginclude/va-mips.h: Add support for -mips1 and -msoft-float when
+	using -mabi=eabi.
+	* mips/abi64.h (SETUP_INCOMING_VARARGS): When MIPS EABI, handle
+	TARGET_SINGLE_FLOAT or ! TARGET_FLOAT64 correctly when saving
+	floating point registers to the stack.
+	* mips/mips.c (mips_function_value): If TARGET_SINGLE_FLOAT, use
+	GP_RETURN for floating point types larger than 4 bytes.
+
+Tue Oct 22 09:43:49 1996  Geoffrey Noer  <noer@cygnus.com>
+
+	* rs6000/cygwin32.h (LIB_SPEC): Add -lkernel32 all of the time,
+	and {user,gdi,comdlg}32 if -mwindows.
+
+Tue Oct 22 05:24:05 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (scope_die_for): Don't skip lexical blocks.
+	(gen_lexical_block_die): Call push_decl_scope.
+	(gen_subprogram_die): Never refer to the function symbol.
+	(dwarfout_begin_prologue): Likewise.
+
+Mon Oct 21 20:22:49 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* expmed.c (emit_store_flag_force): New function.
+	* optabs.c (expand_binop): Use it.
+	
+	* expr.c (do_store_flag): Don't check if target is 0 in code
+	emitting store flag as compare-branch.
+
+Mon Oct 21 17:58:33 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.c (override_options): Correct typo (MASK_64BIT should
+	have been TARGET_64BIT).
+
+Mon Oct 21 13:58:54 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* unroll.c (loop_comparison_code): New static variable.
+	(unroll_loop): Add check for loop_comparison_code
+	(loop_iterations): Set loop_comparison_code.
+
+	* sh.c (gen_shl_sext): Add missing parameter to shl_sext_kind call.
+
+	* mips.h (INITIAL_FRAME_POINTER_OFFSET): Delete.
+
+	* loop.c (strength_reduce): Add check for ! bl->reversed to
+	auto_inc_opt code.
+
+Mon Oct 21 12:28:15 1996  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+	jump.c (jump_optimize): Fix bug in Oct. 14 change.
+
+Mon Oct 21 07:59:16 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_expr): Disable optimization of using convert
+	if exp's type is a subtype.
+
+	* c-typeck.c (build_array_ref): If -Wchar-subscripts, also warn
+	in case when pointer is being indexed.
+
+Mon Oct 21 07:39:31 1996  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+	* jump.c (jump_optimize): Use emit_store_flag even if branches
+	are cheap, if the store is even cheaper.
+
+Sun Oct 20 20:01:09 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_reg_free_p, reloads_conflict): RELOAD_OTHER
+	and RELOAD_FOR_OTHER_ADDRESS conflict.
+
+	* i386.md (ffs[sh]i2): Add missing CC_STATUS_INIT.
+
+Fri Oct 18 13:32:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (float conversion insns): Generate correct code
+	if the bit 15 of rs6000_fpmem_offset is non-zero.
+
+Thu Oct 17 23:22:03 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarfout.c (data_member_location_attribute): Support binfos.
+	(output_inheritance_die): New fn.
+	(output_type): Use it.
+
+	* dwarf2out.c (value_format): Split out from...
+	(output_value_format): Here.
+	(build_abbrev_table): Use value_format.
+	(size_of_locs): New fn.
+	(size_of_die): Don't assume a loc needs a 2-byte length.
+	(value_format): Likewise.
+	(output_die): Likewise.
+
+Thu Oct 17 14:46:14 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.c (override_options): In 64 bit EABI mode, set TARGET_LONG64.
+
+Thu Oct 17 11:34:51 1996  Bob Manson  <manson@cygnus.com>
+
+	* expr.c (do_jump): Conditionalize cleanups for the COND_EXPR case,
+ 	similarly to the way TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR are
+ 	handled.
+
+Thu Oct 17 01:20:16 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* m68k.h (MASK_68040_ALSO): New macro.
+	(TARGET_SWITCHES): Option -m68020-40 includes MASK_68040_ALSO.
+
+Wed Oct 16 16:25:38 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (scope_die_for): Also support decls, add asserts.
+	(modified_type_die): Modified types all go under comp_unit_die.
+	(add_type_attribute): Just pass context_die through.
+	(various): Revert useless lookup_type_die change.
+	(gen_subprogram_die): Use scope_die_for.  Call push_decl_scope.
+	(gen_inlined_subroutine_die): Call push_decl_scope.
+	(gen_struct_or_union_type_die): Likewise.
+	(gen_decl_die): Don't call push_decl_scope.
+
+	* mips/iris6.h (*_SPEC): Replace enumeration of !mabi= with !mabi*.
+	(ASM_OUTPUT_{CON,DE}STRUCTOR): Enable.
+	(STARTFILE_SPEC): Support -mips4, -shared.
+	(ENDFILE_SPEC): Likewise.
+	(LIB_SPEC): Support -shared, avoid warning 84.
+	(LIBGCC_SPEC): Define.
+	(LINK_SPEC): Support -shared, remove -woff 84.
+	* mips/t-iris6 (EXTRA_PARTS): Add crtstuff.
+	* crtstuff.c: Support Irix 6.
+	* configure: Don't use collect2 for Irix 6.
+	* libgcc2.c (__main): Don't use any of this stuff if HAS_INIT_SECTION.
+
+Wed Oct 16 11:46:37 1996  Mike Stump  <mrs@cygnus.com>
+
+	* elxsi.h (CHECK_FLOAT_VALUE): Removed.
+
+Wed Oct 16 14:19:38 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* iris6.h (CPP_PREDEFINES): Add -D_LONGLONG.
+	(CPP_SPECS): Remove -D_LONGLONG.
+
+Wed Oct 16 03:34:42 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* i386.md (parallel inc/dec and branch-if-zero/nonzero): New patterns.
+
+Tue Oct 15 22:28:11 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (enum mips_abi_type): Add ABI_EABI.
+	(CPP_SPEC): Define __mips_soft_float if -msoft-float, and
+	__mips_eabi if -mabi=eabi.
+	(INITIAL_ELIMINATION_OFFSET, CUMULATIVE_ARGS,
+	GO_IF_LEGITIMATE_ADDRESS, CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT,
+	LEGITIMIZE_ADDRESS): Add support for MIPS EABI.
+	* mips/abi64.h (STACK_BOUNDARY, MIPS_STACK_ALIGN,
+	FUNCTION_ARG_PADDING, RETURN_IN_MEMORY, SETUP_INCOMING_VARARGS):
+	Add support for MIPS EABI.
+	(FUNCTION_ARG_PASS_BY_REFERENCE): Define.
+	(FUNCTION_ARG_CALLEE_COPIES): Define.
+	* mips.c (mips_const_double_ok, function_arg_advance,
+	function_arg, function_arg_partial_nregs, override_options,
+	compute_frame_size): Add support for MIPS EABI.
+	(function_arg_pass_by_reference): New function.
+	* ginclude/va-mips.h: Add support for MIPS EABI.
+
+Tue Oct 15 19:10:08 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (rest_of_type_compilation): Don't write out
+	DWARF for function-scope types yet.
+	(compile_file): Do send vars with no RTL to the DWARF code.
+
+Tue Oct 15 17:54:43 1996  Doug Evans  <dje@cygnus.com>
+
+	* loop.c (strength_reduce): Avoid taking PATTERN of a label.
+
+Tue Oct 15 16:52:33 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips/iris6.h: (SUBTARGET_CPP_SIZE_SPEC): Define.
+	(SUBTARGET_CPP_SPEC): Remove definitions of __SIZE_TYPE__ and
+	__PTRDIFF_TYPE__, now in SUBTARGET_CPP_SIZE_SPEC.
+
+Tue Oct 15 11:19:17 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* mips.h (CPP_SPEC): Restore -D_LANGUAGE_C for Objective C.
+
+Mon Oct 14 18:03:35 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (gen_decl_die): Do generate dies for classes with -g1.
+	(dwarfout_file_scope_decl): Likewise.
+
+Mon Oct 14 16:31:44 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+	* jump.c (jump_optimize): Check for if (...) { x = a; goto l; } x = b;
+
+Mon Oct 14 14:19:49 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (modified_type_die): Don't bother with AT_address_class.
+	(add_data_member_location_attribute): Handle getting a binfo.
+	(add_location_or_const_value_attribute): Handle a decl with no RTL.
+	(add_pure_or_virtual_attribute): Add AT_vtable_elem_location.
+	(add_name_and_src_coords_attributes): Only use DECL_ASSEMBLER_NAME 
+	for staticp things.
+	(gen_subprogram_die): Set up AT_inline for abstract decls.
+	(gen_inheritance_die): New fn.
+	(gen_member_die): Also emit info for base classes.
+
+Sat Oct 12 00:07:00 1996  Doug Evans  <dje@cygnus.com>
+
+	* fold-const.c (make_range): Handle NULL operand 0
+	(like in BIND_EXPRs).
+
+Fri Oct 11 15:42:22 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (rest_of_compilation): If we did a
+ 	save_for_inline_copying, reset DECL_ABSTRACT_ORIGIN for the
+ 	function when we're done.
+
+	* toplev.c (main): DWARF works with C++ now.
+
+	* dwarf2out.c (gen_subprogram_die): Disable MIPS_AT_has_inline
+ 	support for now.
+
+Fri Oct 11 14:31:10 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* dwarfout.c: (output_bound_representation): Fix typo in prototype.
+
+Fri Oct 11 12:19:21 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (MIPS_AS_ASM_SPEC): Define.
+	(SUBARGET_MIPS_AS_ASM_SPEC): Define.
+	(GAS_ASM_SPEC): Define.
+	(TARGET_ASM_SPEC): Define.
+	(SUBTARGET_ASM_OPTIMIZING_SPEC): Define.
+	(SUBTARGET_ASM_DEBUGGING_SPEC): Define.
+	(SUBTARGET_ASM_SPEC): Define.
+	(ASM_SPEC): Rewrite to use above specs.
+	(SUBTARGET_CPP_SIZE_SPEC): Define.
+	(SUBTARGET_CPP_SPEC): Define.
+	(CPP_SPEC): Use above specs.  Don't define _LANGUAGE_C if C++ or
+	Objective C.
+	(EXTRA_SPECS): Define.
+	(SUBTARGET_EXTRA_SPECS): Define.
+	* mips/dec-bsd.h (ASM_SPEC): Don't define.
+	(CPP_SPEC): Don't define.
+	* mips/dec-osf1.h (CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SIZE_SPEC): Define.
+	* mips/elf64.h (CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SPEC): Define.
+	* mips/gnu.h (TARGET_DEFAULT): Define.
+	(ASM_SPEC): Don't define.
+	* mips/iris3.h (CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SPEC): Define.
+	* mips/iris4loser.h (ASM_SPEC): Don't define.
+	(SUBTARGET_MIPS_AS_ASM_SPEC): Define.
+	(SUBTARGET_ASM_OPTIMIZING_SPEC): Define.
+	* mips/iris5.h (CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SPEC): Define.
+	* mips/iris6.h (CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SPEC): Define.
+	(ASM_SPEC): Don't define.
+	(SUBTARGET_ASM_SPEC): Define.
+	(SUBARGET_MIPS_AS_ASM_SPEC): Define.
+	(SUBTARGET_ASM_DEBUGGING_SPEC): Define.
+	* mips/netbsd.h (ASM_SPEC): Don't define.
+	(CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SPEC): Define.
+	* mips/osfrose.h (ASM_SPEC, ASM_FINAL_SPEC): Don't define.
+	(CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SIZE_SPEC): Define.
+	(SUBTARGET_CPP_SPEC): Define.
+	* mips/sni-svr4.h (CPP_SPEC): Don't define.
+	(SUBTARGET_CPP_SIZE_SPEC): Define.
+
+Thu Oct 10 17:58:49 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* mips/iris6.h (ASM_OUTPUT_SECTION_NAME): Define.
+	(DWARF_OFFSET_SIZE): Define.
+
+	* dwarf2out.c (most everywhere): Support SGI/MIPS -mabi=64 by fixing
+ 	code which assumed that pointers are 4 bytes long, parameterizing
+ 	many sizes on DWARF_OFFSET_SIZE and using DELTA instead of DELTA4,
+ 	DATA instead of DATA4, FORM_ref instead of FORM_ref4. (DWARF_ROUND,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_WORD_ASM_OP,
+ 	ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_DATA, DW_FORM_data,
+ 	DW_FORM_ref): New macros.
+	(gen_variable_die): Only equate_decl_number_to_die if
+	decl is TREE_STATIC.
+	(get_AT): Fix thinko.
+
+	* dwarf2out.c (constant_size): New fn.
+	(size_of_die): Use it instead of assuming 4 bytes;
+ 	usually we only need one.
+	(output_value_format, output_die): Likewise.
+	(build_abbrev_table): We need a new abbrev if the size
+ 	of the constant differs.
+	(dwarf_attr_name): Add new SGI/MIPS extensions.
+	(gen_subprogram_die): Support DW_AT_MIPS_has_inlines.
+	(gen_inlined_subroutine_die): Likewise.
+
+Thu Oct 10 16:38:58 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.md (mov[sd]fcc): Use register_operand, not reg_or_0_operand,
+	for source predicates.
+
+Thu Oct 10 15:19:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (floatsidf2_load): For large stack frames, do not
+	generate an illegal memory reference.
+	(movdi, movdf define_splits): Fix code so that it works for either
+	big or little endian hosts generating code for either big or
+	little endian targets.
+
+	(from Jim Wilson)
+	* rs6000.c (rs6000_save_toc_p): Delete global variable.
+	(rs6000_{save,restore}_machine_status): Do not save/restore it.
+	(rs6000_init_expanders): Do not initialize it.
+	(rs6000_stack_info): Always create TOC save space.
+
+	* rs6000.md (NT indirect call insns): Do not set
+	rs6000_save_toc_p.
+
+	* rs6000.h (rs6000_save_toc_p): Delete declaration.
+
+Wed Oct  9 18:06:54 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips.h (EMPTY_FIELD_BOUNDARY): Define as 32.
+	* mips/abi64.h (EMPTY_FIELD_BOUNDARY): Don't define.
+
+	* mips/abi64.h (TARGET_DEFAULT, TARGET_LONG64, CPP_PREDEFINES,
+	CPP_SPEC): Move from here...
+	* mips/iris6.h: ...to here.
+
+Wed Oct  9 16:43:51 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (i[3456]86-dg-dgux): Use install-headers-cpio.
+
+	* expr.c (store_constructor): Delete unnecessary increment.
+
+Wed Oct  9 16:29:22 1996  Gavin Koch <gavin@cetus.cygnus.com>
+
+	* cccp.c (do_include): Treat ENOTDIR like ENOENT when an open fails.
+
+Wed Oct  9 16:26:57 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* gcc.c (default_compilers): -ansi no longer implies -$ to cpp.
+	* c-lex.c (yylex): Treat `$' just like `_', except issue a
+	diagnostic if !dollars_in_ident or if pedantic.
+	* c-decl.c (dollars_in_ident): DOLLARS_IN_IDENTIFIERS is now Boolean.
+	(c_decode_option): -fdollars-in-identifiers is now independent
+	of -ansi, of -traditional, and of DOLLARS_IN_IDENTIFIERS.
+	* cexp.y (initialize_random_junk): Ignore DOLLARS_IN_IDENTIFIERS.
+	* cccp.c (dollars_in_ident): Remove; replaced by is_idchar['$'].
+	(main): Initialize is_idchar and is_idstart directly when given -$.
+	Ignore DOLLARS_IN_IDENTIFIERS.
+	(rescan): Diagnose $ in identifier if pedantic.
+	(initialize_char_syntax): Assume $ is allowed in identifier;
+	`main' will change this if -$ is given.
+	* cpplib.h (DOLLARS_IN_IDENTIFIERS): Remove.
+	* cpplib.c (cpp_options_init): Ignore DOLLARS_IN_IDENTIFIERS.
+	(parse_name): Diagnose $ in identifier if pedantic.
+	(cpp_handle_options): -traditional no longer messes with
+	dollars_in_ident.
+	* i386/dgux.h, m68k/apollo68.h (DOLLARS_IN_IDENTIFIERS): Remove.
+	* m88k.h, mips.h, nextstep.h, pa.h (DOLLARS_IN_IDENTIFIERS): Remove.
+	* vax/ultrix.h, vax/vms.h (DOLLARS_IN_IDENTIFIERS): Remove.
+	* convex.h (OVERRIDE_OPTIONS): Don't need to set
+	dollars_in_ident any more, since -ansi doesn't change it.
+
+Wed Oct  9 07:35:47 1996  Doug Evans  <dje@cygnus.com>
+
+	* Allow prefix attributes in more places.
+	* c-parse.in: Update number of shift/reduce conflicts.
+	({typed_declspecs,reserved_declspecs,declmods}_no_prefix_attr): New.
+	(current_declspecs): Initialize to NULL_TREE.
+	(fndef): Pass current_declspecs, not $1, to start_function.
+	(old_style_parm_decls): Renamed from xdecls.
+	(datadecl, declmods): Add references to new rules.
+	(setspecs): Call split_specs_attrs.
+	(absdcl1): Remove case with setattrs.
+	* c-common.c (split_specs_attrs): New function.
+
+Wed Oct  9 05:48:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sdbout.c: Include defaults.h.
+	* Makefile.in (sdbout.o): Make dependency list match included files.
+
+	* fold-const.c (range_test): Function deleted.
+	(range_binop, make_range, build_range_check): New functions.
+	(merge_ranges, fold_range_test): Likewise.
+	(fold_truthop): No longer call range_test.
+	(fold, case TRUTH_{AND,OR}{,IF}_EXPR): Call fold_range_test.
+
+Tue Oct  8 22:03:32 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* configure: Set cpu_type for pyramid.
+
+Tue Oct  8 21:54:04 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* final.c (final_start_function): Call dwarfout_begin_prologue.
+
+	* dwarf2out.c (pubname_*, arange_*): New data for .debug_pubnames
+ 	and .debug_aranges sections.
+	(add_pubname): New fn.
+	(size_of_pubnames): Reimplement.
+	(output_pubnames): Likewise.
+	(add_arange): New fn.
+	(size_of_aranges): Include function sections.
+	(output_aranges): Likewise.
+	(gen_variable_die): Call add_pubname.
+	(add_name_and_src_coords_attributes): Use DECL_ASSEMBLER_NAME for now.
+	(decl_start_label): Renamed from function_start_label.
+	(gen_subprogram_die): If weak or one_only, use a local label for 
+	AT_low_pc.  Call add_pubname and add_arange.
+	(dwarfout_begin_prologue): New fn.  Start up FDE here. 
+	(dwarfout_begin_function): Not here.
+	(get_AT): Split out.  Look in specification and abstract_origin DIEs.
+	(get_AT_low_pc, get_AT_string, get_AT_flag, get_AT_unsigned, 
+	get_AT_hi_pc): Use it.
+	(dwarfout_finish): Variables can produce pubnames, too.
+
+Tue Oct  8 19:35:40 1996  Torbjorn Granlund  <tege@nada.kth.se>
+
+	* m88k/dgux.h (CPP_SPEC): Avoid newline in the string.
+
+	* final.c (final): Update insn_current_address before calling
+	final_scan_insn.
+
+Tue Oct  8 17:52:02 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* unroll.c (unroll_loops): Set local_regno only if set_dominates_use
+	returns true.
+	(set_dominates_use): New function.
+
+Tue Oct  8 16:01:37 1996  Doug Evans  <dje@cygnus.com>
+
+	* c-typeck.c (decl_constant_value): Delete test for ! TREE_PUBLIC.
+
+Tue Oct  8 10:36:44 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (hppa_legitimize_address): Remove test code accidentally left
+	in during last change.
+
+Mon Oct  7 19:55:02 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sched.c (schedule_block): Before scheduling, add code to make all
+	call used regs that are not fixed or global live when we see a
+	CALL_INSN.  During scheduling, change existing code to use same test.
+
+	* varasm.c (bss_section): Delete unused parameters.
+
+Mon Oct  7 16:24:21 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2.h: Add new SGI/MIPS attributes.
+
+	* dwarf2out.c (*_separate_line_info_*): Parallel line number
+ 	information for functions defined in sections other than .text.
+	(size_of_line_info): Support it.
+	(output_line_info): Likewise.
+	(dwarfout_line): Likewise.
+	(gen_compile_unit_die): Don't add high/low_pc or stmt_list
+ 	attributes here.
+	(dwarfout_finish): Add them here if appropriate.
+	(remove_AT): free removed attribute properly.
+	(gen_type_die): Don't assume a nested type is complete.
+	(dwarfout_finish): Don't emit line info if it would be empty.
+
+	* dwarfout.c (output_block): Don't emit a DIE for a body block.
+	(output_decls_for_scope): Don't increment next_block_number for the
+ 	outer block.
+	(output_decl): Start from the outer block, not
+ 	the first inner block since there can be more than one in C++.
+	(type_tag): Handle C++ TYPE_NAME.
+	(output_type): Fix handling of TYPE_METHODS.
+	(output_decl): Don't output a DIE for artificial typedefs.
+
+Mon Oct  7 15:47:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (movdi define_splits): Fix previous change to work
+	on both little and big endian hosts.
+
+Sun Oct  6 16:52:34 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (combinable_fsub): Don't return without a value.
+
+Sun Oct  6 14:05:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (mov{df,di} define_splits): Use split_double to
+	properly split CONST_DOUBLEs.
+	(movdi): Likewise.
+
+Sat Oct  5 08:43:14 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* i386/cygwin32.h (LIB_SPEC): Add support for -mwindows.
+	Always pass -lkernel32.
+	(LIBGCC_SPEC): Don't delete.
+	(STARTFILE_SPEC): Remove always-true conditionalization.
+	(LONG_DOUBLE_TYPE_SIZE): Use default.
+
+Fri Oct  4 17:22:53 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (rest_of_type_compilation): Don't emit DWARF for member
+ 	types of a type we haven't emitted yet.
+	(compile_file): Still emit DWARF for pending tagged types.
+
+	* final.c (final_scan_insn): Do emit DWARF labels for level 1 blocks.
+
+	* dwarf2out.c (gen_subprogram_die): Start from the outer block, not
+ 	the first inner block since there can be more than one in C++.
+	(gen_lexical_block_die): Keep track of the block depth.
+	(gen_block_die): Don't emit a DIE for a body block.
+	(gen_inlined_subroutine_die): Don't emit anything for an
+	abstract instance.
+	(decls_for_scope): Don't increment next_block_number for the
+ 	outer block.
+
+Fri Oct  4 15:27:55 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (PRESERVE_DEATH_INFO_REGNO_P): Define.
+
+	* sh.c (sfunc_uses_reg): New function.
+	(noncall_uses_reg, machine_dependent_reorg, final_prescan_insn):
+	Handle special functions like function calls for purposes of relaxing.
+	(noncall_uses_reg): Added some missing cases of registers
+	being used in non-call instructions.
+
+Fri Oct  4 10:51:40 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c: Tear out backchaining brain damage.
+	(remove_AT, remove_children): New functions.
+	(modified_type_die): Call gen_type_die instead of backchaining.
+	(gen_subprogram_die): Don't generate a new specification DIE for 
+	member functions defined in the class; use the declaration DIE instead.
+	(gen_struct_or_union_type_die): Support DW_AT_declaration.
+	(gen_type_die): Don't set TREE_ASM_WRITTEN on incomplete structs.
+	(gen_decl_die): Revert previous change; it's much simpler to emit 
+	the class from rest_of_type_compilation.
+
+Fri Oct  4 09:54:21 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* Make sure we have enough registers for the insns we recognize.
+	* i386.h (flag_omit_frame_pointer, outer_function_chain): Declare.
+	(current_function_calls_alloca): Likewise
+	(rtx_equal_function_value_matters): Likewise
+	(N_REGS_USED, N_ALLOCATABLE_REGISTERS): Define.
+
+	* i386.md (adddi3_1, subdi3_1): Insns renamed from adddi3 and subdi3;
+	added missing earlyclobbers.
+	(adddi3_1): Removed duplicates from commutativity.
+	(adddi3, subdi3): New define_expands.
+	(movsf, movsf_mem, movsf_normal, movdf, movdf_mem , movdf_mem+1): Take
+	number of used vs. available registers into account.
+	(movxf, movxf_mem, movxf_mem+1, addsidi3_1, addsidi3_2): Likewise.
+	(adddi3_1, subsidi3, subdi3_1): Likewise.
+	(addsidi3_1, addsidi3_2, subsidi3): Need no generate function.
+
+	* i386.c (asm_output_function_prefix): Don't use
+	ASM_DECLARE_FUNCTION_NAME if it is not defined.
+
+Fri Oct  4 07:01:55 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_decl): Don't turn off DECL_BIT_FIELD
+	if DECL's alignment is less than its type.
+
+Thu Oct  3 19:42:30 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (rest_of_type_compilation): Also do this for DWARF.
+	(compile_file): Don't try to write out DWARF for vars with no RTL.
+
+Thu Oct  3 18:31:28 1996  Doug Evans  <dje@cygnus.com>
+
+	* ginclude/{stdarg.h,varargs.h}: Use #include "", not #include <>.
+
+Wed Oct  2 17:29:53 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Add a hack to the big sed script to work around a
+	bug in the sed implementation on HP/UX 10.20.
+
+Wed Oct  2 16:53:56 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (modified_type_die): Don't generate redundant DIEs.
+	(gen_{array,pointer,reference,ptr_to_mbr}_type_die): Likewise.
+	(gen_{subroutine,string,set}_type_die): Likewise.
+
+	* dwarf2out.c: Undo text_end_label, add_src_coords changes.
+	(addr_const_to_string): Fix typos.
+	(decl_class_context): New fn.
+	(get_AT_unsigned): New fn.
+	(gen_subprogram_die): Only emit src coords info for a specification
+	if they changed.
+	(gen_variable_die): Support DW_AT_declaration and DW_AT_specification.
+	(gen_decl_die): Avoid generating redundant DIEs for member functions
+	and variables.
+
+Wed Oct  2 11:22:50 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (EXTRA_CONSTRAINT): Loosen conditions for match of
+	'Q' and 'T' while reload is running.
+	* pa.c (hppa_legitimize_address): Rework to generate more
+	indexed and scaled indexed addressing.
+	* pa.md (scaled indexed store): Add define_splits to undo
+	pessimizations created by hppa_legitimize_address for integer
+	stores.
+
+	* pa.c (remove_useless_addtr_insns): New function.
+	(pa_reorg): Delete code to remove useless add,tr insns.
+	Instead call remove_useless_addtr_insns.
+	(output_function_prologue): Call remove_useless_addtr_insns
+	to catch any add,tr insns created by reorg.
+
+	* pa.c (secondary_reload_class): Remove duplicate/useless code.
+
+	* pa.h (PARSE_LDD_OUTPUT): Handle output from hpux10.20 "chatr".
+
+Tue Oct  1 17:23:32 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dwarf2out.c (text_end_label): New static.
+	(size_of_line_info): The final entry is smaller.
+	(output_aranges): Use TEXT_SECTION instead of TEXT_BEGIN_LABEL and
+ 	text_end_label instead of TEXT_END_LABEL.
+	(gen_compile_unit_die): Likewise.
+	(output_line_info): Likewise.  Use a fixed advance for the last entry.
+	(dwarfout_init): Don't output starting labels.
+	(dwarfout_finish): Set up text_end_label.  Don't output ending labels.
+
+	(add_pure_or_virtual_attribute): Don't say pure virtual for now.
+	(type_tag): Handle C++ TYPE_NAME.
+	(gen_formal_parameter_die): Support DW_AT_artificial.
+	(gen_formal_types_die): Do emit the type for 'this'.
+	(gen_member_die): Fix handling of TYPE_METHODS.
+	(gen_decl_die): Do output a DIE for member function declarations.
+	Don't output a DIE for artificial typedefs.
+
+	(add_member_attribute): Remove, not in DWARF-II.
+	(gen_array_type_die): Remove ref to add_member_attribute.
+	(gen_set_type_die, gen_entry_point_die, gen_enumeration_type_die,
+ 	gen_subprogram_die, gen_variable_die, gen_field_die,
+ 	gen_pointer_type_die, gen_reference_type_die, gen_ptr_to_mbr_type_die,
+ 	gen_string_type_die, gen_struct_or_union_type_die,
+ 	gen_subroutine_type_die, gen_typedef_die): Likewise.
+
+	(get_AT_flag): New fn.
+	(add_src_coords_attributes): Split out...
+	(add_name_and_src_coords_attributes): From here.
+	(gen_subprogram_die): Support DW_AT_declaration and 
+	DW_AT_specification. 
+
+	(gen_compile_unit_die): Don't emit full pathname for source file; 
+	comment claimed that SGI required it, but they don't emit it either.
+	Append -g to producer rather than replacing it.
+
+Tue Oct  1 14:19:23 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* gcc.c (used_arg): When call xmalloc for mswitches, pass 1 if
+	n_switches is zero.
+
+Mon Sep 30 17:46:26 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (gen_shl_and, gen_shl_sext): Use gen_lowpart to
+	generate rtx in the appropriate mode for zero/sign-extension.
+	Don't generate a zero bit shift.
+	(gen_shl_sext) Directly use gen_ashift instead of gen_ashrsi3.
+
+Mon Sep 30 17:17:56 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixinc.svr4: In math.h, redefine exception to __math_exception
+	for C++, to avoid conflict with <exception>.
+	* fixincludes: Likewise.
+	Fix check for class in math.h to not match fp_class.
+
+Mon Sep 30 17:15:19 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* iris6.h (ASM_SPEC): Add -w.
+	(STARTFILE_SPEC): Add mips3 to n32 pathnames.
+	Add -L/usr/lib32/mips for n32 cases.
+	(ENDFILE_SPEC): Add mips3 to n32 pathnames.
+
+Mon Sep 30 13:20:31 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* genopinit.c (gen_insn): Look through the modes in reverse order,
+	to avoid stopping early on CC when EXTRA_CC_MODES is used.
+
+	* fixincludes: Add extern "C" to <sys/mman.h> on HP/UX.
+
+Sun Sep 29 12:39:18 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* c-typeck.c (pointer_diff): Do not do default conversions when
+	doing the minus expression, in case restype is a short type.
+
+Sun Sep 29 11:22:10 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (build_complex): Add new argument, TYPE.
+	* tree.h (build_complex): Likewise.
+	* c-lex.c (yylex): Add new arg, TYPE, to call to build_complex.
+	* fold-const.c (const_binop): Likewise.
+	(fold, case CONJ_EXPR, COMPLEX_EXPR): Likewise.
+	* varasm.c (copy_constant, case COMPLEX_CST): Likewise.
+	* expr.c (expand_expr, case COMPONENT_REF): Don't try to directly
+	load a complex.
+	* recog.c (register_operand): Don't reject subreg of complex mode.
+	* emit-rtl.c (mark_user_reg): New function.
+	* function.c (assign_parms): Use it.
+	* stmt.c (expand_decl): Likewise, and simplify code.
+
+	* tree.c (contains_placeholder): Return 1 for PLACEHOLDER_EXPR.
+
+	* expr.c (store_expr): memset/bzero gets ptr_mode, not Pmode.
+
+	* stmt.c (expand_asm_operands): Fix errors in previous patches.
+
+	* x-linux: Simplify, but ensure headers aren't changed.
+
+	* getpwd.c: No longer include direct.h for _WIN32.
+
+	* configure (i[3456]86-*-isc*): Remove bogus echo.
+	(m68k-apple-aux*): a-ux.h renamed from aux.h.
+	(CC): Escape "$" char in "no-symlink" case for bash/cygwin32 bug.
+
+	* Makefile.in (installdirs): Renamed from install-dir.
+	Create $(prefix) and $(exec_prefix) if doesn't exist.
+	(install-float): Reflect new name for installdirs.
+	(install-{common,info,man,libgcc,multilib,libobjc}): Likewise.
+	(install-{include-dir,assert-h,collect2}): Likewise.
+
+	* reload1.c (gen_reload): Handle SUBREG in PLUS specially too.
+	Change calls to emit_move_insn to recursive calls.
+
+	* stmt.c (fixup_gotos): When running undefined labels, if no cleanup
+	actions for this block, don't clear BEFORE_JUMP.
+
+Fri Sep 27 13:48:21 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* c-decl.c (init_decl_processing): Create short int types before
+	creating size_t in case a machine description needs to use
+	unsigned short for size_t.
+
+Fri Sep 27 12:28:54 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+        * gcc.c (do_spec_1): Allow -A in %[Spec].
+	
+	* i386.h (CPP_CPU_SPEC): New. Added for defining the submodel.
+
+	* i386.c (asm_output_function_prefix, function_prologue,
+	ix86_expand_prologue): Make the routine that sets the GOT (when pic
+	is enabled) a function, to assist debugging.
+
+	* i386.md (gen_prologue_get_pc): Call the function created above.
+	(divdf3): Added. 
+	
+	* i386/dgux.h (CPP_PREDEFINES, CPP_SPEC): Reference CPP_CPU_SPEC.
+	Use svr4 assembler directive .backalign instead of .align.  
+	(align to x bytes if it takes no more than y bytes to do so.)
+
+	* i386/{aix386ng.h,dgux.h} (CPP_SPEC): Use %[cpp_cpu].
+	* i386/{freebsd-elf,gas,isc,linux-aout}.h: Likewise.
+	* i386/{linux-oldld,linux,osfelf,osfrose,sco,sco4}.h: Likewise.
+	* i386/{sco4dbx,sco5,sol2,sysv3}.h: Likewise.
+
+Thu Sep 26 17:58:34 1996  Torbjorn Granlund  <tege@matematik.su.se>
+
+	* m68k.md (mulsidi3 matcher): Change predicate const_int_operand
+	to const_sint32_operand.  Get rid of bogus range condition.
+
+Thu Sep 26 17:12:00 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (stmp-int-hdrs): Don't cd to srcdir before copying
+	header files to objdir.
+
+Wed Sep 25 21:22:57 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300.h (FIRST_PSEUDO_REGISTER): Bump up by one.
+	(ARG_POINTER_REGNUM): Likewise.
+	(FIXED_REGISTERS): Add entry for MAC register.
+	(CALL_USED_REGISTERS< REG_ALLOC_ORDER): Likewise.
+	(HARD_REGNO_NREGS): Handle MAC register.
+	(HARD_REGNO_MODE_OK< REGNO_OK_FOR_BASE_P): LIkewise.
+	(REGISTER_NAMES): Likewise.
+	(enum reg_class): New MAC_REGS register class.
+	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Corresponding changes.
+	(REG_CLASS_FROM_LETTER): LIkewise.
+	(REGISTER_MOVE_COST): Make copies to/from the MAC register
+	expenseive.
+	(CONDITIONAL_REGISTER_USAGE): Define.
+	* h8300.md (movsi_h8300hs): Renamed from movsi_h8300h.
+	Handle moves to/from the MAC register.
+	(mac): Two new patterns to use the mac instruction.
+
+	* h8300.c (notice_update_cc): Fix CC_SET case.
+	(restore_compare_p): Remove unused function.
+	* h8300.md: Handle "set" vs "set_zn_c0" correctly.
+	(bCC patterns): No longer need to call restore_compare_p.
+
+	* h8300.c (get_shift_alg): Fix HImode ASHIFTRT by 13 or 14 bits.
+
+Wed Sep 25 18:52:19 1996  Joern Rennecke <amylaar@cygnus.co.uk>	
+
+	* sh.md (insv): New pattern.
+
+Wed Sep 25 16:47:26 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* sparc/t-sunos41 (MULTILIB_{OPTIONS,DIRNAMES,MATCHES}): Create
+	multilib versions of -fpic and -fPIC.
+	(TARGET_LIBGCC2_CFLAGS): Comment out.
+
+	* sparc.c (print_operand): Handle new codes H/L.
+	* sparc.md (lo_sum_di_sp32): Add little endian support.
+	(adddi3_sp32,subdi3_sp32,mulsidi3_sp32,const_mulsidi3): Likewise.
+	(umulsidi3_sp32,const_umulsidi3,smacdi,umacdi,anddi3_sp32): Likewise.
+	(iordi3_sp32,xordi3_sp32,negdi2_sp32): Likewise.
+
+Wed Sep 25 15:32:35 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expmed.c (store_bit_field): Don't make flag_force_mem disable insv
+	for memory operands.
+	
+	* function.c (instantiate_decl): Always store addr back into x.
+
+Tue Sep 24 19:37:00 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* reload.c (push_secondary_reload): Do strip paradoxical SUBREG
+	even if reload_class is CLASS_CANNOT_CHANGE_SIZE.  Change reload_mode
+	to mode in SECONDARY_MEMORY_NEEDED and get_secondary_mem calls.
+
+	* reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
+	emit after RELOAD_FOR_OUTPUT, in reverse order of reload number,
+	but not separately.
+
+Tue Sep 24 18:13:07 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* expr.c (emit_group_load): Allow target to be smaller than source.
+
+Tue Sep 24 17:40:39 1996  Doug Evans  <dje@cygnus.com>
+
+	* m68k/a-ux.h: Renamed from aux.h because of MSDOS.
+
+Tue Sep 24 08:33:53 1996  David S. Miller  (davem@caip.rutgers.edu)
+
+	* tree.c (copy_node): Fix error in last change.
+
+Tue Sep 24 08:29:03 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+	* gcc.c (used_arg): Fix multilib_matches parsing to not corrupt
+	entry parameter.
+
+Tue Sep 24 08:22:18 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* loop.c (get_condition): Use rtx_equal_p to compare rtx.
+
+Tue Sep 24 08:14:01 1996  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
+
+	* integrate.c (expand_inline_function): Avoid creating paradoxical
+	subreg wider than BITS_PER_WORD as inlined function result.
+
+Tue Sep 24 08:00:15 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (struct directive, directive_table, handle_directive):
+	pass_thru now 1 for #define and 2 for #pragma.
+	(handle_directive): When deciding whether to suppress comment at end
+	of directive, ignore tabs and spaces after comment.  Remove redundant
+	limit test.  With -dD -C, copy comment when isolating definition.
+	(skip_to_end_of_comment): With -C, don't copy newline at end
+	of C++ comment.
+
+	* fixinc.ptx, fixinc.svr4, fixincludes: Insert newlines just before
+	end of 'sed' command strings if last 'sed' command is 'a' or 'i'.
+
+Tue Sep 24 07:28:58 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* toplev.c (PREFERRED_DEBUGGING_TYPE): If no debugging formats are
+	supported, set to NO_DEBUG.
+	(main): Don't do setting of PREFERRED_DEBUGGING_TYPE here.
+
+Mon Sep 23 22:45:15 1996  Sean McNeil  <sean@mcneil.com>
+
+	* rs6000/vxppc.h, sparc/vxsim.h: New files.
+	* configure (powerpc-*-vxworks*, sparc-*-vxsim*): New targets.
+	* objc/objc.h (BOOL): Define BOOL as int for VxWorks.
+
+Mon Sep 23 21:23:27 1996  Klaus K"ampf  (kkaempf@progis.de)
+
+	* explow.c (promote_mode, case REFERENCE_TYPE): New case.
+
+Mon Sep 23 21:15:43 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* c-decl.c (finish_struct): Check PCC_BITFIELD_TYPE_MATTERS value.
+
+	* dbxout.c (dbxout_symbol): Fix forgotten case in last change:
+	check DECL_ARTIFICIAL also when using the short cut way.
+
+Mon Sep 23 15:55:24 1996  David S. Miller  (davem@caip.rutgers.edu)
+
+	* tree.c (copy_node): Abort if don't know size of node.
+
+	* tree.c (build1): Clean up initialization of OBSTACK.
+
+Mon Sep 23 15:35:33 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* Makefile.in (stmp-multilib): Depend on $(LANG_LIB2FUNCS).
+
+	* dbxout.c (dbxout_function): Don't check DECL_SECTION_NAME before
+	calling dbxout_function_end.
+
+Mon Sep 23 14:41:12 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* combine.c (can_combine_p): Even if SMALL_REGISTER_CLASSES,
+	know lifetime not extended if all_adjacent set.
+
+	* stmt.c (expand_asm_operands): Handle '+' constraint.
+	* cse.c (fold_rtx): Fold inside ASM_OPERANDS.
+
+	* expr.c (expand_increment): If postincrement for MEM can't use add
+	directly, load address in reg and enqueue increment and store of reg.
+
+	* loop.c (check_dbra_loop): Don't assume label must be second part of
+	if_then_else in condjump.
+
+        * jump.c (jump_optimize): In no-nop move deletion, don't
+	test PRESERVE_DEATH_INFO_REGNO_P; instead test if optimization is
+	performed.
+	Check for REG_UNUSED note on to-be deleted insn before searching for
+	preceding instruction to delete note from.
+	If PRESERVE_DEATH_INFO_REGNO_P is true for SREG, replace INSN with USE.
+
+	* reload1.c (reload): Initialize the previous_offset fields
+	in reg_eliminate before calling setup_save_areas.
+
+	* reload1.c (emit_reload_insns): Declare and set this_reload_insn.
+
+	* expr.c (var_rtx): New function.
+	(expand_expr, case COND_EXPR): Also use target if same as singleton.
+
+Mon Sep 23 14:22:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* recog.c (constrain_operands): Don't test clobbered constraints.
+
+	* reload1.c (emit_reload_insns): For output part of RELOAD_OTHER,
+	put in front of anything previous for that output, but not separately.
+
+Sun Sep 22 21:06:46 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-common.c (decl_attribtes, case A_SECTION): Allow for static
+	local variable.
+
+Sun Sep 22 11:30:27 1996  Christian Iseli  (christian.iseli@di.epfl.ch)
+
+	* expr.c (convert_move): Replace explicit checks for FP extend ops
+	with use of can_extend_p.
+	Add missing tests for FP trunc operations.
+
+Sun Sep 22 11:20:02 1996  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* dwarfout.c (DWARF_VERSION): Define as 1 if not already defined.
+	* dwarf2out.c (DWARF_VERSION): Likewise.
+
+Sun Sep 22 11:12:20 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+        * c-decl.c (pushdecl): Check new declaration actually conflicts before
+	warning about implicit external vs. static declarations.
+
+	* loop.c (combine_givs): Improve combining DEST_REG giv with
+	its only use.
+
+Sun Sep 22 10:50:03 1996  Scott Christley <scottc@net-community.com>
+
+	* Create consistent mechanism for memory allocation and release
+	so that garbage collection routines can be easily subsititued
+	for the ANSI standard malloc, realloc, free, etc.
+	* objc/archive.c: Replace use of __objc_xmalloc and free 
+	with objc_malloc and objc_free.
+	* objc/hash.c: Replace use of __objc_xcalloc and free
+	with objc_calloc and objc_free.
+	* objc/init.c: Replace use of free with objc_free.
+	* objc/misc.c (objc_malloc): Renamed from __objc_xmalloc.
+	(objc_realloc): Renamed from __objc_realloc.
+	(objc_atomic_malloc): New function.
+	(objc_valloc): New function.
+	(objc_calloc): Renamed from __objc_calloc.
+	(objc_free): New function.
+	* objc/objc-api.h (_objc_malloc): New function pointer.
+	(_objc_atomic_malloc, _objc_valloc): Likewise.
+	(_objc_realloc, _objc_calloc, _objc_free): Likewise
+	* objc/objc-list.h: Replace use of __obj_xmalloc and free
+	with objc_malloc and objc_free.
+	* objc/objects.c: Likewise.
+	* objc/sarray.c: Replace use of __objc_xmalloc and free
+	with objc_malloc and objc_free.
+	* objc/sarray.h (__objc_xmalloc, __objc_xrealloc): Delete.
+	* objc/selector.c: Replace use of __objc_xcalloc, __objc_xrealloc,
+ 	and __objc_xmalloc with objc_calloc, objc_realloc, and objc_malloc.
+	* objc/thr-decosf1.c: Replace use of __objc_xmalloc and free
+	with objc_malloc and objc_free.
+	* objc/thr-irix.c, objc/thr-mach.c, objc/thr-os2.c: Likewise.
+	* objc/thr-posix.c, objc/thr-pthreads, objc/thr-single: Likewise.
+	* objc/thr-solaris.c, objc/thr-win32.c, objc/thr.c: Likewise.
+
+Sun Sep 22 05:26:01 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* configure: Set up LANG_LIB2FUNCS and LANG_EXTRA_HEADERS.
+	* Makefile.in (libgcc2.a): Include LANG_LIB2FUNCS.
+	(USER_H): Add LANG_EXTRA_HEADERS.
+	(LANG_LIB2FUNCS): New macro.
+	(LANG_EXTRA_HEADERS): New macro.
+	(stmp-int-hdrs): Don't hardwire ginclude.
+	(stamp-objlist): Don't depend on Makefile.
+
+Sat Sep 21 18:00:10 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* alpha.md (alpha_swapped_comparison_operator pattern): Fix asm
+	operand typo in last change.
+
+Sat Sep 21 07:11:51 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* defaults.h (ASM_OUTPUT_LABELREF): Provide default definition
+	if not already defined.
+	* 1750a.h (USER_LABEL_PREFIX): Define instead of ASM_OUTPUT_LABELREF.
+	* a29k.h, alpha.h, convex.h, dsp16xx.h, elxsi.h, fx80.h: Likewise.
+	* gmicro.h, h8300.h, i386/sun386.h, i860.h, i960.h, ns32k.h: Likewise.
+	* pdp11.h, pyr.h, romp.h, sh.h, sparc.h, spur.h, tahoe.h: Likewise.
+	* vax.h, we32k.h: Likewise.
+	* i386/att.h (USER_LABEL_PREFIX): Redefine, not ASM_OUTPUT_LABELREF.
+	* i386/bsd.h, i386/lynx.h, i386/sco5.h, i860/fx2800.h: Likewise.
+	* m68k/3b1.h, m68k/mot3300.h, m68k/tower-as.h, m68k/tower.h: Likewise.
+	* ptx4.h, sparc/pbd.h, svr3.h, svr4.h: Likewise.
+	* i386/osfrose.h, m88k.h (USER_LABEL_PREFIX): Redefine.
+	* nextstep.h (USER_LABEL_PREFIX): Redefine.
+	(ASM_OUTPUT_LABELREF) Use USER_LABEL_PREFIX.
+	* arm/aout.h, mips.h (ASM_OUTPUT_LABELREF): Delete.
+	* rs6000/lynx.h (USER_LABEL_PREFIX): Undefine.
+	* rs6000.h, rs6000/win-nt.h (USER_LABEL_PREFIX): Define.
+
+Thu Sep 19 00:05:53 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* configure: Move i[3456]86-*-gnu* case after linux and don't
+ 	treat linux-gnu like other gnu systems.
+
+Wed Sep 18 20:51:09 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* cplus-dem.c (demangle_template): Fix handling of address args.
+	(gnu_special): Handle type_info stuff.
+
+Wed Sep 18 17:57:55 1996  Patrik Lantto (patrik@opq.se)
+
+	* jump.c (jump_optimize): Insert conditional move after jump
+	insn instead of before. 
+
+Wed Sep 18 17:33:36 1996  Richard Henderson  <rth@tamu.edu>
+
+	* alpha.h (PREDICATE_CODES): Add alpha_swapped_comparison_operator.
+	* alpha.c (alpha_swapped_comparison_operator): New function.
+	(print_operand): Support unsigned codes for %D, %c, and %d.
+	* alpha.md: Add pattern for b%c with swapped comparisons with 0.
+	Delete three unnamed cmp patterns that are strict subsets of it.
+
+	* alpha.c (alpha_emit_set_long_const): Save one instruction
+	when -O2 and high word == low word.
+
+Tue Sep 17 22:46:15 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i386/unix.h (ASM_OUTPUT_MI_THUNK): Handle functions
+	returning an aggregate.
+
+	* varasm.c (supports_one_only): New function.
+	(make_decl_one_only): Likewise.
+	* svr4.h (MAKE_DECL_ONE_ONLY): Define.
+	* tree.h (DECL_ONE_ONLY): New macro.
+
+	* varasm.c (assemble_variable): Fix setting of
+ 	first_global_object_name.
+	(assemble_start_function): Likewise.
+
+Tue Sep 17 19:42:39 1996  Doug Evans  <dje@wabamun.cygnus.com>
+
+	* i386/t-cygwin32 (winnt.o): Compile properly.
+
+Tue Sep 17 15:47:20 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* Add support for VR5000, and finish MIPS4 support.
+	* mips.h (enum processor_type): Add PROCESSOR_R5000.
+	(gen_conditional_move): Declare.
+	(CONDITIONAL_REGISTER_USAGE): Mark ST_REGS as fixed if not
+	HARD_FLOAT, or if mips_isa < 4.
+	(FIRST_PSEUDO_REGISTER): Change to 76.
+	(FIXED_REGISTERS): Add condition code registers.
+	(CALL_USED_REGISTERS): Likewise.
+	(ST_REG_LAST): Change to 74.
+	(RAP_REG_NUM): Change to 75.
+	(ST_REG_P): Look for any condition code register.
+	(REG_CLASS_CONTENTS): Update for new condition code registers.
+	(RTX_COSTS): Add cases for R5000.
+	(REGISTER_MOVE_COST): Add cases for condition code registers.
+	(PREDICATE_CODES): Add "const_float_1_operand".
+	(EXTRA_CC_MODES): Remove.
+	(EXTRA_CC_NAMES): Remove.
+	(SELECT_CC_MODE): Remove.
+	(REGISTER_NAMES): Add entries for new condition code registers.
+	(DEBUG_REGISTER_NAMES): Likewise.
+	(ADDITIONAL_REGISTER_NAMES): Remove FPSW_REGNUM.
+	* mips.md (cpu attribute): Add R5000.
+	(function units): Add cases for the R5000.
+	(madd.d): Only available if TARGET_DOUBLE_FLOAT.
+	(msub.d, nmadd.d, nmsub.d): Likewise.
+	(recip.d, recip.s, rsqrt.d, rsqrt.s): New define_insn patterns.
+	(movcc): New pattern to move condition code values.
+	(reload_incc, reload_out_cc): New define_expand patterns.
+	(lwxc1, ldxc1, swxc1, sdxc1): Several new define_insn patterns.
+	(various): Replace CC_FP with CC.
+	(branch_fp_ne, branch_fp_eq): Match any condition code register.
+	(branch_fp_ne_rev, branch_fp_eq_rev): Remove.
+	(seq_df, slt_df, sle_df): Match any condition code register.
+	(sgt_df, sge_df, seq_sf, slt_sf, sle_sf): Likewise.
+	(sgt_sf, sge_sf): Likewise.
+	(sne_df, sne_sf): Remove.
+	(FP conditional moves): Match any condition code register.
+	Require TARGET_HARD_FLOAT and, if appropriate,
+	TARGET_DOUBLE_FLOAT.
+	(movsicc): Just call gen_conditional_move.
+	(movdicc, movsfcc, movdfcc): New define_expand patterns.
+	* mips.c (mips_reg_names): Add condition code registers.
+	(mips_sw_reg_names): Likewise.
+	(mips_regno_to_class): Likewise.
+	(const_float_1_operand): New function.
+	(mips_move_1word): Treat CCmode as SImode.  Handle move from
+	ST_REG to GR_REG if mips_isa >= 4.  Only permit move from GR_REG
+	to ST_REG is mips_isa < 4.
+	(gen_conditional_branch): Rewrite.  Just use CCmode, not extra
+	condition modes.
+	(gen_conditional_move): New function.
+	(override_options): Recognize vr5000.  Look for just CCmode, not
+	extra condition modes.  If mips_isa >= 4, permit CCmode in GR_REGS
+	and FP_REGS.
+	(print_operand): Handle %Z.
+	(mips_secondary_reload_class): Require a data register to copy a
+	value out of a condition code register.  Require a floating point
+	register to copy a value into a condition code register.
+
+Tue Sep 17 15:10:29 1996  Joern Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.md: New define_splits to recombine output from LEGITIMIZE_ADDRESS.
+	* sh.h (LEGITIMIZE_ADDRESS): Typo fixes (x -> X).
+
+Mon Sep 16 23:00:35 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (build_broken_install): Renamed from host_broken_install.
+	Set from build not host.
+	(build_install_headers): Renamed from host_install_headers.  Set from
+	build not host.
+
+Mon Sep 16 22:38:55 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+	* configure (m68k-*-coff*): Use dbx debug format by default.
+	* gcc.c (link_command_spec): Move -T to end of link command line.
+	* m68k/m68kemb.h (LINK_SPEC, SUBTARTGET_SWITCHES): Delete.
+	(LIB_SPEC): Define to just -lc.
+	(STARTFILE_SPEC): Define to empty.
+
+Mon Sep 16 13:12:27 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.c (ext_shift_insns, ext_shift_amounts): new arrays.
+	(gen_ashift_hi, gen_shifty_hi_op, shl_and_kind): new functions.
+	rtx_equal_function_value_matters: declare.
+	(shl_and_length, shl_and_src_length, gen_shl_and): new functions.
+	(shl_sext_kind, shl_sext_length, gen_shl_sext): new functions.
+	* sh.md (ashlhi3_k, lshrhi3_m): new insn pattern.
+	(lshrhi3, shl_sext_ext, shl_sext_sub):
+	new insn pattern with matching define_split.
+	(and_shl_scratch): Likewise, but also with unnamed variants.
+
+Sat Sep 14 17:05:07 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* gcc.c (convert_filename): Don't start looking for '.' until
+	after last directory separator.
+
+	* i386.md (clrstrsi): Correct check for constant size.
+
+	* Based on code by sac@cygnus.com.
+	* i386/cygwin32.h (CHECK_STACK_LIMIT): Make consistent with MD file.
+	* i386.c ({function,ix86_expand}_prologue): Use __alloca to allocate
+	stack if desired and beyond CHECK_STACK_LIMIT in size.
+	* i386.h ({MASK,TARGET}_STACK_PROBE): New macros.
+	(TARGET_SWITCHES): Add -mstack-arg-probe.
+	* i386.md (allocate_stack{,_worker}): New patterns.
+
+Fri Sep 13 18:23:18 1996  Joel Sherrill <joel@OARcorp.com>
+
+	* sparc/lb1spc.asm (.div, .rem): Fixed typo so sign is returned
+	correctly.  TOPBITS was 2 and should have been 4.
+
+Thu Sep 12 21:51:56 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.md (call_value_multiple_internal0): Change from define_insn to
+	define_expand.
+
+Thu Sep 12 19:22:14 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* sparc.md (move_pic_label_si): Operand one is label_ref now.
+	* sparc.c (emit_move_sequence): Pass label_ref to
+	gen_move_pic_label_si to not lose flags.
+
+Wed Sep 11 12:10:08 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (GCC_PASSES): Add $(exeext) to names.
+	(FLAGS_TO_PASS): Add CLIB.
+	(c-pragma.o): Add dependencies on except.h, function.h, defaults.h.
+
+Tue Sep 10 22:25:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure (i[3456]86-*-cygwin32): Use xm-cygwin32.h and xm-i386.h.
+	Set fixincludes to Makefile.in and objc_thread_file to win32.
+	* i386/xm-cywin32.h: Don't include xm-i386.h.
+	* i386/x-cygwin32, rs6000/x-cygwin32 (STMP_FIXPROTO, exeext): New defs.
+
+	* gcc.c (HAVE_EXECUTABLE_SUFFIX): New macro.
+	(convert_filename): New function.
+	(process_command, case 'o'): Call it.
+	(process_command, default case): Likewise; delete old code.
+
+Tue Sep 10 21:08:43 1996  Torbjorn Granlund  <tege@albert.gnu.ai.mit.edu>
+
+	* i386.md (decrement_and_branch_until_zero matcher): Fix typo.
+
+Tue Sep 10 19:04:19 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (mips_move_2words): Rewrite 32 bit shifts as 16 bit shifts.
+
+Tue Sep 10 10:39:07 1996  Jeffrey A Law  (law@cygnus.com)
+	
+	* pa/pa-gas.h (DBX_DEBUGGING_INFO): Remove all #define
+	and #undef statements related to debugging information.
+	* pa/pa-hpux.h, pa-hpux7.h: Likewise
+	* pa.c (override_options): Disable "-g" and issue a warning
+	if it's used when !TARGET_GAS.
+
+Mon Sep  9 17:57:49 1996  Doug Evans  <dje@wabamun.cygnus.com>
+
+	* sparc.h ({MASK,TARGET}_FPU_SET): Define.
+	(TARGET_SWITCHES): Record if -m{,no-}fpu passed.
+	* sparc.c (sparc_override_options): Don't clobber explicit
+	-m{,no-}fpu setting with cpu default.
+
+Mon Sep  9 15:57:57 1996  Joel Sherrill  <joel@OARcorp.com>
+
+        * configure (mips64orion-*-rtems*): New target.
+        * mips/rtems64.h: New file.
+
+Sat Sep  7 22:07:53 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_field): If storing a record on big endian targets,
+	set up so we store the high-order bits.
+	(expand_expr, case COMPONENT_REF): Likewise for loads.
+
+Thu Sep  5 14:59:47 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* sh.h (LEGITIMIZE_ADDRESS): Define nonempty.
+
+Thu Sep  5 10:43:36 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (movsi, movdi, movsf patterns): Handle
+	'R' constraints as needed.
+
+Wed Sep  4 17:13:28 1996  Bob Manson  <manson@charmed.cygnus.com>
+
+	* except.c: (add_partial_entry): New routine.
+	(expand_start_try_stmts): Moved from cp/except.c.
+	(expand_start_all_catch): Move functionality of expand_end_try_stmts
+	here.
+
+Wed Sep  4 12:30:02 1996  Mike Stump  <mrs@cygnus.com>
+
+	* except.c (emit_unwinder): Ensure that CLOBBER and USE insns come
+	last, if present.
+
+Tue Sep  3 12:01:43 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* configure (sh-*-elf*): New target.
+	* sh/elf.h: New file.
+
+Fri Aug 30 17:52:26 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* dwarf2out.c (gen_formal_types_die): Delete extra argument from
+	gen_type_die call.
+
+Fri Aug 30 15:40:40 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+	* mips/elf64.h: Allow MULTILIB_DEFAULTS to be defined
+	before this file is included.
+
+Fri Aug 30 15:00:06 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.md: (movsicc,movhicc): Allow reload from memory.
+	
+	* i386.c (override_options): Don't thread the prologue if profiling.
+
+Fri Aug 30 15:00:06 1996  James Hawtin  <cgjwh@sunrise.co.uk>
+	
+	* i386/t-sol2 (gcrt1.o): Added for profiling Solaris 2
+	* i386/sol2.h (STARTFILE_SPEC): New.
+	* i386/gmon-sol2.c, i386/sol2-gc1.asm: New files.
+	
+Thu Aug 29 22:08:03 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* except.c (add_eh_table_entry): Multiply realloc size by sizeof int.
+
+Thu Aug 29 15:15:31 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.md (fcmp patterns): Don't try to eliminate useless add,tr
+	insns here.
+	* pa.c (pa_reorg): Do elimination of useless add,tr insns here instead.
+	(print_operand, case 'y'): Remove this code.
+
+Wed Aug 28 16:19:34 1996  Doug Evans  <dje@cygnus.com>
+
+	* toplev.c (print_single_switch): Ultrix fprintf returns 0 for success.
+
+	* toplev.c (main): Rewrite -g parsing.
+
+Mon Aug 26 16:15:49 1996  Fred Fish  <fnf@cygnus.com>
+
+	* Makefile.in (objc-parse.y): Fix typo in name of temp file.
+
+Mon Aug 26 14:08:37 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (mark_all_temps_used): Fix error in last change.
+
+Sun Aug 25 22:27:19 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (mark_all_temps_used): New function.
+
+Fri Aug 23 11:34:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Fixes to make -fPIC
+	really the same as -mrelocatable.
+	(ASM_SPEC): Pass -K PIC to the assembler if -fpic/-fPIC.
+
+	* rs6000/sol2.h (ASM_CPU_SPEC): Remove passing -K PIC to the
+	assembler if -fpic/-fPIC.
+
+	* bi-{arity,opcode,opname}.c (fancy_abort): Define, so that
+	-Dabort=fancy_abort works again.
+
+Thu Aug 22 11:39:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/t-ppcgas ({stmp,install}-crt): Only build and install the
+	eabi ecrt[in].o object files in eabi multilib directories, only
+	build and install the solaris scrt[in0].o object files in solaris
+	directories.
+	(MULTILIB_MATCHES): Remove matches for solaris, linux to other
+	switches.
+
+Tue Aug 20 18:49:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): If -mrelocatable or
+	-mrelocatable-lib, don't make read-only sections, since if there
+	are pointers to be fixed up, the assembler complains.
+
+Mon Aug 19 18:42:13 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.h ({MASK,TARGET}_LITTLE_ENDIAN): Define.
+	(LIBGCC2_WORDS_BIG_ENDIAN): Add little endian support.
+	* sparc/sp64-elf.h ({CPP,ASM,LINK}_SPEC): Add little endian support.
+	(SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
+	({BYTES,WORDS}_BIG_ENDIAN): Likewise.
+	* sparc/splet.h (SUBTARGET_SWITCHES): Recognize -m{big,little}-endian.
+	({CPP,ASM,LINK}_SPEC): Add little endian support.
+	({BYTES,WORDS}_BIG_ENDIAN): Likewise.
+	* sparc/t-splet (MULTILIB_{OPTIONS,DIRNAMES}): Likewise.
+
+	* sparc/lynx-ng.h (CPP_SPEC): Use %(cpp_cpu).
+
+Sat Aug 17 15:23:39 1996  Geoffrey Noer  <noer@cygnus.com>
+
+	* i386/cygwin32.h (CPP_PREDEFINES): Define _WIN32, not WIN32.
+	Define only __CYGWIN32__, not CYGWIN32 or __CYGWIN32.
+	* rs6000/cygwin32.h (CPP_PREDEFINES): Likewise.
+	* cccp.c (absolute_filename): Drive specifiers make the pathname
+	absolute in cygwin32.
+	* choose-temp.c: Delete !defined(_WIN32) condition when including
+	sys/file.h (NO_SYS_FILE_H is still used).
+	* gcc.c: Change ifndef _WIN32 to ifndef NO_SYS_FILE_H when deciding
+	whether to include sys/file.h.
+	(execute): -pipe is supported for cygwin32.
+	* getopt.c: Change win32 test from WIN32 to _WIN32.
+	* pexecute.c: Update test for win32 (&& ! cygwin32).
+	* protoize.c: Likewise.
+	(kill): Delete decl.
+	* toplev.c: Update test for win32 (&& ! cygwin32).
+	* ginclude/stdarg.h: Change __WIN32__ to _WIN32.
+	* ginclude/varargs.h: Likewise.
+	* ginclude/va-ppc.h: Likewise.
+
+Fri Aug 16 16:02:09 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (rs6000_got_register): Make sure pic_offset_table_rtx
+	allocated, even if current_function_uses_pic_offset_table set.
+
+Fri Aug 16 15:56:04 1996  J. Kean Johnston  <hug@netcom.com>
+
+	* i386/sco5.h (CLASS_LIKELY_SPILLED_P): Deleted.
+	(STARTFILE_SPEC): Insert crtbegin.o in correct place, and correct
+	versions of values-X?.o.
+	(SWITCH_TAKES_ARG): Extend DEFAULT_SWITCH_TAKES_ARG, not replace.
+	(CPP_SPEC): Add -Di386, and correctly include extra directories.
+	Define HAVE_ATEXIT in ELF mode for global destructors.
+
+Thu Aug 15 16:42:44 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.c (label_ref_operand): New function.
+	(emit_move_sequence): Pass label_ref to gen_move_label_di to not
+	lose flags.
+	* sparc.md (move_label_di): Operand one is label_ref now.
+	* genattrtab.c (write_test_expr): Allow label_ref in match_dup.
+
+	* sys-protos.h (gethostid): Make return type `int' ifdef __alpha__.
+	* gen-protos.c: Delete support for SYS_PROTO_OVERRIDES.
+	* alpha.h (SYS_PROTO_OVERRIDES): Delete.
+
+Thu Aug 15 17:36:09 1996  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__throw): New routine.
+	(__eh_pc): New data object for exception handling.
+
+	* except.c (eh_saved_pc): New object so we can call
+	assemble_external.
+	(expand_internal_throw_indirect): Call assemble_external for __eh_pc.
+	(end_eh_unwinder): Likewise.
+	(init_eh): Initialize eh_saved_pc.
+
+Thu Aug 15 13:02:42 1996  Mike Stump  <mrs@cygnus.com>
+
+	* arm.h (RETURN_ADDR_RTX): Define.
+
+	* expr.c (expand_builtin_return_addr): Fix order of parameters.
+
+Wed Aug 14 19:48:00 1996  Torbjorn Granlund  <tege@spiff.gnu.ai.mit.edu>
+
+	* stmt.c (expand_return): In code for doing scc with jumps,
+	stick to default handling if we have corresponding scc pattern.
+
+Wed Aug 14 10:31:28 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (override_options): Treat TARGET_FAST_INDIRECT_CALLS
+	just like TARGET_NO_SPACE_REGS.
+	(output_millicode_call): Likewise.
+	* pa.h (TARGET_FAST_INDIRECT_CALLS): Define.
+	(TARGET_SWITCHES): Add "fast-indirect-calls".
+	* pa.md: Treat TARGET_FAST_INDIRECT_CALLS just like
+	TARGET_NO_SPACE_REGS in various call/millicode call patterns.
+
+	* pa.c (print_operand): Use the right comparison operator
+	for reversed EQ and NE comparisons.
+
+	* pa.h (OUTPUT_MI_THUNK): Define.
+
+Wed Aug 14 11:40:49 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* ginclude/va-ppc.h: Add Windows NT support.
+	* ginclude/{varargs,stdarg}.h: For PowerPC Windows NT, include
+	va-ppc.h, instead of using the default handling.
+
+Tue Aug 13 18:30:10 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Remove duplicate volatile from sig_atomic_t in AIX
+	sys/signal.h
+
+Tue Aug 13 16:51:37 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* i960-coff.h (LIB_SPEC): Undef.
+
+	* sh.h (PROFILE_BEFORE_PROLOGUE): Define.
+
+Tue Aug 13 11:36:02 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* gcc.c (set_spec,process_command): Dump and load the compiler
+	version number in the specs file.
+
+	* rs6000.c (output_toc): Fix last change, so that it doesn't use
+	an uninitialized variable if -mminimal-toc.
+	(output_prolog): Increment probe_labelno after last use.
+
+	* rs6000/t-ppcgas (MULTILIB_*): Build far fewer multilib
+	libraries.  Build all libraries with -mrelocatable-lib and
+	-mno-eabi.  Build special Linux and Solaris libraries.
+	* rs6000/eabi{,aix,le}.h (MULTILIB_DEFAULTS): Adapt to changes in
+	t-ppcgas.
+	* rs6000/(linux,sol2).h (MULTILIB_DEFAULTS): Ditto.
+	* rs6000/{sysv4,sysv4le} (MULTILIB_DEFAULTS): Ditto.
+
+Tue Aug 13 11:36:02 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* rs6000.c (handle_mac_pragma): Initialize "psize".
+
+Mon Aug 12 18:14:35 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* gcc.c (used_arg): Initialize cnt to zero.
+
+Mon Aug 12 14:03:16 1996  Jim Wilson  <wilson@cygnus.com>
+
+	From Mike Stump:
+	* sh.c (regno_reg_class): Change entry 23 from NO_REGS to GENERAL_REGS.
+	(initial_elimination_offset): New variable live_regs_mask.  Add
+	code to handle RETURN_ADDRESS_POINTER_REGNUM.
+	* sh.h (RAP_REG, RETURN_ADDRESS_POINTER_REGNUM): Define.
+	(ELIMINABLE_REGS): Add RETURN_ADDRESS_POINTER_REGNUM support.
+	(RETURN_ADDR_RTX): Define.
+	(REGISTER_NAMES): Add rap.
+
+	* iris5.h (DOLLARS_IN_IDENTIFIERS): Undefine.
+
+	* m68kemb.h (LIB_SPEC): Always emit -lc.
+
+Mon Aug 12 12:30:25 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (rs6000_got_register): Test variable
+	current_function_uses_pic_offset_table to see whether or not a GOT
+	register has been created already.
+
+	* Makefile.in (multilib.h): Move to stamp-mlib.
+	(stamp-mlib): Use move-if-change to conditionally update
+	multilib.h.  Pass MULTILIB_EXTRA_OPTS to genmultilib.
+	(STAGESTUFF): Add stamp-mlib.
+	(mostlyclean): Delete tmp-mlib.h.
+
+	* genmultilib: Take a fifth argument to add options to pass on to
+	all multilib builds.  Restructure output so that we pass the
+	synonym switches and extra arguments separately, and not
+	exponentially slow down genmultilib.
+
+	* gcc.c (toplevel): Rearrange multilib support so that we support
+	passing the synonyms separately from the normal switches.  Add
+	support for passing additional switches to be used on all multilib
+	builds.  Dump and restore the value of MULTILIB_DEFAULTS so that
+	gcc cover programs for other targets will correctly chose the
+	appropriate multilib directory.
+	(setspec,process_command,main): Ditto
+	(used_arg,default_arg,print_multilib_info): Ditto.
+
+Mon Aug 12 07:46:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Add test
+	and call for nonlocal_goto_receiver pattern.
+	* stmt.c (expand_end_bindings): Likewise.
+
+	* stmt.c (expand_asm_operands): Fix off-by-one error when
+	scanning constraints.
+
+Sun Aug 11 22:48:02 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* expr.c (store_expr): Handle COND_EXPR cleanups like expand_expr.
+
+Sun Aug 11 22:42:36 1996  J"orn Rennecke  <amylaar@cygnus.co.uk>
+
+	* optabs.c (expand_abs): When OP0 and TARGET are the same
+	pseudo register, it is safe to use TARGET.
+
+	* local-alloc.c (reg_equiv_replace): New variable.
+	(update_equiv_regs): Set reg_equiv_replacement for all REG_EQUIV
+	notes encountered or generated.
+
+Sun Aug 11 22:27:14 1996  Scott Christley <scottc@net-community.com>
+
+	* objc/hash.c (hash_is_key_in_hash): Function somehow got lost.
+
+Sun Aug 11 21:43:15 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* ginclude/stddef.h (__need_wint_t): Move #undef to right place.
+
+Sun Aug 11 17:46:22 1996  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+	* c-decl.c (finish_struct): If pedantic, also warn if struct/union
+	has no named members.
+
+Sun Aug 11 17:32:52 1996  Joel Sherrill <joel@OARcorp.com>
+
+	* i386/rtems.h: Renamed from i386/i386-rtems.h
+	* i960/rtems.h: Renamed from i960/i960-rtems.h
+	* m68k/rtems.h: Renamed from m68k/m68k-rtems.h
+	* rs6000/rtems.h: Renamed from rs6000/powerpc-rtems.h
+	* sparc/rtems.h: Renamed from sparc/sparc-rtems.h
+	* config/t-rtems: New file.
+	* configure (i386-*-rtems*): Added t-rtems to tmake_file.
+	Renamed i386/i386-rtems.h to i386/rtems.h.
+	(i960-*-rtems*): Added t-rtems to tmake_file.
+	Renamed i960/i960-rtems.h to i960/rtems.h.
+	Added original tm.h file and dbxcoff.h.
+	(m68k-*-rtems*): Added t-rtems to tmake_file.
+	Renamed m68k/m68k-rtems.h to m68k/rtems.h.
+	(powerpc-*-rtems*): Added t-rtems to tmake_file.
+	Renamed rs6000/powerpc-rtems.h to rs6000/rtems.h.
+	(sparc-*-rtems*): Added t-rtems to tmake_file.
+	Renamed sparc/sparc-rtems.h to sparc/rtems.h.
+
+Fri Aug  9 16:05:13 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.md: (untyped_call) Avoid SIGFPE.
+
+	* i386.c (output_float_compare): Don't try to initialize
+	aggregate local variable; use assignment statements instead.
+
+	* i386.h (RTX_COSTS): rtx_cost should pass two parameters.
+	
+	* i386/go32.h (ASM_OUTPUT_SECTION_NAME): New.
+
+Fri Aug  9 16:00:11 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* winnt.c (gen_stdcall_suffix): Round parameter size to PARM_BOUNDARY.
+
+Thu Aug  8 17:42:35 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (output_toc): If we are emitting a reference to a
+	vtable, don't put in the section name, just use the symbol.
+
+Wed Aug  7 19:03:36 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.md (casesi_jump): New pattern.
+	(casesi): Generate RTL to match it.
+
+Wed Aug  7 14:10:07 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* ginclude/stddef.h (NULL): Use __null for G++.
+
+Tue Aug  6 17:37:53 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (STACK_BOUNDARY): Always define as 64.
+	(ABI_STACK_BOUNDARY): Define as 64/128 based on the -mno-eabi
+	switch.
+
+	* rs6000.c (rs6000_stack_info): Use ABI_STACK_BOUNDARY, not
+	STACK_BOUNDARY.  Define ABI_STACK_BOUNDARY as STACK_BOUNDARY #ifndef.
+
+Tue Aug  6 14:29:43 1996  Doug Evans  <dje@fallis.cygnus.com>
+
+	* gen-protos.c (overrides): New static local.
+	(add_hash,parse_fn_proto): New static functions.
+	(main): Add prototypes from SYS_PROTO_OVERRIDES to hash table before
+	parsing sys-protos.h.  Reserve entry 0 in std_protos.
+	* alpha.h (SYS_PROTO_OVERRIDES): Define.
+
+Mon Aug  5 16:53:36 1996  Doug Evans  <dje@fallis.cygnus.com>
+
+	* sparc/t-splet (MULTILIB_OPTIONS): Add mbroken-saverestore.
+	(MULTILIB_DIRNAMES): Add brknsave.
+
+	* stor-layout.c (layout_record): Correct overflow test for 0 sized
+	fields.
+
+Mon Aug  5 16:12:19 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* alpha.c (alpha_output_filename): When emitting stabs, don't
+	disable them if using GNU as.
+	(alpha_output_lineno): Likewise, when not using GNU as.
+
+	* sh.c (arith_reg_operand): Reject SUBREG of an invalid hard reg.
+
+	* sparc/lite.h (aoutos.h): Don't include it.
+	* configure (sparclite-*-aout*): Add aoutos.h to tm_file.
+
+Sat Aug  3 23:13:55 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* combine.c (rtx_equal_for_field_assignment_p): Check for
+	get_last_value returning (CLOBBER (CONST_INT 0)).
+
+Sat Aug  3 20:19:14 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* i960.md (subsi3+1): Handle case where first operand is constant
+	but second operand is not.
+
+	* m68k/vxm68k.h (WCHAR_TYPE_SIZE): Undef, then define to 16.
+
+Fri Aug  2 15:46:19 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa/pa-hpux.h (LINK_SPEC): Don't link in PA1.1 specific
+	libraries when creating shared libraries.
+	* pa/pa-hpux9.h, pa/pa-hpux10.h: Likewise.
+
+Fri Aug  2 13:36:42 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (output_float_compare): fcomi should be followed by the
+	correct conditional jump instead of fcom/pfstsw/and/jne
+	(override_options): Added -mbranch-cost to set BRANCH_COST.
+	
+	* i386.md (sgt+1,slt+1,sge+1,sle+1,bgt+1,blt+1,bge+1,ble+1,bleu+4)
+	Added TARGET_CMOVE check for fcomi.
+	(movsicc_1+1,movhicc_1+1): Added to handle the general case.
+	
+	* i386.h (i386_branch_cost, i386_branch_cost_string): Added.
+
+Fri Aug  2 11:53:55 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* sparc/vxsparc.h (CPP_PREDEFINES): Add `-DCPU=SPARC'.
+
+Thu Aug  1 23:56:01 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (ASM_OUTPUT_INT): Remove all hacks for exception table.
+
+Thu Aug  1 10:08:14 1996  Torbjorn Granlund  <tege@spiff.gnu.ai.mit.edu>
+
+	* m68k.h (RTX_COSTS, case PLUS): Get operand order right.
+
+Wed Jul 31 15:06:46 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.md (negtf2,abstf2): Fix v9 case.
+
+Wed Jul 31 09:49:25 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (ASM_OUTPUT_INT): Use an 'E%' prefix for items in
+	the exception table if TARGET_GAS && ! TARGET_PORTABLE_RUNTIME.
+
+Tue Jul 30 15:37:31 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* i386/cygwin32.h (dbxcoff.h): Include.
+	(DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
+	Move definitions before include of dbxcoff.h.
+	(ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_MAIN_SOURCE_FILE_END): Delete.
+	(DBX_BLOCKS_FUNCTION_RELATIVE, DBX_FUNCTION_FIRST): Delete.
+
+Tue Jul 30 15:03:53 1996  Torbjorn Granlund  <tege@spiff.gnu.ai.mit.edu>
+
+	* i960.md (eq reg (const_int 0)): New pattern.
+
+Tue Jul 30 11:15:44 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (RETURN_ADDR_RTX): Offset is -20 from the frame, not +20!
+
+Mon Jul 29 12:16:17 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix thinko in last change.
+
+Fri Jul 26 18:19:47 1996  Doug Evans  <dje@cygnus.com>
+
+	* dwarfout.c (output_bound_representation): Fix typo.
+
+Thu Jul 25 16:00:10 1996  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (do_jump, case TRUTH_ORIF_EXPR): Ensure end of an
+	exception region comes after its start.
+	(do_jump, case TRUTH_ANDIF_EXPR): Likewise.
+
+Thu Jul 25 13:36:42 1996  Stan Cox  <coxs@equinox>
+
+	* i386.c (output_float_compare): Added support for Pentium Pro
+	fcomi instruction which sets EFLAGS instead of FPU Status Word.
+
+Wed Jul 24 21:48:08 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cse.c (canon_hash, cse_insn): MEM is not unchanging if it is
+	in the frame (since the temp slot might be reused).
+
+Wed Jul 24 17:34:06 1996  J"orn Rennecke (amylaar@cygnus.com)
+
+	* sh.md (branch_true, branch_false, inverse_branch_true): Express
+	tests of the T bit as comparisons against zero, rather than one.
+	(inverse_branch_false, beq, bne, bgt, blt, ble, bge, bgtu): Likewise.
+	(bltu, bgeu, bleu, casesi): Likewise.
+
+Wed Jul 24 15:58:06 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.md: (mov{sf,df,xf}cc{,_1}): New patterns for P6 FP cmove.
+	* i386.c (put_condition_code, print_operand, output_fp_cc0_set):
+	Support fcmov suffixes.
+
+Wed Jul 24 10:53:38 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.c (move_operand): Relax "mode" test.  Allow scaled
+	indexed addressing modes.
+	(output_fp_move_double): Tweak output strings to work with updated
+	'F' and 'M' output modifiers.
+	(print_operand): Collapse 'F' and 'M' into a single hunk of code.
+	For auto-increment modes output "s,ma" and "s,mb".
+	For scaled indexing modes output "x,s"
+	For other addresses, output nothing for 'M' and "s" for 'F'.
+	* pa.h (EXTRA_CONSTRAINT): Don't accept scaled indexed addresses
+	for 'Q' and 'T'.  Do accept scaled indexed addresses for 'R'.
+	(GO_IF_LEGITIMATE_ADDRESS): Accept scaled indexed addresses
+	for SFmode and DFmode.
+	* pa.md: Remove all scaled indexed load patterns.
+	(movsi patterns): Accept scaled indexed addresses in some
+	cases.  Update output strings for updated 'M' and 'F' output modifiers.
+	(movhi, movqi, movsf, movdf, movdi patterns): Likewise.
+
+Tue Jul 23 23:10:41 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.h (struct tree_int_cst): Add field for TREE_CST_RTL.
+	* varasm.c (decode_addr_const, output_constant_def): AllowINTEGER_CST.
+
+Tue Jul 23 16:42:09 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.c (reg_unused_after): Handle JUMP_INSN inside a sequence.
+
+Tue Jul 23 16:33:25 1996  Mike Stump  <mrs@cygnus.com>
+
+	* Make exception handling work better when optimizations are on.
+	* except.c, except.h: New files.
+	* Makefile.in (OBJS): Add except.o.
+	(except.o): Add.
+	(stmt.o, final.o): Add except.h.
+	* rtl.c (note_insn_name): Add NOTE_INSN_EH_REGION_{BEG,END}.
+	* rtl.h: Likewise.
+	* arm.h (MASK_RETURN_ADDR): Define.
+	* pa.h (MASK_RETURN_ADDR, RETURN_ADDR_RTX): New macros.
+	* sparc.h (DOESNT_NEED_UNWINDER): Define if not doing a flat function.
+	* mips.h (RETURN_ADDR_RTX): Improve.
+	* vax.h (RETURN_ADDR_RTX): Improve.
+	* toplev.c (rest_of_compilation): Use find_handler_labels.
+	(main, interim_eh{,_hook}): Remove interim_eh_hook support.
+	(flag_exceptions): New flag; also add to table.
+	(compile_file): Emit the exception table in the backend now.
+	* final.c (final_scan_insn): Support ASM_OUTPUT_EH_REGION_{BEG,END}.
+	(final_scan_insn): Redo handler labels, implement
+	NOTE_INSN_EH_REGION_BEG and NOTE_INSN_EH_REGION_END and use them
+	instead of CODE_LABELs.
+	(final): Add call to check_handler_labels.
+	* libgcc2.c (L_eh): Add support for EH_TABLE_LOOKUP.
+	* sparc.md (return): Add a reference to the return address register.
+	* flow.c (find_basic_blocks): Add support for handler_labels.
+	* loop.c (find_and_verify_loops): Likewise.
+	* jump.c (jump_optimize): Likewise.
+	Add call to check_handler_labels.  Add call to exception_optimize.
+	* sched.c (sched_analyze): Smuggle exception region notes around.
+	(unlink_notes, reemit_notes, schedule_block): Likewise.
+	(sched_analyze): Add extra element since we remove two at a time.
+	* integrate.c (save_for_inline_copying): Add support for exception
+	regions.
+	(expand_inline_function): Likewise.
+	(function_cannot_inline_p): Don't inline functions that have EH
+	regions before NOTE_INSN_FUNCTION_BEG.
+	(finish_inline): Use FIRST_FUNCTION_INSN, not NEXT_INSN.
+	* function.c (expand_start_all_catch): New function.
+	* function.h: Add exception handling support information.
+	* expr.c (expand_expr, {defer,expand}_cleanups_to, do_jump): Transform
+	interim_eh_hook into calls to expand_ehregion_{start,end}.
+	* stmt.c (expand_{decl_cleanup,cleanups}): Likewise.
+	(init_stmt_for_function): Call init_eh.
+	(save_stmt_status): Call save_eh_status.
+	(restore_stmt_status): Call restore_eh_status.
+	* expr.h (throw_libfunc): Add.
+	* optabs.c (throw_libfunc): Initialize.
+	* print-rtl.c (print_rtx): Add support for exception regions.
+	* rs6000.c (EXCEPTION_SECTION): Define.
+	* output.h (exception_section): Declare.
+	* varasm.c (exception_section): Define.
+	* i386.c, i960.c, rs6000.c: Include except.h for function.h.
+	* c-pragma.c, emit-rtl.c, expr.c, final.c, flow.c: Include except.h.
+	* function.c, integrate.c, jump.c, loop.c, objc-act.c: Likewise.
+	* stmt.c, stor-layout.c, toplev.c, tree.c, varasm.c: Likewise.
+	
+Tue Jul 23 12:32:54 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (rs6000_replace_regno): Set pic_offset_table_rtx so
+	that other phases will use the PIC register instead of the
+	placeholder.
+
+	* rs6000.md (movsi_got*): Eliminate -fPIC code, keep -fpic code.
+	(movsi): Only call movsi_got if -fpic, not -fPIC.
+
+	* sysv4.h (OVERRIDE_OPTIONS): Improve error messages.  Always set
+	-msdata=data by default, even if -fpic/-fPIC/-mrelocatable.  Treat
+	-fPIC the same as -mrelocatable-lib and vica versa.
+
+	* t-ppcgas: (MULTILIB_*): Use -mreloctable-lib, instead of
+	-mrelocatable.  Map Solaris into mcall-sysv-noeabi case.  Build
+	-mrelocatable-lib libraries under non-eabi case.  When linking, if
+	-fpic, -fPIC, or -shared, link in the -mrelocatable-lib libraries.
+
+Mon Jul 22 19:34:20 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* iris6.h (ASM_SPEC): Change {% to %{.
+
+	* dwarf2out.c (output_call_frame_info): Change FDE CIE offset to
+	be section name rather than 0.
+	(gen_subprogram_die): Only emit DW_AT_external if origin is NULL.
+	Only call equate_decl_number_to_die if origin is NULL.
+	(dwarfout_begin_function): In code that computes offset of frame
+	pointer, change 4 to UNITS_PER_WORD.
+
+	* combine.c (undo_all): Clear previous_undos field.
+
+Mon Jul 22 19:10:45 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* configure: Don't change target_alias to target in Makefile.
+
+Sat Jul 20 09:28:38 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* dwarfout.c (output_bound_representation): Treat default case
+	as variable bounds, then look inside for SAVE_EXPR.
+
+	* mips.h (INITIALIZE_TRAMPOLINE): Use `_flush_cache'; flush data
+	cache too.
+
+Sat Jul 20 09:24:13 1996  Marco Walther  (Marco.Walther@mch.sni.de).
+
+	* configure (mips-sni-sysv4): New target.
+	* mips/sni-gas.h, mips/sni-svr4.h, mips/x-sni-svr4: New files.
+
+Fri Jul 19 17:44:13 1996  Stan Coxs  <coxs@dg-rtp.dg.com>
+
+	* i386.md: (leave): Clobbers esp and ebp.
+
+	* i386.h: (TARGET_USE_Q_REG): Support inline strlen on PentiumPro
+
+Fri Jul 19 15:56:18 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* m68k/t-m68kbare (MULTILIB_OPTIONS): Add m5200.
+	(MULTILIB_EXCEPTIONS): Define.
+	* m68k/lb1sf68.asm: Add MCF5200 support.
+	* m68k.md (adddi_sexthishl32): Set condition to !TARGET_5200.
+	(subdi_sexthishl32, ashrdi3, ashrhi3): Likewise.
+	(negdi2): Change into define_expand.
+	(negdi2_internal): Rename from old negdi2; condition now !TARGET_5200.
+	(negdi2_5200): New insn.
+	* m68k.c (output_function_prologue): Don't use add.w if TARGET_5200.
+	(output_function_epilogue): Likewise.
+
+	* m68k.md (movqi): Remove complex cases which move between address reg
+	and memory; rely on secondary reloads instead.
+
+Fri Jul 19 12:22:50 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* fixproto (std_files): Add utime.h.
+
+Fri Jul 19 10:59:46 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* m68k/m68kemb.h: Remove '\' at EOF.
+
+Fri Jul 19 09:59:00 1996  Joel Sherrill <joel@OARcorp.com>
+
+	* m68k/coff.h (STARTFILE_SPEC): Add #undef before definition.
+
+Fri Jul 19 09:44:45 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* m68k.h (LEGITIMATE_INDEX_P): Coldfire does not have scale
+	by 8 addressing modes.
+
+	* m68k-none.h: Use MASK_* macros instead of explicit constants.
+
+Fri Jul 19 09:08:53 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.md (negdi2): Undo last change: don't apply neg to address regs.
+
+Fri Jul 19 09:03:01 1996  Robert Wilhelm  (rwilhelm@Physik.TU-Muenchen.DE)
+
+	* toplev.c (main): Correct typo in error message.
+
+Thu Jul 18 20:29:33 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (OBJS): Add dwarf2out.o.
+	(dwarf2out.o): New rule.
+	* dwarf2.h, dwarf2out.c: New files.
+	* dwarfout.c: Check DWARF_VERSION macro.
+
+	* mips/iris6.h (DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
+	Move after header files are included.
+	(iris5.h): Include instead of iris5gas.h.
+	(MACHINE_TYPE): Change 5.x to 6.x.
+	(DEBUG_SECTION, LINE_SECTION): Add debug_ to name, fix attributes.
+	(SFNAMES_SECTION, SRCINFO_SECTION, MACINFO_SECTION, PUBNAMES_SECTION,
+	ARANGES_SECTION): Fix attributes.
+	(DWARF_VERSION, MIPS_DEBUGGING_INFO, ASM_DECLARE_FUNCTION_NAME,
+	ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED,
+	FRAME_SECTION, ABBREV_SECTION): Define.
+	(DBX_DEBUGGING_INFO, SDB_DEBUGGING_INFO, MIPS_DEBUGGING_INFO,
+	DWARF_DEBUGGING_INFO, PREFERRED_DEBUGGING_INFO): Delete undefs at
+	end of file.
+	* mips/mips.c (function_prologue): Use FUNCTION_NAME_ALREADY_DECLARED.
+	(function_epilogue): Likewise.
+
+Thu Jul 18 19:24:19 1996  David Mosberger-Tang  <davidm@azstarnet.com>
+
+	* alpha/elf.h (INT_ASM_OP): Change from ".long" to ".quad".
+
+Thu Jul 18 19:20:58 1996  Ulrich Drepper  <drepper@myware.rz.uni-karlsruhe.de>
+
+	* stddef.h: Undefine __need_wint_t.
+
+Thu Jul 18 19:06:35 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
+
+	* longlong.h (mc680x0): Define umul_ppmm, udiv_qrnnd, sdiv_qrnnd
+	for the '020, '030, '040, and '332.  Define count_leading_zeros
+	for the '020, '030, '040, and '060.
+
+	* m68k.md: Add TARGET_5200 to conditions which determine whether
+	the extbl instruction is emitted.
+	(mulsi3): Enable pattern with TARGET_5200.
+
+	* m68k.md (add patterns): Don't use two addqw instructions when
+	adding small (8 < N <= 16) integers to address registers on 68040.
+
+Thu Jul 18 18:06:15 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure: Write target_alias in Makefile.
+	(i[3456]86-*-sco3.2v4*): Set truncate_target.
+	* Makefile.in (target_alias): New and used for all current uses
+	of `target'.
+
+Thu Jul 18 17:46:02 1996  Dave Love  <d.love@dl.ac.uk>
+
+	* gcc.c (default_compilers): Extra Fortran extensions.
+
+Wed Jul 17 10:28:10 1996  Torbjorn Granlund  <tege@spiff.gnu.ai.mit.edu>
+
+	* expmed.c (expand_mult_highpart): Revert last change.
+
+Tue Jul 16 12:51:59 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sparc-rtems.h: #include "sparc/sparc-aout.h" -> sparc/aout.h.
+
+Mon Jul 15 14:42:06 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/iris6.h (LINK_SPEC): Add -woff 84.
+
+Fri Jul 12 17:34:01 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi.asm (__eabi): Convert pointers in the Global Offset
+	Table if -mrelocatable.  Move loops into separate subroutines for
+	ease of debugging.  Reorganize code somewhat.
+
+	* rs6000/rs6000.c (small_data_operand): Allow small data under
+	Solaris.
+
+	* rs6000/sol-c0.c (_start): Initialize r13 to point to the small
+	data operand.
+
+	* rs6000/sol-c{i,n}.asm (_init, _fini): Enable shared library
+	support.
+
+	* rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Default to
+	-msdata=data, even if -fpic or -mrelocatable.  Allow -mrelocatable
+	and -mno-eabi.
+	(CPP_SYSV_SPEC): If -fpic, define __PIC__ and __pic__ to 1.  If
+	-fPIC, define them to 2.
+	(CPP_ENDIAN_SPEC): Push definition of macros for specific endian
+	targets to new specs.
+	(CPP_ENDIAN_DEFAULT_SPEC): Define to use CPP_ENDIAN_BIG_SPEC.
+	(CPP_ENDIAN_{LITTLE,BIG,SOLARIS}_SPEC): New specs for little
+	endian mode, big endian mode, and Solaris, which can't define
+	_LITTLE_ENDIAN.  Define __LITTLE_ENDIAN__ in all cases for little
+	endian systems.  Define __BIG_ENDIAN__ in all cases for big endian
+	systems.
+	(SUBTARGET_EXTRA_SPECS): Add new specs.
+
+	* rs6000/{eabile,sysv4le}.h (CPP_ENDIAN_DEFAULT_SPEC): Define to
+	use CPP_ENDIAN_LITTLE_SPEC.
+
+	* rs6000/sol2.h (CPP_ENDIAN_LITTLE_SPEC): Define as
+	CPP_ENDIAN_SOLARIS_SPEC so that _LITTLE_ENDIAN is not define.
+
+Fri Jul 12 17:34:01 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c (function_arg): Add IBM AIX XL compiler broken FP arg
+	passing compatibility mode.
+	* rs6000.h (TARGET_XL_CALL): Define default.
+	* aix3newas.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
+	* aix41.h (TARGET_XL_CALL, SUBTARGET_SWITCHES): Define.
+
+Fri Jul 12 15:04:43 1996  Doug Evans  <dje@cygnus.com>
+
+	* arm/arm.h (ASM_OUTPUT_MI_THUNK): Handle fns returning structures.
+
+	* ptx4.h ({ASM,LINK}_SPEC): %{V} %{v:%{!V:-V}} -> %{v:-V}.
+	* svr4.h ({ASM,LINK}_SPEC): Likewise.
+	* dsp16xx/dsp16xx.h ({ASM,LINK}_SPEC): Likewise.
+	* i386/dgux.h (LINK_SPEC): Likewise.
+	* i386/sol2.h (LINK_SPEC): Likewise.
+	* m88k/dgux.h ({LINK,ASM_CPU}_SPEC): Likewise.
+	* sparc/sol2.h ({ASM,LINK}_SPEC): Likewise.
+	* sparc/sp64-elf.h ({ASM,LINK}_SPEC): Likewise.
+	* sparc/sysv4.h (ASM_SPEC): Likewise.
+
+Thu Jul 11 17:29:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (GOT_TOC_REGNUM): New macro for r2, which is used as a
+	marker for the GOT/TOC register to be allocated later.
+	(MACHINE_DEPENDENT_REORG): Call rs6000_reorg.
+	(rs6000_reorg): Add declaration.
+
+	* rs6000.c (rs6000_got_register): Return REG 2, not a pseudo
+	register in order to work with inlined functions.
+	(rs6000_replace_regno): New function to replace a register with a
+	new pseudo register.
+	(rs6000_finalize_pic): Loop through all of the insns, replacing
+	any GOT_TOC_REGNUM registers with a new pseudo register, and
+	adding the initialization of of the GOT register if it was
+	created.
+	(rs6000_reorg): New function to check whether the GOT_TOC register
+	marker was removed.
+
+Thu Jul 11 10:12:50 1996  Jeffrey A Law  (law@cygnus.com)
+
+	* h8300/h8300.h (OK_FOR_U): If generating H8/S code, accept
+	SYMBOL_REF and SYMBOL_REF + CONST_INT.
+
+	* h8300/h8300.c (shift_one): Emit tabs between opcode and
+	operands to be consistent with the rest of the compiler.
+	(rotate_one): Likewise.
+	(shift_two, rotate_two): Define.
+	(get_shift_alg): Accept new argument "assembler2_p" for
+	rotate/shift by two insns.  All callers changed.  Rework
+	to generate more efficient code on the H8/300, H8/300H, and
+	H8/S.  Try to simplify somewhat.
+	(emit_a_shift): Use shift-by-two insns when they're available.
+	Emit tabs between opcode and operands to be consistent with
+	the rest of the compiler.
+
+Wed Jul 10 19:32:17 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/iris6.h (ASM_SPEC): Correct typos in Jun 18 change.
+
+Wed Jul 10 18:56:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* sh/sh.c (machine_dependent_reorg): When looking for the
+	instruction that sets a register in LOG_LINKS, skip the link if
+	REG_NOTE_KIND is not zero.
+
+Wed Jul 10 15:02:18 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (rs6000_got_register): New function to return a pseudo
+	register to hold the pic register.  Abort if reload is in progress
+	or done.
+	(num_insns_constant): Allow SFmode and DFmode.
+
+	* rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Redo 'G' so that it
+	means a constant that takes exactly two insns.
+	(rs6000_got_register): Add declaration.
+
+	* rs6000.md (movsi_got): Move setup of pic register to
+	rs6000_got_register.
+	(movsf): If -msoft-float, don't force constants to memory.
+	(mov{sf,df} insns): If soft floating point, allow any constant to
+	be loaded.  Add define_splits that allow the 604 to use both
+	integer units for loading constants.  Make sure insn length is
+	correct.
+
+Tue Jul  9 17:05:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (easy_fp_constant): All FP constants are considered
+	hard for -fpic and hardware floating point, so that the GOT
+	register is created.
+
+Tue Jul  9 15:21:27 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* x-iris6 (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
+
+Mon Jul  8 18:00:33 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh/sh.h (enum reg_class): Add new class GENERAL_FP_REGS.
+	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
+
+	* cse.c (note_mem_written): Varying structure memory access with
+	AND address can alias scalars.
+	* sched.c (true_dependence, anti_dependence, output_dependence):
+	Likewise.
+
+	* sh.c (calc_live_regs): For pragma_interrupt case, exclude call
+	clobbered regs that are fixed, explicitly add MACH_REG and MACL_REG.
+
+	* calls.c (expand_call): For assign_stack_temp call in PARALLEL case,
+	get mode from type instead of using BLKmode.
+	* function.c (aggregate_value_p): If hard_function_value returns
+	a non-REG, then return 0.
+
+	* mips/mips.c (function_arg): Add explicit checks for FIELD_DECLs.
+	(mips_function_value): Add explicit checks for FIELD_DECLs, and save
+	them in the array FIELDS.  When returning structure with 1 float field,
+	enclose it in a PARALLEL and set the PARALLEL mode correctly.
+	* mips/mips.md (call_value): Call gen_call_value_multiple_internal0
+	only if there are multiple return values.  Strip the PARALLEL off
+	if there there is only one return value.
+
+Mon Jul  8 16:27:33 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* First cut at support for the H8/S.
+	* h8300/h8300.c (h8300_init_once): Handle the H8/S (treat it
+	like the H8/300H).
+	(dosize, adds_subs_operand, one_insn_adds_subs_operand): Likewise.
+	(output_adds_subs, const_costs, print_operand): Likewise.
+	(output_simode_bld, h8300_adjust_insn_length): Likewise.
+	(push_order, pop_order): Reverse.
+	(function_prologue): Try to use ldm.l and stm.l insns
+	on the H8/S.  Minor cleanups.
+	(function_epilogue): Likewise.
+	(asm_file_start): Emit ".h8300s" when compiling for the H8/S.
+	* h8300/h8300.h (CPP_SPEC): Handle the H8/S.
+	(TARGET_H8300S): New target.
+	(TARGET_SWITCHES): Add "-ms" and "-mno-s".
+	(BITS_PER_WORD): Handle the H8/S (treat it like the H8/300H).
+	(UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY): Likewise.
+	(BIGGEST_ALIGNMENT, BIGGEST_FIELD_ALIGNMENT): Likewise.
+	(INITIALIZE_TRAMPOLINE, MOVE_MAX, Pmode): Likewise.
+	* h8300/h8300.md: Handle H8/S just like H8/300H
+	throughout the entire file.
+	* h8300/t-h8300 (MULTILIB_OPTIONS): Build "-ms" libraries
+	too.
+	(MULTILIB_DIRNAMES): Put H8/S libraries in "h8300s" directory.
+	* h8300/lib1funcs.asm: Emit ".h8300s" pseudo-op when generating
+	h8300s object files.  Otherwise treat the H8/S just like the H8/300H.
+	* ginclude/stdarg.h: Handle the H8/S.
+	* ginclude/varargs.h: Likewise.
+
+Mon Jul  8 14:50:58 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sol2.h (LINK_SPEC): Don't pass `-z text' if
+	-shared -mimpure-text.
+
+Sun Jul  7 18:03:46 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* m68k/lb1sf68.asm (__udivsi3): Use faster tstw instead of btst.
+
+Thu Jul  4 11:44:39 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (get_inner_reference): Delete using alternate mode for
+	bitfield; we don't make bitfields anymore if not needed.
+
+Wed Jul  3 18:23:17 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* c-common.c (record_function_format): Define as static.
+	
+	* collect2.c (at SUNOS4_SHARED_LIBRARIES): Fix reference to unistd.h.
+
+Wed Jul  3 17:35:20 1996  Gavin Koch  <gavin@cygnus.com>
+
+        * c-typeck.c (default_conversion): Add bitfield promotions.
+                
+Wed Jul  3 17:09:22 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* gcc.c (default_compilers): Add null entries for languages we
+	heard of.
+	(main): If found one of those entries, say compiler not installed.
+
+Wed Jul  3 12:52:53 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (fmpy_operands): Define.
+	(combinable_fmpy): New function.
+	(combinable_fadd, combinable_fsub): Likewise.
+	* pa.md (parallel_addb, parallel_movb): New patterns.
+	(fmpyadd, fmpysub): New patterns.
+
+	* pa.c (fmpyaddoperands): Tighten checks.  Allow SFmode.
+	(fmpysuboperands): Similarly.
+
+Tue Jul  2 18:57:15 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (ireg_or_int5_operand): New function.
+	(output_parallel_movb, output_parallel_addb): Likewise.
+	(combinable_copy, combinable_add, following_call): Likewise.
+	(pa_adjust_insn_length): Handle parallel unconditional branches.
+	(output_movb): Handle case were destination is %sar.
+	* pa.h: Declare new functions.
+	* pa.md (parallel_branch): New "type" attribute.
+	(delay slot descriptions): Don't allow "parallel_branches" in
+	delay slots.  Fill "parallel_branches" like "branch" insns.
+	(movb patterns): Handle %sar as destination register.
+
+	* expr.c (compare): If function pointers need canonicalization
+	before comparisons, canonicalize them.
+	(do_store_flag): Do not use an sCC insn for a function pointer
+	comparison if function pointers need canonicalization before
+	comparing.
+
+Tue Jul  2 17:56:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h ({START,END}FILE_LINUX_SPEC): If -mnewlib is not
+	used, use the crtbegin/crtend that 2.7.2 used.
+
+Sat Jun 29 07:10:02 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (INIT_EXPANDERS): Define, call rs6000_init_expanders.
+	(RS6000_VARARGS_OFFSET): fpmem area no longer next to outgoing
+	argument area.
+	(STARTING_FRAME_OFFSET): Ditto.
+	(STACK_DYNAMIC_OFFSET): Ditto.
+	(frame_pointer_needed): Add external declaration.
+	(rs6000_{save,restore}_machine_status): Ditto.
+	(rs6000_init_expanders): Ditto.
+
+	* rs6000.c (rs6000_{save,restore}_machine_status): New functions
+	to save and restore the globals needed on a per function basis.
+	(rs6000_init_expanders): Initialize globals needed on a per
+	function basis, and set up so the above save/restore functions are
+	called when processing nested functions.
+	(output_epilog): Don't initialize per function globals here.
+	(rs6000_stack_info): Change where the fpmem save area is to below
+	the local variables, and not just below the outgoing argument
+	area.
+
+	* rs6000.md (floatsidf2*, fix_truncdfsi2*): Rewrite conversion
+	routines to track new location of the fpmem save area.  Allocate a
+	new base register temp for the routines in case the stack frame is
+	more than 32k in size.
+
+Sat Jun 29 05:44:37 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* explow.c (convert_memory_address, case PLUS): Fix error in
+	last change.
+
+Fri Jun 28 23:30:48 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* reload1.c (choose_reload_regs): Properly mark spill registers
+	as in use for inherited reloads.
+
+Fri Jun 28 18:37:20 1996  Stephen L Moshier  <moshier@world.std.com>
+
+	* objc/sarray.c (ifdef __alpha__): Don't declare `free'.
+	* objc/thr-decosf1.c (objc_thread_id): Use pthread_getunique_np
+	to obtain a thread ID value.
+	(objc_mutex_allocate): Cast mutex->owner to _objc_thread_t.
+	(objc_mutex_deallocate): Likewise.
+	(objc_mutex_unlock): Likewise.
+	(objc_mutex_trylock):  Declare thread_id as _objc_thread_t.
+	(objc_mutex_lock): Likewise.
+	(objc_mutex_unlock): Likewise.
+
+	* real.c (asctoeg): `0.0eX' is zero, regardless of the exponent X.
+
+Fri Jun 28 18:33:13 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* vax.md (rotl): Remove extraneous `$'.
+
+	* combine.c (previous_num_undos): Deleted variable.
+	(MAX_UNDO): Deleted macro.
+	(struct undo): New field, next.
+	(struct undobuf): Deleted num_undos and undo.
+	New fields undos, frees, and previous_undos.
+	(SUBST, SUBST_INT): Rework to allocate memory and chain undo entries.
+	(combine_instructions): Initialize undobuf.{undos,previous_undos},
+	not undobuf.num_undo and previous_num_undos.
+	(try_combine): Likewise.
+	(undo_all, gen_rtx_combine): Rework to use new data structures.
+
+Fri Jun 28 16:48:25 1996  Scott Christley <scottc@net-community.com>
+
+	* objc/sendmsg.c (__objc_block_forward): New function.
+	(get_imp, objc_msg_lookup): Use different forwarding function
+	when the returning a floating point value.
+
+Fri Jun 28 16:25:25 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* configure: Allow multiple makefile frags.
+	(i[3456]86-*-linux*oldld*): Add i386/t-crtstuff as target frag.
+	(i[3456]86-*-linux*aout*, i[3456]86-*-linux*): Likewise.
+	(m68k-*-linux*aout*): Add t-linux-aout as target frag.
+	(m68k-*-linux*): Add t-linux as target frag.
+	* Makefile.in (Makefile): xmake_file and tmake_file now already
+	contain the $(srcdir)/config prefix.
+
+	* config/t-linux (BOOT_CFLAGS): Removed, no longer necessary.
+	(CRTSTUFF_T_CFLAGS): Don't define.
+	(CRTSTUFF_T_CFLAGS_S): Define this instead.
+	* config/t-linux-aout (BOOT_CFLAGS): Removed.
+	* m68k/t-linux: Remove variables now in t-linux.
+
+Fri Jun 28 15:06:05 1996  John F. Carr  <jfc@mit.edu>
+
+	* alpha.c (alpha_emit_conditional_move): Emit correct code when
+	incoming comparison code is NE.
+
+Fri Jun 28 14:35:45 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
+
+	* c-decl.c (init_decl_processing): Register __builtin_memset 
+	and memset as builtin functions.
+	* expr.c (expand_builtin, case BUILTIN_MEMSET): Open code memset
+	where val == 0.
+
+Fri Jun 28 14:10:03 1996  Richard Henderson  <rth@tamu.edu>
+
+	* alpha/linux.h (FUNCTION_PROFILER): _mcount has non-standard linkage.
+	* alpha/elf.h (LINK_SPEC): Bring emulation name into sync
+	with Cygnus snapshot.
+
+	* alpha.h ({MASK,TARGET}_BUILD_CONSTANTS): New macros.
+	(TARGET_SWITCHES): New target option build-constants.
+	* alpha.c (alpha_emit_set_long_const): New function.
+	* alpha.md (movdi): Call it.
+	* expmed.c (expand_mult_highpart): Use op1 not wide_op1 in
+	expansion of mul_highpart.
+	
+	* alpha.c (output_{pro,epi}log): Flag_inhibit_size_directive
+	should supress .ent, .end, and accompanying directives.
+	(alpha_output_lineno): Fix polarity on GAS test.
+	* alpha.h (NO_DBX_FUNCTION_END): New macro.
+	* dbxout.c (dbxout_function): Respect NO_DBX_FUNCTION_END.
+	* alpha/elf.h: New file.
+	* alpha/linux.h (INITIALIZE_TRAMPOLINE): New definition.
+	* alpha/xm-linux.h (HAVE_STRERROR): Define.
+	* configure (alpha*-linux*ecoff*): New target, was alpha-*-linux*.
+	(alpha-*-linux*): Use elf.h.
+	* crtstuff.c (init_dummy): Only i386-linux (at most)
+	needs ___brk_addr hack.
+	
+Thu Jun 27 20:23:30 1996  Jon Buller  (jonb@metronet.com)
+
+	* ns32k.c (split_di): New; from i386.c.
+	* ns32k.md (adddi3, subdi3, negdi3): New patterns.
+
+Thu Jun 27 19:42:50 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (force_to_mode, case NE): Fix typo and logical error.
+	(simplify_comparison): Don't swap args if op1 is CONST_INT.
+
+Thu Jun 27 18:49:35 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expmed.c (extract_bit_field): Check TRULY_NOOP_TRUNCATION before
+	making a SUBREG of a REG.
+
+Thu Jun 27 11:03:59 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips/mips.h (CC1_SPEC): Put spaces between the -mips* cases.
+	* mips/osfrose.h (CC1_SPEC): Likewise.
+
+	* sh/sh.c (output_branch): Don't call ADJUST_INSN_LENGTH if the
+	insn is inside a sequence.
+
+Wed Jun 26 19:09:43 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa/pa.h (CMP_PSI): Delete.
+	(FUNCTION_POINTER_COMPARISON_MODE): Likewise.
+	* pa/pa.md (cmppsi); Delete expander.
+	(canonicalize_funcptr_for_compare): Renamed from plabel_dereference,
+	turned into an expander + anonymous pattern.
+
+Tue Jun 25 22:36:11 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* gcc.c (PEXECUTE_VERBOSE): Define.
+	(execute): Pass PEXECUTE_VERBOSE to pexecute if -v.
+
+Tue Jun 25 12:23:54 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (FINALIZE_PIC): Define to call rs6000_finalize_pic.
+	(rs6000_finalize_pic): Add declaration.
+	(svr4_traceback): Delete unused declaration.
+
+	* rs6000.md (movsi_got): Don't emit gen_init_v4_pic insn.
+	(V.4 call insns): Do not use @plt for PIC calls.
+
+	* rs6000.c (print_operand_address): Handle LABEL_REF just like
+	SYMBOL_REF.
+	(rs6000_finalize_pic): Define, emit the gen_init_v4_pic insn
+	before all other insns if needed for V.4 PIC calls.
+
+	* eabi-ci.asm (_GLOBAL_OFFSET_TABLE_): Do not provide a default
+	definition, since it interferes with the linker generated version.
+
+Tue Jun 25 01:17:50 1996  Jeffrey A. Law  <law@cygnsu.com>
+
+	* h8300/h8300.c (function_prologue): Update "monitor" prologues.
+	(function_epilogue): Similarly.
+
+	* pa/pa.h (PARSE_LDD_OUTPUT): Handle dynamic libraries that are
+	loaded "statically".
+
+Mon Jun 24 19:48:36 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
+
+	* configure ({i386,i960,m68k,powerpc,sparc}-rtems): New targets.
+	* i386/go32-rtems.h, i386/i386-rtems.h: New files.
+	* i960/i960-rtems.h: New file.
+	* m68k/m68k-rtems.h: New file.
+	* rs6000/powerpc-rtems.h: New file.
+	* sparc/sparc-rtems.h: New file.
+
+Mon Jun 24 23:09:22 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c: (create_definition): Diagnose `#define #' only once.
+
+Mon Jun 24 11:42:58 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* i386/cygwin32.h, rs6000/cygwin32.h (CPP_PREDEFINES): For consistency,
+	change to define WIN32, WINNT, and CYGWIN32.
+
+Mon Jun 24 10:46:50 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (floatsidf2*): Move the xor of the argument into the
+	define_insn, since it confuses inline function expands.
+
+Fri Jun 21 20:40:17 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.md (call_internal1, call_value_internal1): Delete obsolete code.
+	(call_internal2, call_value_internal2, call_value_multiple_internal2):
+	Delete obsolete code.  Explicitly load SYMBOL_REF into register.
+	(call_value): Change Pmode to SImode in gen_call_value_internal0 call.
+
+Thu Jun 20 12:20:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* configure (*-aix*): If building a cross compiler, use t-xnewas
+	instead of t-newas.
+
+	* rs6000.c (num_insns_constant_wide): Fix typo if HOST_WIDE_INT
+	has more than 32 bits.
+
+Wed Jun 19 17:50:33 1996  Richard Henderson  <richard@atheist.tamu.edu>
+
+	* combine.c (move_deaths): New parameter maybe_kill_insn.
+	Don't move note if reg killed by maybe_kill_insn.
+	(try_combine): Pass new arg to move_deaths.
+	
+Wed Jun 19 10:44:47 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* toplev.c (flag_keep_static_consts): Define.
+	(f_options): Add "keep-static-consts" entry.
+	(compile_file): Check it in addition to !optimize for emitting
+	static const variables.
+
+Tue Jun 18 23:37:20 1996  Doug Evans  <dje@cygnus.com>
+
+	* i386/cygwin32.h (ASM_OUTPUT_SOURCE_LINE): Local symbols begin with L.
+
+Tue Jun 18 12:00:11 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* varasm.c (asm_output_aligned_bss): Don't emit a skip of size 0.
+
+Tue Jun 18 06:24:28 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* integrate.c (expand_inline_function): Add missing call to
+	force_operand when getting structure_value_addr into reg.
+
+	* alpha.c (override_options): Allow EV4/5 or 21064/21164 for cpu.
+	Clean up handling of floating-point options.
+	* alpha.h (TARGET_SWITCHES): Have all -mieee options turn
+	on MASK_IEEE_CONFORMANT.
+	(TARGET_DEFAULT): Use symbolic value.
+	* alpha.md: When not involving named pattern, update condition
+	to include alpha_tp != ALPHA_TP_INSN.
+	Don't do float_extend as part of other pattern when ALPHA_TP_INSN.
+	(extendsfsd2): Split into two patterns, depending on 
+	value of alpha_tp.
+
+	* mips/iris6.h (ASM_SPEC): Treat -o32 as -32 and -n64 same as -64.
+	* mips.c (override_options): Likewise.	
+
+	* genattrtab.c (fatal): Declare A1 and A2 as char *.
+
+	* function.c (find_temp_slot_from_address): Check for overlap
+	from BASE_OFFSET if X is PLUS of virtual_stack_vars_rtx and const.
+
+	* flow.c (flow_analysis): Fix typo in last change.
+
+	* expr.c (expand_builtin, case BUILT_IN_{SET,LONG}JMP): Properly
+	handle case when ptr_mode != Pmode.
+
+	* combine.c (try_combine): Don't use split if dest of new I2
+	is used between I2 and I3.
+
+	* c-typeck.c (pointer_int_sum): Convert integer to both signedness
+	and precision of sizetype.
+	* explow.c (convert_memory_address, case PLUS, MULT): Don't commute
+	operation with extension if not adding small integer.
+
+	* Makefile.in (BOOT_LANGUAGES): New variable.
+	(bootstrap): Use it to select languages for stage1.
+	* configure (extra_host_objs): New variable.
+	Separate files needed for target and host and concatenate list.
+	(extra_gcc_objs): Use setting for host, not target.
+	(objc_thread_file): Start with it as null, then don't include "thr-".
+	Print name of file after others and in same format.
+	(alpha-*-winnt*, i[3456]86-*-winnt): oldnames.o is in extra_host_objs.
+	(all_boot_languages): New variable.
+	Set from boot_language variable in config-lang.in.
+	Defines value of BOOT_LANGUAGES in Makefile.
+	(Makefile): Set target to the canonical form of target.
+
+Mon Jun 17 22:37:07 1996  Mike Meissner  <meissner@rtl.cygnus.com>
+
+	* rs6000/win-nt.h (ASM_DECLARE_FUNCTION_NAME): Put function
+	descriptor in .reldata, not .text.
+
+Mon Jun 17 16:05:34 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* ginclude/stddef.h (wint_t): Don't wrap with #ifndef __cplusplus.
+
+Mon Jun 17 15:03:20 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (mips_split_addresses): New variable.
+	(simple_memory_operand): Add comment about mode check.  Add check
+	for LO_SUM.
+	(call_insn_operand): OP is now an addresses instead of a MEM.
+	(move_operand, mips_check_split): New functions.
+	(mips_count_memory_refs): Add check for LO_SUM.
+	(mips_move_1word): Add HIGH support.
+	(mips_address_cost): Delete check for HIGH.
+	(output_block_move): Handle LO_SUM addresses.
+	(override_options): Set mips_split_addresses.
+	(print_operand_address): Add LO_SUM support.
+	* mips.h (mips_split_addresses, mips_check_split, move_operand):
+	New declarations
+	(GO_IF_LEGITIMATE_ADDRESS): Reject constant addresses when
+	mips_split_addresses is TRUE.  Add LO_SUM support.
+	(LEGITIMIZE_ADDRESS): Add LO_SUM support.
+	(PREDICATE_CODES): Modify call_insn_operand support.  Add
+	move_operand.
+	* mips.md (memory): Change r4100/r4300 support.
+	(imuldiv): Add r4300 support.
+	(high, low): New patterns.
+	(movsi, movdi): Add LO_SUM support.
+	(movsi_internal1, movsi_internal2): Use move_operand instead of
+	general_operand.
+	(movstrsi_internal, movstrsi_internal2): Delete R constraint.
+	(call, call_value): Pass address instead of MEM to call_insn_operand.
+	Call gen_call_{value_}internal0 instead of internal1.
+	(call_internal0, call_value_internal0, call_multiple_internal0):
+	New patterns.
+	(call_internal1, call_internal2, call_value_internal1,
+	call_value_internal2, call_value_multiple_internal2): Add explicit
+	MEM before target address.
+
+Sun Jun 16 23:05:16 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* configure (hppa*-hp-hpux10*): Use new pa-hpux10 configuration file.
+	(hppa*-hp-hpux*): Use hpux9 configuration files by default.
+	* pa/pa-hpux10.h: New file.
+	* pa/pa-ghpux9.h: Deleted.  No longer used.
+
+Sat Jun 15 04:35:51 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
+
+	* i386/gnu.h (LINK_SPEC): Remove -rpath /lib/ option.
+	Ignore -ibcs option.
+
+Thu Jun 13 14:49:41 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* gen-protos.c (main): Change argv[i] to argv[0][i].
+
+Thu Jun 13 10:46:24 1996  Doug Evans  <dje@cygnus.com>
+
+	* gcc.c (pfatal_pexecute): Delete code to check errno < sys_nerr.
+
+Wed Jun 12 21:47:10 1996  Eliot Dresselhaus  <dresselh@rft30.nas.nasa.gov>
+
+	* alpha.c (alpha_cpu, alpha_cpu_string): New variables.
+	(override_options): Process -mcpu= value.
+	(alpha_adjust_cost): Handle adjustments for EV5.
+	* alpha.h (enum processor_type): New enum.
+	(alpha_cpu, alpha_cpu_string): New declarations.
+	(target_options): Add "cpu=".
+	(RTX_COSTS): Adjust values for EV5.
+	* alpha.md: Add scheduling rules for EV5.
+
+Tue Jun 11 17:51:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-common.c (check_format_info): Change text of message about use
+	of `0' with precision.
+
+Tue Jun 11 15:14:10 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.h (TARGET_SCHEDULE_PROLOGUE): New. Allows prologue to
+	be emitted as asm or rtl.
+
+	* i386.c (function_prologue): Emit prologue as asm.
+	(override_options): Don't emit rtl for prologue if -fpic.
+
+Tue Jun 11 14:41:01 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi.asm (__eabi): Fix normal code so that it properly
+	loads up r2/r13 if needed again.
+
+	* rs6000/sysv4.h (CPP_ENDIAN_SPEC): Call cpp_endian_default, not
+	cpp_endian_default_spec.
+
+Mon Jun 10 15:10:56 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* local-alloc.c (update_equiv_regs): Ignore insns that read or
+	write registers that are likely to be spilled.
+
+	* pa.h (cmp_type): Add CMP_PSI.
+	(FUNCTION_POINTER_COMPARISON_MODE): Define.
+	* pa.md (cmppsi): New expander.
+	(plabel_dereference): New pattern
+
+Mon Jun 10 14:56:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sol2.h (SKIP_ASM_OP): Delete, Solaris accepts .space,
+	like rest of PowerPC V4 ports.
+
+	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Emit .lcomm if not
+	using the .sbss area.  If using the .sbss area, put out
+	appropriate .size directive.
+
+Mon Jun 10 14:53:38 1996  Doug Evans  <dje@cygnus.com>
+
+	Move fork/exec/wait handling into file of its own.
+	* pexecute.c: New file.
+	* Makefile.in (pexecute.o): Add rule.
+	(xgcc): Link in pexecute.o.
+	(protoize,unprotoize): Likewise.
+	* gcc.c (_WIN32): Don't include process.h or declare spawnv{,p}.
+	(pexecute,pwait): Add prototypes.
+	(PEXECUTE_{FIRST,LAST,SEARCH}): Define.
+	(execv,execvp): Delete decls.
+	(perror_exec): Delete.
+	(pfatal_pexecute): New function.
+	(pexecute support): Delete.
+	(execute): -pipe not supported if _WIN32 or OS2.
+	Update call to pexecute.  Fatal error if pexecute fails.  Call pwait.
+	* protoize.c: Include gansidecl.h.
+	(my_execvp): Delete.
+	(choose_temp_base,pexecute,pwait): Declare.
+	(PEXECUTE_{FIRST,LAST,SEARCH}): Define.
+	(execvp): Delete decl.
+	(usage): Fix typo.
+	(gen_aux_info_file): Rewrite to use pexecute/pwait.
+
+	* gcc.c (do_spec_1): Allow leading text in version string.
+	Delete support for default minor number = 0.
+
+Mon Jun 10 11:49:53 1996  Scott Christley <scottc@net-community.com>
+
+	* objc/Makefile (libobjc.a): Don't delete the library.
+
+	* objc/thr.h (objc_set_thread_callback): New function.
+	(objc_thread_callback): Typedef for the hook function.
+	* objc/thr.c (__objc_thread_detach_function): Clear thread storage.
+	Call the thread hook function when first becoming multi-threaded.
+	(objc_set_thread_callback): New function.
+
+	* objc/selector.c (__sel_register_typed_name): Additional parameter
+	that indicates whether name and type parameters are constant or not.
+	* objc/runtime.h (__sel_register_typed_name): Likewise.
+	* objc/init.c (__sel_register_typed_name): Likewise.
+
+	* objc/init.c (__objc_init_protocols): Need to unlock mutex.
+
+Mon Jun 10 11:44:44 1996  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* sparc/t-sol2 (gmon.o): Depend on stmp-int-hdrs.
+	(crt1.o, crti.o, crtn.o, gcrt1.o): Depend on $(GCC_PASSES).
+
+Mon Jun 10 11:29:46 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* flow.c (flow_analysis, find_basic_blocks): Ignore
+	nonlocal_label_list for CALL_INSN that has a REG_RETVAL.
+
+	* c-common.c (decl_attributes, case A_T_UNION): Don't look at fields
+	of union if there aren't any.
+
+Sat Jun  8 22:13:33 1996  Stan Cox <coxs@dg-rtp.dg.com>
+
+	* i386.c (ix86_expand_prologue): Keep pic register load ahead
+	of reference which may use a pic register.
+
+Sat Jun  8 22:13:33 1996  Jim Wilson <wilson@cygnus.com>
+
+	* i386.md (strlensi_unroll4, strlensi_unroll5): Use + not =& for
+	constraint for input/output operand 2.
+
+Sat Jun  8 22:13:33 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* i386.h (CONST_COSTS): Even integer constants have a cost.
+	(RTX_COSTS): Take costs of subexpressions into account.
+	If a multiply is actually a shift, use the cost of the shift.
+	* i386/unix.h (SHIFT_DOUBLE_OMITS_COUNT): New macro.
+	* i386/{gas, next, seq-gas}.h (SHIFT_DOUBLE_OMITS_COUNT): Redefine
+	as zero.
+	* i386.c (print_operand): new letter 's'.
+
+Sat Jun  8 15:13:33 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/mips.c (override_options): Add vr4100 and vr4300 support.
+	* mips/mips.h (enum processor_type): Likewise.
+	(MASK_4300_MUL_FIX, TARGET_4300_MUL_FIX): New macros.
+	(TARGET_SWITCHES): Add -mfix4300 option.
+	* mips/mips.md (cpu, memory, imuldiv, adder, mult, divide): Add
+	vr4100 and vr4300 support.
+	(muldf3, mulsf3): Add vr4300 support.
+	(muldf3_internal, muldf_r4300, mulsf3_internal, mulsf_r4300): New
+	patterns.
+
+Sat Jun  8 14:35:23 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* toplev.c (main): Re-enable -gxcoff+.
+
+Sat Jun  8 14:20:14 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* m68k/lb1sf68.asm (__{eq,ne,gt,lt,ge,le}{df,sf}2): Removed
+ 	extraneous comments, constants, labels, etc.
+
+	* m68k/altos3068.h (TARGET_DEFAULT): Use MASK_* macros
+ 	instead of explicit constants in definitions or conditionals.
+	* m68k/{apollo68, aux, ccur-GAS, dpx2, hp320, hp3bsd}.h: Likewise.
+	* m68k/{hp3bsd44, isi-nfp, isi, linux-aout, linux}.h): Likewise.
+	* m68k/{lynx-ng, lynx, m68k-none, m68k-psos, m68kv4}.h): Likewise.
+	* m68k/{mot3300, netbsd, news, next, pbb, plexus, sun2o4}.h): Likewise.
+	* m68k/{sun3, sun3n, tower}.h): Likewise.
+
+Sat Jun  8 13:55:23 1996  Matthias Pfaller  (leo@marco.de)
+
+	* ns32k.md (define_insns for ffs[qhs]i2): Deleted.
+	(define_expand for ffssi2): New pattern.
+
+Sat Jun  8 13:44:14 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* reload.c (find_equiv_reg): Set need_stable_sp if GOAL is the
+	stack pointer.
+
+Sat Jun  8 13:36:05 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (fixup_var_refs_1, case SIGN_EXTEND): Handle
+	paradoxical SUBREGs as first operand.
+	(fixup_var_regs_1, case SET): Handle paradoxical SUBREGs as
+	first operand of a ZERO_EXTRACT in SET_DEST.
+
+	* c-common.c (enum attrs): Add A_FORMAT_ARG.
+	(init_attribute): Initialize it.
+	(decl_attributes, case A_FORMAT): Clean up error messages.
+	(decl_attributes, case A_FORMAT_ARG): New case.
+	(struct international_format_info): New structure and typedef.
+	(international_format_list): New variable.
+	(record_international_format): New function.
+	(init_format_info): Call it for gettext, dcgettext, and dcgettext.
+	(check_format_info): See if format arg is call to
+	internationalization function.
+
+Fri Jun  7 20:04:40 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* gcc.c (MULTILIB_SELECT): Delete definition.
+	(multilib_select): Delete static initializer.
+	(multilib_obstack, multilib_raw): New global variables.
+	(multilib.h): Include inside multilib_raw definition.
+	(main): Set multilib_select from multilib_raw.
+	* genmultilib: Change output to be a sequence of short strings
+	separated by commas rather than a single long macro definition.
+
+	* cse.c (simplify_binary_operation, case MULT): Check for case
+	where width is larger than HOST_BITS_PER_WIDE_INT, and upper most
+	bit is set.  We can not generate a simple shift in this case.
+
+	* gsyms.h (enum sdb_type): Add T_LNGDBL if EXTENDED_SDB_BASIC_TYPES.
+	(enum sdb_masks): Add EXTENDED_SDB_BASIC_TYPES masks.
+	* sdbout.c (gsyms.h): Include if CROSS_COMPILE is defined.
+	(plain_type_1): Use TYPE_PRECISION instead of TYPE_SIZE.
+	Add check for LONG_DOUBLE_TYPE_SIZE if EXTENDED_SDB_BASIC_TYPES.
+	* i960/i960.h (EXTENDED_SDB_BASIC_TYPES): Define.
+	(PUT_SDB_TYPE): Delete now unnecessary shifting and masking.
+
+	* i960/i960.h (i960_output_move_{double,quad}): Declare.
+
+Fri Jun  7 19:22:09 1996  Scott Christley <scottc@net-community.com>
+
+	* Makefile.in (OBJC_THREAD_FILE): New variable.
+	* configure (objc_thread_file): Set new variable to appropriate
+	values based upon target operating system; default is `thr-single'.
+	* objc/Makefile (OBJC_THREAD_FILE): Add target and dependency.
+	(thr.o): Remove OS specific thread files as dependencies.
+	* objc/thr-decosf1.c: Now compiles as a separate source file, so
+	include appropriate Objective-C headers.
+	* objc/thr-{mach,os2,posix,irix,single,solaris,win32}.c: Likewise.
+	* objc/thr.c: Remove inclusion of source files.
+	* objc/thr.h (__objc_thread_exit_status): Declare global variable.
+	* objc/thr-pthreads.c: New file.
+
+Fri Jun  7 19:04:04 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+ 	* m68k.h (TARGET_SWITCHES): Treat -m68302 like -m68000 and -m68332
+	like -m68020; remove -mno-68302 and -mno-68332.
+
+Fri Jun  7 12:06:12 1996  Per Bothner  <bothner@deneb.cygnus.com>
+
+	* expr.c (safe_from_p):  Allow Chill-style variable-sized arrays.
+
+Thu Jun  6 23:11:11 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.c (h8300_monitor_function_p): New function.
+	(h8300_os_task_function_p): Likewise.
+	(os_task, monitor): Variables to note if the current
+	function is an os_task or monitor.
+	(function_prologue): Set monitor and/or os_task as needed.  Handle
+	os_task and monitor functions.
+	(function_epilogue): Clear monitor and os_task.  Handle os_task and
+	monitor functions.
+	(h8300_valid_machine_decl_attribute): Accept "OS_Task" and
+	"monitor".
+
+Thu Jun  6 20:01:54 1996  Per Bothner  <bothner@cygnus.com>
+
+	* gen-protos.c (progname):  New variable (needed by cppalloc.c).
+	(main):  Set progname.
+
+	* cpplib.h (struct parse_file):  Removed.
+	(CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, CPP_OUT_BUFFER):  New macros.
+	* cpphash.c (cpp_lookup):  Change struct parse_file -> cpp_reader.
+
+	* cpplib.c (init_parse_option):  Renamed to cpp_options_init.
+	(push_parse_file):  Renamed to ...
+	(cpp_start_read):  Change to return 1 on success, 0 on failure.
+	(init_parse_file):  Renamed to cpp_reader_init.
+	* cppmain.c (main):  Use CPP_SET_WRITTEN and cpp_fatal.
+	Use renamed function names, and return protocols.
+	* fix-header.c (read_scan_file):  Likewise.
+
+	* cpperror.c (cpp_message):  Generalize for "fatal" errors.
+	(cpp_fatal):  New function (just calls cpp_message).
+	* cpplib.c (cpp_start_read, cpp_handle_options, cpp_finish,
+	parse_goto_mark, parse_move_mark):  Use cpp_fatal rather than fatal.
+
+	* fix-header.c (check_macro_names):  Fix struct parse_file->cpp_reader.
+	* cpplib.c (newline_fix):  Remove unused function.
+
+Thu Jun  6 19:47:26 1996  Jim Wilson  <wilson@cygnus.com>
+
+	Changes to support parameters and return values in multiple
+	non-contiguous locations.
+	* calls.c (expand_call): Handle NIL in PARALLEL.  Handle PARALLEL
+	parameter in REG.  Handle PARALLEL return value in VALREG.
+	(emit_library_call, emit_library_call_value): Abort for PARALLEL.
+	(store_one_arg): Delete code for handling EXPR_LIST.
+	* expr.c (emit_group_load, emit_group_store): New functions.
+	(use_group_regs): New function.
+	(emit_push_insn): Handle PARALLEL parameter in REG.
+	(expand_assignment): Handle PARALLEL to_rtx.
+	(store_expr): Handle PARALLEL target.
+	* expr.h (emit_group_load, emit_group_store, use_group_regs): New
+	declarations.
+	* function.c (assign_parms): Handle PARALLEL parameter in ENTRY_PARM.
+	* stmt.c (expand_value_return): Handle PARALLEL return_reg.
+
+	* mips/abi64.h (TYPE_DEPENDENT_REG): Delete.
+	* mips/mips.c (function_arg): Return PARALLEL for structure with
+	aligned double fields.
+	(type_dependent_reg): Delete.
+	(mips_function_value): Return PARALLEL for structure
+	with two floating point fields.
+	* mips/mips.md (call_value): Handle PARALLEL in operands[0].
+	(call_value_multiple_internal2): New pattern.
+	* pa/pa.h (FUNCTION_ARG): General PARALLEL instead of EXPR_LIST.
+	* rs6000/rs6000.c (init_cumulative_args): Change EXPR_LIST to PARALLEL
+	in comments.
+	(function_arg): Generate PARALLEL instead of EXPR_LIST.
+
+Thu Jun  6 18:21:27 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (assign_parms): Tighten up code that makes REG_EQUIV
+	notes for parms.
+
+	* fold-const.c (fold): Don't do anything with evaluated SAVE_EXPR.
+
+Thu Jun  6 17:54:07 1996  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.h (TARGET_SWITCHES): Group all floating point options.
+	When an fp option is selected, unset bits used for other mutually
+	exclusive fp options.
+	(OVERRIDE_OPTIONS): Remove special case for SUPPORT_SUN_FPA;
+	bits used for 68881 and SKY are now cleared by TARGET_SWITCHES.
+
+	* m68k.md (movsi_const0, movhi): Favor clr with TARGET_5200.
+	(add[qhs]3): Don't use two addqw/subqw insns to add small integers to
+	an address register with TARGET_68060.
+	(stack push peephole): Use moveq.l with TARGET_5200 (when appropriate).
+
+	* m68k.h (MASK_5200, TARGET_5200): New macros.
+	(TARGET_SWITCHES): Add "m5200".
+	(LEGITIMATE_INDEX_P): Add TARGET_5200 to conditional expression.
+	* m68k.c (const_method): Do not synthesize long constants
+ 	with byte or word operations with TARGET_5200.
+	* m68k.md: Disable byte and word arithmetic, rotate, integer
+ 	divide, dbcc, etc. insns for TARGET_5200.
+	* m68k-none.h: (CPU_FPU_SPEC, CPP_SPEC, ASM_SPEC): Support m5200.
+
+Thu Jun  6 17:32:32 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* fixproto (subdirs): Work around Solaris 2.5
+	/usr/xpgr/bin/sed problem with \+\+.
+
+Thu Jun  6 15:06:27 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* c-decl.c (grokdeclarator): Call pop_obstacks after creating
+	TYPE_DECL.
+
+	* loop.c (strength_reduce): If HAVE_cc0 defined, disable auto_inc_opt
+	if it would put an insn between a cc0 setter/user pair.
+
+Thu Jun  6 13:06:54 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): If __sun__ is
+	defined, treat that as little endian.
+
+Wed Jun  5 20:04:53 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* i960/i960.h (ROUND_TYPE_ALIGN): Add check for TYPE_PACKED.
+
+	* sh/sh.h (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
+	* sh/sh.md (branch_true): Add comment about T-bit compares.
+
+Tue Jun  4 23:08:34 1996  Per Bothner  <bothner@deneb.cygnus.com>
+
+	* cpplib.h, cpplib.c:  Remove support for !STATIC_BUFFERS.
+	* cpplib.h:  Use unsigned char rather than U_CHAR.
+	* cpplib.h (cpp_reader):  Add destructor #ifdef __cplusplus.
+	(cpp_cleanup):  New prototype.
+	* cpplib.c (special_symbol, do_once, do_include, cpp_get_token):
+	Compare cpp_buffer against CPP_NULL_BUFFER, not NULL.
+
+	* cpplib.c (dump_special_to_buffer):  New function.
+	(initialize_builtins):  Use it.
+
+Wed Jun  5 19:10:22 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa/pa.h (TEXT_SPACE_P): Fix thinko in last change.
+
+Wed Jun  5 16:25:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (ASM_DEFAULT_SPEC): Default to "", not -mpwr.
+
+	* sysv4.h (SUBTARGET_SWITCHES): Add -mshlib.
+	(LINK_PATH_SPEC): Add -compat-bsd support from Solaris.
+	(LINK_SPEC): Eliminate %{b} and %{G}, since they conflict with GCC
+	switches.  Defer shared library support to LINK_SHLIB_SPEC.  Defer
+	target selection to LINK_TARGET_SPEC.
+	(LINK_SHLIB_SPEC): Provide two different versions, depending on
+	whether shared libraries are default or not.  Make shared
+	libraries not default until linker is fixed.
+	(LINK_OS_*_SPEC): New specs for OS specific linker switches.
+	(SUBTARGET_EXTRA_SPECS): Add new specs.
+
+	* {sol2,sysv4}.h (LINK_SPEC): Move Solaris link into the general
+	link spec.
+
+	* {sysv4,sysv4le,eabile}.h (LINK_TARGET_SPEC): Only pass -oformat
+	to the linker if the user is changing the default endian format.
+
+	* {sol2,linux,eabisim,eabilesim}.h (LINK_OS_DEFAULT_SPEC): Define
+	to use the appropriate OS link spec.
+
+Wed Jun  5 16:35:10 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ginclude/stddef.h: Fix typo: TYPE_ptrdiff_t to _TYPE_ptrdiff_t.
+
+Wed Jun  5 15:52:57 1996  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* varasm.c (output_constructor):  Handle RANGE_EXPR in array index.
+
+Wed Jun  5 13:45:54 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sparc.md (*call_{address,symbolic}_struct_value_sp32): Allow
+	operand 2 to be const0_rtx.
+
+Tue Jun  4 16:43:44 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* varasm.c (make_decl_rtl): Don't update DECL_ASSEMBLER_NAME for
+ 	local statics.
+
+	* c-decl.c (start_decl): Always set DECL_COMMON on statics.
+	* varasm.c (assemble_variable): Only treat vars with DECL_COMMON
+ 	as common.
+
+Tue Jun  4 14:55:49 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (reloc_needed): New function.
+	* pa.h (TEXT_SPACE_P): Variables/constants with initializers
+	requiring relocs never live in the text space.
+
+Tue Jun  4 14:10:46 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* sh.c (fp_zero_operand): Do not accept minus zero.
+
+	* sh.h (ASM_OUTPUT_LOOP_ALIGN): Define.
+	(ASM_OUTPUT_ALIGN_CODE): Define.
+	(ADJUST_INSN_LENGTH): Add in bytes that may be added by
+	alignment.
+	* sh.c (output_branch): Run ADJUST_INSN_LENGTH in reverse to get
+	correct length.  Just call abort rather than returning "bad".
+	(find_barrier): Adjust limits for possible alignment.
+
+Tue Jun  4 09:35:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/t-solaris: New target config file for PowerPC Solaris
+	without gas.
+
+	* rs6000/t-ppc: Eliminate all multilib varients except for
+	software floating point.
+
+	* configure (powerpcle-*-solaris*): If not --with-gnu-as, use
+	t-solaris, not t-ppc.
+
+	* rs6000/sol2.h (MULTILIB_DEFAULTS): Add correct defaults for
+	Solaris.
+
+	* rs6000/sysv4.h (ASM_OUTPUT_SECTION_NAME): Clone from svr4.h, omit
+	@progbits, since Solaris assembler doesn't like it.
+	(LIB_SOLARIS_SPEC): If -msolaris-cclib, add libabi.a.
+	({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use explicit
+	pathnames for the Solaris compiler start/end files.
+	(ASM_SPEC): Pass -mno-regnames to the assembler.
+
+Mon Jun  3 19:40:10 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/abi64.h (CPP_SPEC): Make -mabi=n32 the default.
+	* mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT, MULTILIB_DEFAULTS,
+	ASM_SPEC, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
+	* mips.md (tablejump_internal4+1): Fix typo in condition.
+	* mips/x-iris6 (CC, OLDCC): Define to be `cc -32'.
+
+Mon Jun  3 07:57:35 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.def ([LR]SHIFT_EXPR): Remove `a' from printed names.
+
+	* sparc.md (call): Mask unimp operand to 12 bits, just like Sun.
+
+	* expr.c (store_field): Fix typo in last change; update TARGET addr.
+
+	* c-decl.c (start_struct): Set TYPE_PACKED from flag_pack_struct.
+	(start_enum): Likewise but from flag_short_enums.
+	(finish_enum): Test TYPE_PACKED, not flag_short_enums.
+	* stor-layout.c (layout_decl): Test DECL_PACKED and TYPE_PACKED
+	instead of flag_pack_struct.
+	(layout_record): Likewise.
+
+Sun Jun  2 19:41:14 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.md (tablejump_internal3, tablejump_internal4): New patterns.
+	(tablejump): Use them for PIC code.
+
+Fri May 31 17:26:53 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (ix86_expand_epilogue): Don't generate references to an
+	exposed vacated stack.
+	* i386.md (epilogue_set_stack_ptr): New.
+
+Fri May 31 15:07:49 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/abi64.h: Add -mabi=n32 support.
+	(ABI_64BIT): Delete.
+	(TARGET_LONG64, CPP_SPEC, STACK_BOUNDARY, MIPS_STACK_ALIGN,
+	GP_ARG_LAST, FP_ARG_LAST, SUBTARGET_CONDITIONAL_REGISTER_USAGE,
+	MAX_ARGS_IN_REGISTER, FUNCTION_ARG_PADDING, RETURN_IN_MEMORY,
+	SETUP_INCOMING_VARARGS): Modify.
+	(REG_PARM_STACK_SPACE): Ifdef out.
+	(TARGET_DEFAULT, SUBTARGET_TARGET_OPTIONS): Define.
+	* mips/iris6.h: Add -mabi=n32 support.
+	(TARGET_DEFAULT, ASM_OUTPUT_INTERNAL_LABEL,
+	ASM_GENERATE_INTERNAL_LABEL): Delete.
+	(MULTILIB_DEFAULTS, ASM_SPEC, EXTRA_SECTION_FUNCTIONS,
+	ASM_OUTPUT_ALIGNED_LOCAL, STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
+	Modify.
+	(MIPS_ABI_DEFAULT, LOCAL_LABEL_PREFIX): Define.
+	* mips/mips.c: Add -mabi=n32 support.
+	(mips_const_double_ok, mips_move_1word, mips_move_2words,
+	function_arg, override_options, mips_asm_file_start,
+	compute_frame_size, save_restore_insns, function_prologue,
+	mips_expand_prologue, function_epilogue, mips_function_value): Modify.
+	(mips_abi, mips_abi_string): Define
+	* mips/mips.h: Add -mabi=n32 support.
+	(ABI_64BIT): Delete.
+	(TARGET_OPTIONS, INITIAL_ELIMINATION_OFFSET, GO_IF_LEGITIMATE_ADDRESS,
+	CONSTANT_ADDRESS_P, LEGITIMATE_CONSTANT_P, LEGITIMIZE_ADDRESS,
+	ASM_OUTPUT_ADDR_DIFF_ELT): Modify.
+	(enum mips_abi_type, SUBTARGET_TARGET_OPTIONS): Define.
+	(mips_abi, mips_abi_string): Declare.
+	* mips/mips.md (jump, tablejump_internal1, tablejump_internal2): Add
+	-mabi=n32 support.
+	* mips/t-iris6 (MULTILIB_OPTIONS): Add -mabi=n32 support.
+	* mips/xm-irix6.h (HOST_BITS_PER_LONG): Use _MIPS_SZLONG not 64.
+	* ginclude/va-mips.h (va_start): Add -mabi=n32 support.
+
+Fri May 31 14:45:30 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -msolaris-cclib to use
+	the Sun compiler's crt files instead of ours.
+	({START,END}FILE_SOLARIS_SPEC): If -msolaris-cclib, use the Sun
+	compiler's crt files instead of ours.
+	(SUBTARGET_OVERRIDE_OPTIONS): Don't set -msdata=data for Solaris.
+	(SBSS_SECTION_ASM_OP): For Solaris, don't use @nobits.
+	(CPP_OS_SOLARIS_SPEC): Remove -Asystem(unix) and -Asystem(svr4).
+
+	* rs6000/t-ppc{,gas} (MULTILIB*): Add Solaris specific multilibs.
+
+	* rs6000/eabi{,le}sim.h (*_DEFAULT_SPEC): Rather than using
+	duplicate definitions, just use %(...) so that there is only one
+	place in the specs file where the switches are defined.
+	* rs6000/{linux,sol2}.h (*_DEFAULT_SPEC): Ditto.
+
+	* rs6000/sol2.h (CPP_PREDEFINES): Use the standard one in sysv4.h.
+	(RS6000_ABI_NAME): Default is solaris.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Don't redefine.
+
+	* rs6000/sol-c{i.asm,n.asm,c0.c}: Provide more things that Solaris
+	needs for program startup.
+
+Thu May 30 21:57:34 1996  Mike Stump  <mrs@cygnus.com>
+
+	* tree.def (OFFSET_REF): Remove.
+	* expr.c (expand_expr, case OFFSET_REF): Likewise.
+	* tree.c (substitute_in_expr): Remove OFFSET_REF code.
+
+Wed May 29 14:54:44 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi.asm (__eabi): If not -mrelocatable, don't assemble
+	relocatable functions, so that it can be assembled with the
+	Solaris assembler.
+
+	* rs6000/sysv4.h (CPP_SYSV_SPEC): Define _RELOCATABLE if
+	-mrelocatable-lib as well as -mrelocatable.
+
+	* rs6000.c (rs6000_file_start): New function to print some more
+	information to the asm file.
+	* rs6000/{sysv4,win-nt,rs6000}.h (ASM_FILE_START): Call it.
+
+Tue May 28 15:21:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (FIRST_PSEUDO_REGISTER): Bump to 77.  The new fpmem
+	register represents the memory location used for float/int
+	conversions.
+	({FIXED,CALL_USED}_REGISTERS): Add support for the fpmem pseudo
+	register.
+	(REG_ALLOC_ORDER): Ditto.
+	(HARD_REGNO_{NREGS,MODE_OK}): Ditto.
+	(REGISTER_MOVE_COST): Ditto.
+	(reg_class): Ditto.
+	(REG_CLASS_{NAMES,CONTENTS}): Ditto.
+	(REGNO_REG_CLASS): Ditto.
+	(PREFERRED_RELOAD_CLASS): Ditto.
+	(CLASS_{MAX_NREGS,CANNOT_CHANGE_SIZE,MAX_NREGS}): Ditto.
+	(rs6000_stack): Ditto.
+	({,DEBUG_}REGISTER_NAMES): Ditto.
+	(FPMEM_{REGNO_P,REGNUM}): New macros for fpmem register.
+	(rs6000_fpmem_{offset,size}): New global variables.
+	(RS6000_VARARGS_OFFSET): Fpmem temporary storage is located
+	between outgoing arg area and varargs save area.
+	(STARTING_FRAME_OFFSET): Ditto.
+	(STACK_DYNAMIC_OFFSET): Ditto.
+	(PREDICATE_CODES): Add fpmem_operand.
+	({count_register,fpmem}_operand): Add declarations.
+
+	* rs6000.c ({rs6000,alt}_reg_names): Add support for fpmem
+	'register'.
+	(rs6000_fpmem_{offset,size}): New global variables.
+	(fpmem_operand): Return true for fpmem registers.
+	(gpc_reg_operand): The fpmem register is not general purpose.
+	(includes_rshift_p): Add casts to silence warnings from Solaris
+	PowerPC host compiler.
+	(print_operand): Add 'v' operand type for the upper 16 bits of
+	signed constants, to placate the Solaris assembler.
+	({rs6000,debug}_stack_info): Add support for fpmem 'register'.
+	(output_epilog): Ditto.
+
+	* rs6000.md (addsi3,movsi,movsf,movdi): Use %v for constants with
+	the upper 16 bits, to get the sign correct for PowerPC Solaris.
+	(float{,uns}sidf2,fix_truncdfsi2): Rewrite to use 'register' 76
+	for the memory location used to convert between float and integer.
+
+	* sysv4.h (ASM_OUTPUT_{CON,DE}STRUCTOR): Use code laid down in
+	.init and .fini for making constructors and destructors under
+	Solaris.
+	(ASM_SPEC): Do not pass -u to the assembler.
+	(CC1_SPEC): -mrelocatable implies -meabi.
+
+	* sol2.h (RS6000_ABI_NAME): Default ABI is Solaris, not System
+	V.4.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Don't define a Solaris specific
+	method.
+
+Mon May 27 06:39:13 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_builtin, case BUILT_IN_{LONG,SET}JMP):
+	Convert block address from ptr_mode to Pmode.
+
+Sun May 26 20:05:43 1996  Doug Evans  <dje@cygnus.com>
+
+	* gcc.c (MSDOS pexecute): Call xmalloc, not malloc.
+
+Sun May 26 08:31:54 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure (vax-*-{sysv}): tm_file and xm_file now list.
+	(vax-*-ultrix): tm_file is now list.
+	(we32k-att-sysv*): xm_file now list.
+	* vax/xm-netbsd.h: Deleted.
+	* vax/netbsd.h: No longer include vax.h and config/netbsd.h.
+	* vax/ultrix.h, vax/vaxv.h: No longer include vax.h.
+	* vax/xm-vaxv.h: No longer include xm-vax.h.
+	* xm-we32k.h: No longer include xm-svr3.h.
+
+	* configure: Separately set target_cpu_default for two
+	case statements and then combine if both set.
+	(alpha-*-winnt3): tm_file and xm_file are now list.
+	Set target_cpu_default to 64.
+	* winnt/config-nt.bat: Make .h files properly for Alpha.
+	* alpha.h (WINDOWS_NT): No longer defined and used.
+	(MASK_WINDOWS_NT, TARGET_WINDOWS_NT): New macros.
+	(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_WINDOWS_NT.
+	* alpha.c (output_prolog): Test TARGET_WINDOWS_NT, not WINDOWS_NT.
+	* alpha.md: Likewise.
+	* alpha/config-nt.sed: Properly set tm_file and {build,host}_xm_file.
+	* alpha/win-nt.h: Don't include alpha.h
+	(WINDOWS_NT): No longer define.
+	* alpha/xm-winnt.h: Don't include xm-alpha.h and winnt/xm-winnt.h.
+
+Fri May 24 12:34:22 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* configure (cpu_type): Add case for arm.
+	(sparclet-*-aout*): Delete extra_headers.
+
+	* varasm.c (asm_output_bss): New argument DECL.
+	Use ASM_DECLARE_OBJECT_NAME if defined.
+	(asm_output_aligned_bss): Likewise.
+	(assemble_variable): Pass DECL to ASM_OUTPUT{,_ALIGNED}_BSS.
+	* arm/aout.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* h8300/h8300.h (ASM_OUTPUT_BSS): Update.
+	* i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* i386/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* m68k/coff.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* m68k/linux.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* m68k/m68k-aout.h (ASM_OUTPUT_BSS): Update.
+	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* rs6000/win-nt.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+	* sparc/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Update.
+
+Thu May 23 19:55:52 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* combine.c (set_nonzero_bits_and_sign_copies): Set
+	reg_sign_bit_copies to one not zero to indicate that the value
+	is unknown.
+
+Thu May 23 18:39:24 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* config/netbsd.h (SWITCH_TAKES_ARG): Add -R.
+	(LINK_SPEC): Add %{R*}.
+
+	* m68k/lb1sf68.asm: Construct exception masks at compile time
+ 	instead of or'ing in bits at run time.
+
+Thu May 23 15:53:06 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* sh/sh.md: Add new instruction types fp and fpdiv.  Set new
+	instruction types where appropriate.  Add function unit fp.
+	Claim that store instructions use function unit memory.
+
+Thu May 23 00:36:19 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.h (CONSTANT_ADDRESS_P): Don't accept CONST or HIGH
+	on the H8/300H.
+	* h8300/h8300.md: Use "m" rather than "o" constraint everywhere
+	appropriate.  Cleanup use of "i" and "n" constraints.
+
+Wed May 22 17:43:37 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* fixincludes (pthread.h): Add extern to __page_size* declarations
+	for AIX 4.1.x.
+
+	* combine.c (nonzero_bits): Don't assume arg pointer has same
+	alignment as stack pointer.
+
+Wed May 22 16:09:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (LINK_START_DEFAULT_SPEC): Spell macro correctly.
+	(LIB_DEFAULT_SPEC): Provide default version.
+
+Wed May 22 11:23:57 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* i386.md (return_pop_internal): new pattern.
+	(pop): disable emitting of bogus move instruction.
+	* i386.c (ix86_expand_epilogue): use gen_return_pop_internal to
+	simultanously return and pop args; removed stray semicolon.
+	* config/linux-aout.h, config/linux.h (SET_ASM_OP): Added for
+	__attribute__ ((alias ())) support.
+
+Wed May 22 08:06:42 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu.edu>
+
+	* combine.c (init_reg_last_arrays, setup_incoming_promotions):
+	Correct prototypes.
+
+Tue May 21 13:42:17 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.md (div patterns): Rewrite.
+	(mod patterns): Likewise.
+
+	* pa/pa.c (basereg_operand): Never accept a CONST_INT.
+
+Tue May 21 12:26:40 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* pa/pa-hpux9.h, pa-osf.h (LINK_SPEC): Provide version for Snake.
+
+Tue May 21 07:20:48 1996  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vax.h (TARGET_NAME): Define unless already defined.
+	(TARGET_VERSION): Print TARGET_NAME.
+	* vax/vms.h (TARGET_NAME): Always redefine.
+	(TARGET_VERSION): Delete; retain vax.h definition.
+
+Mon May 20 14:00:44 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.c (output_file_start): Delete misplaced semicolon.
+
+Mon May 20 11:58:15 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* reorg.c (relax_delay_slots): Call update_block before
+	redirecting a branch past a redundant insn.
+
+Sun May 19 16:40:53 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* Makefile.in (libobjc.a, sublibobjc.a): 'specs' added to
+	dependencies.
+
+Sun May 19 12:25:48 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure: Add new switch to provide default for cpu_type;
+	delete numerous settings of it in main switch.
+	(hppa): Reflect rerrangements below; use new configure features.
+	* pa/pa-gas.h, pa/pa-pro-end.h: New files.
+	* pa/pa1.h, pa/pa1-osf.h, pa/pa1-ghpux.h, pa/pa1-oldas.h: Deleted.
+	* pa/pa1-ghpux9.h, pa/pa1-hpux9.h, pa/pa1-hpux.h: Deleted.
+	* pa/pa1-ghiux.h, pa/pa1-hiux.h, pa/pa-ghpux.h: Deleted.
+	* pa/pa-gux7.h, pa/pa-ghiux.h: Deleted.
+	* pa/pa-hiux.h: No longer include pa-hpux.h.
+	* pa/pa-hpux.h: No longer include pa.h.
+	(TARGET_DEFAULT): Unset before setting.
+	(LINK_SPEC): Provide option for pa1.
+	* pa/pa-hpux7.h: No longer include pa.h.
+	(HP_FP_ARG_DESCRIPTOR_REVERSED): Don't define here.
+	* pa/pa-hpux9.h, pa/pa-oldas.h: No longer include pa-hpux.h.
+	(TARGET_DEFAULT): Don't need to set here.
+	* pa/pa-osf.h: No longer include pa.h.
+	(TARGET_DEFAULT): Don't define; identical to default.
+	* pa/pa-pro.h: No longer include pa.h.
+	Move definitions after include to new file pa-pro-end.h.
+	* pa.h (TARGET_SWITCHES): Include TARGET_CPU_DEFAULT.
+	(TARGET_CPU_DEFAULT): Provide default value.
+	(CPP_SPEC): Test TARGET_CPU_DEFAULT too.
+
+	* Makefile.in (function.o): Includes bc-emit.h.
+	(reg-stack.o): Includes insn-flags.h.
+	* expr.h (function_value): Deleted; no such function.
+	(bc_build_calldesc, bc_runtime_type_code): New declarations.
+	* c-decl.c: Add prototypes for all static functions.
+	* c-iterate.c: Likewise.
+	* dbxout.c: Likewise.
+	(adspath): Delete; never used and has numerous parse errors.
+	* dwarfout.c: If not GNUC, make `inline' null; otherwise, leave alone.
+	Add `static' to inline functions.
+	Add prototypes for static function.
+	* expr.c (bc_runtime_type_code): Delete redundant declaration.
+	* function.c: Include bc-emit.h.
+	({save,restore}_machine_status): Add prototype for args.
+	(bc_runtime_type_code, bc_build_calldesc): Delete redundant decls.
+	(bc_emit_trampoline, bc_end_function): Likewise.
+	* reg-stack.c: Include insn-flags.h.
+	Add prototypes for static functions.
+	(gen_jump, gen_movdf, gen_movxf): Delete redundant declarations.
+	(find_regno_note, emit_jump_insn_before, emit_label_after): Likewise.
+	(swap_rtx_condition): Now static.
+	* sdbout.c: Add prototypes for static functions.
+	(sdbout_parms, sdbout_reg_parms): Delete extra parm to plain_type.
+
+Sun May 19 11:50:10 1996  John Carr <jfc@mit.edu>
+
+	* alpha.c (alpha_emit_conditional_move): Compare to 0 in correct mode.
+
+Sat May 18 20:17:27 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.c (prepare_move_operands): If source is r0, and dest is reg+reg
+	MEM, then copy source to a pseudo-reg.
+	* sh.md (untyped_call): New pattern.
+
+	* unroll.c (copy_loop_body): When update split DEST_ADDR giv,
+	check to make sure it was split.
+	(find_splittable_givs): Fix reversed test of verify_addresses result.
+
+Sat May 18 10:26:04 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (unsave_expr_now): Avoid use of NULL_RTX since no rtl.h.
+
+	* configure: Set cpu_default, tm_file, and xm_file early.
+	Remove redundant settings of those, tmake_file, and xmake_file.
+	Use ${tm_file} and ${xm_file} to refer to the main files.
+	Sort some entries for consistency and reformat some others.
+	(rs6000, powerpc): Remove bogus test on host == target.
+	(alpha-*-linux): xm-linux.h no longer includes xm-alpha.
+	(alpha-*-osf*): Remove redundant setting of target_cpu_default.
+	(*-convex-*): Use target_cpu_default instead of separate .h files.
+	(clipper-intergraph-clix*): clix.h no longer includes any files.
+	(i860, i960, pdp11): Reflect removal of includes listed below.
+	* alpha/xm-linux.h: No longer include xm-alpha.h.
+	* clipper/clix.h: No longer include clipper.h and svr3.h.
+	* convex.h: Provide a default for TARGET_DEFAULT.
+	Take "or" of TARGET_DEFAULT and TARGET_CPU_DEFAULT everywhere.
+	* convex/convex{1,2,32,34,38}.h: Deleted.
+	* i860/bsd-gas.h: No longer include bsd.h.
+	* i860/bsd.h: No longer include i860.h.
+	* i860/fx2800.h: No longer include i860/sysv4.h.
+	(OUTPUT_TDESC): No longer define.
+	(ASM_FILE_END): Move redefinition to here.
+	* i860/mach.h: No longer include i860.h.
+	* i860/paragon.h, i860/sysv3.h: No longer include i860.h and svr3.h.
+	* i860/sysv4.h: No longer include i860.h and svr4.h.
+	(ASM_FILE_END): Delete redefinition from here.
+	* i860/xm-fx2800.h: No longer include xm-i860.h.
+	* i860/xm-paragon.h, i860/xm-sysv{3,4}.h: Deleted.
+	* i960/i960-coff.h: No longer include i960.h and dbxcoff.h.
+	* i960/vx960-coff.h: No longer include i960-coff.h.
+	* i960/vx960.h: No longer include i960.h.
+	* pdp11/2bsd.h: No longer include pdp11.h.
+
+	* i370/i370.h: Renamed from mvs.h.
+	* i370/i370.c: Renamed from mvs370.c.
+	* i370/t-i370: Renamed from t-mvs.
+	* i370/xm-i370.h: Renamed from xm-mvs.h.
+	* configure (i370-*-mvs*): Use default names for all files.
+
+	* c-parse.in: Update number of shift/reduce conflicts for objc.
+
+Sat May 18 08:20:17 1996  Dennis Glatting  (dennisg@plaintalk.bellevue.wa.us)
+
+	* m68k/next.h (FINALIZE_TRAMPOLINE): Add missing backslashes.
+
+Fri May 17 19:57:20 1996  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vax/xm-vms.h (dbxout_resume_previous_source_file): New macro.
+
+Fri May 17 14:20:13 1996  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_expr, cond TARGET_EXPR): Make TARGET_EXPRs
+	redoable for UNSAVE_EXPR.
+	* stmt.c (expand_decl_cleanup): Wrap the cleanup in an UNSAVE_EXPR
+	to that we can redo it.
+	* tree.c (unsave_expr_now): Handle TARGET_EXPRs fully now.
+	* tree.def (TARGET_EXPR): Add a fourth field so that TARGET_EXPRs
+	are redoable.
+
+	* expr.c (expand_expr, cond UNSAVE_EXPR): Move from the C++
+	frontend to the backend where it belongs.
+	* tree.c (unsave_expr): Likewise.
+	(unsave_expr_now): Likewise.
+	* tree.def (UNSAVE_EXPR): Likewise.
+	* tree.h (unsave_expr): Likewise.
+	(unsave_expr_now): Likewise.
+
+Fri May 17 15:04:40 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (lshrsi3 insns): Add special case code for shifting by
+	0 to avoid bad code generated with no optimization.
+
+Fri May 17 13:50:55 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+        * i386/unix.h (ASM_OUTPUT_MI_THUNK): Define.
+	* i386/{att.h,bsd.h,sun386.h} (ASM_OUTPUT_MI_THUNK): Delete.
+
+Fri May 17 13:34:28 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config/fp-bit.c (_fpdiv_parts): Correct sign handling when
+	dividing zero or infinity by something.
+
+Fri May 17 12:36:36 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	Standardize option output in assembler files.
+	* Makefile.in (toplev.o): Pass -DTARGET_NAME.
+	* arm/aout.h (ASM_OUTPUT_OPTIONS): Delete.
+	(ASM_FILE_START): Delete option output support.
+	* arm/arm.c (output_option, output_options, m_options): Delete.
+	* m88k/m88k.c (output_file_start): Delete option output support.
+	* m88k/m88k.h (ASM_COMMENT_START): Define.
+	* mips/mips.c (target_switches, print_options): Delete.
+	(mips_asm_file_start): Put output of -G,Cpu,ISA here.
+	* mips/mips.h (ASM_COMMENT_START): Change from "\t\t#" to " #".
+	* rs6000/rs6000.c (output_option, m_options, output_options): Delete.
+	* rs6000/rs6000.h (ASM_OUTPUT_OPTIONS): Delete.
+	(ASM_COMMENT_START): Define.
+	(ASM_FILE_START): Delete option output support.
+	* rs6000/sysv4.h (ASM_FILE_START): Likewise.
+	* rs6000/win-nt.h (ASM_FILE_START): Likewise.  Delete duplicate.
+	* sh/sh.c (output_option, m_options, output_options): Delete.
+	(output_file_start): Delete option output support.
+	* sh/sh.h (ASM_FILE_START): Likewise.
+	(ASM_COMMENT_START): Define.
+	* dwarfout.c (*): flag_verbose_asm renamed to flag_debug_asm.
+	* flags.h (flag_debug_asm): Declare.
+	* toplev.c (print_version): New function.
+	(print_single_switch): New arguments pos, max, indent, sep, term.
+	(print_switch_values): New arguments pos, max, indent, sep, term.
+	Update call to print_single_switch.  Output options passed and
+	options enabled.
+	(MAX_LINE): New macro.
+	(flag_debug_asm): Define.
+	(compile_file): Output options to assembler file.
+	(main): Recognize -dA.  Call print_version.  Update call to
+	print_switch_values.
+	(line_position): Deleted.
+
+Fri May 17 10:50:44 1996  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* i386.c (function_prologue, ix86_expand_prologue,
+	function_epilogue, ix86_expand_epilogue): Generate prologue and
+	epilogue as RTL (prior to scheduling) instead of emitting asm.
+	(override_options): If only -march is given, make it the default -mcpu.
+	* i386.h (FUNCTION_BEGIN_EPILOGUE): Renamed from FUNCTION_EPILOGUE.
+	* i386.md (return, return_internal, prologue, prologue_set_got,
+	prologue_get_pc, epilogue, leave, pop): New patterns for emitting
+	asm from prologue and epilogue RTL.
+	* m88k/t-dgux (T_CFLAGS): Delete.
+	* m88k/x-dgux (X_CFLAGS): New.
+
+Fri May 17 09:54:23 1996  Jim Meyering  (meyering@asic.sc.ti.com)
+
+	* Makefile.in (stamp-crt{,S}): Use -o to avoid conflicts if
+	both of these are built in parallel.
+
+Fri May 17 08:55:19 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expmed.c (store_split_bit_field): Don't assume the alignment
+	of VALUE is the same as the record.
+
+	* configure: Write #define TARGET_CPU_DEFAULT into tm.h
+	instead of defining MAYBE_TARGET_DEFAULT in Makefile.
+	(alpha-*-linux): Set target_cpu_default to 4 and xmake_file to none.
+	(alpha-*-osf*): Set target_cpu_default to 4 if --gas.
+	* Makefile.in (gcc.o, toplev.o, $(out_object_file)):
+	Remove MAYBE_TARGET_DEFAULT.
+
+	* combine.c (insn_cuid): New function.
+	(INSN_CUID): Sometimes call it.
+
+Fri May 17 08:12:37 1996  Scott Christley <scottc@net-community.com>
+
+	* objc/sendmsg.c (objc_get_uninstalled_dtable): New function.
+	* objc/objc-api.h (objc_get_uninstalled_dtable): New declaration.
+
+        * objc/thr-os2.c, objc/thr-posix.c, objc/thr-mach.c: New files.
+        * objc/THREADS.MACH: New file.
+
+ 	* objc/sendmsg.c (nil_method): Deleted from here.
+ 	* objc/nil_method.c: New file.
+ 	* Makefile (OBJC_O): Add dependency for nil_method.c.
+
+	* objc/hash.c (hash_is_key_in_hash): New function.
+	* objc/hash.h: Include objc/objc.h here instead of in objc/hash.c
+	to get BOOL typedef.
+
+Fri May 17 08:01:48 1996  Doug Rupp  (rupp@gnat.com)
+
+	* msdos/configur.bat: If Ada subdirectory present, adjust Makefile.
+
+Fri May 17 07:40:04 1996  Ulrich Drepper  (drepper@cygnus.com)
+
+	* stddef.h: If need_wint_t defined, nothing in this file is needed.
+	(_WINT_T, __WINT__TYPE__, wint_t): Define under certain circumstances.
+
+Thu May 16 18:53:25 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold, case EQ_EXPR): When folding VAR++ = CONST,
+	mask the new const if VAR is a bitfield reference; also for VAR--.
+
+Thu May 16 18:29:03 1996  Doug Evans  <dje@seba.cygnus.com>
+
+	* varasm.c (function_section): Delete flag_function_sections support.
+	(assemble_start_function): Put it here.  Use UNIQUE_SECTION if defined.
+
+Wed May 15 13:35:11 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.{h,c,md} (rs6000_pic_register): Delete all uses, use
+	pic_offset_table_rtx instead.
+
+	* rs6000.md (move_to_float): Rewrite so that it uses the register
+	allocator to allocate the stack temp, instead of calling
+	rs6000_stack_temp.
+	(fix_truncdfsi2): Ditto.
+
+	* rs6000.c (rs6000_stack_temp): Delete, no longer used.
+
+Wed May 15 10:39:27 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
+
+Sat May 11 07:42:59 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_field): Support BLKmode bitfield if aligned on
+	byte boundary using emit_block_move.
+	(expand_expr, case COMPONENT_REF): Likewise.
+
+Fri May 10 18:33:39 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure (alpha-*-linux): Reverse order in tm_file list.
+	Delete xmake_file.
+	* alpha/x-linux: Deleted.
+	* alpha/linux.h (ASM_FINAL_SPEC): Add #undef.
+	* alpha/xm-linux.h: Remove bogus trailing #endif.
+
+	* loop.c (maybe_eliminate_biv_1): Disable all but two cases
+	of biv elimination with givs and restrict those two cases to
+	an ADD_VAL that is an address.
+
+	* flow.c (mark_set_1, mark_used_regs): Clean up usages
+	of ALL_NEEDED; change to SOME_NOT_NEEDED and set properly.
+
+Fri May 10 11:37:38 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (compile_file): Don't warn about artificial functions
+ 	declared static and not defined.
+
+Thu May  9 22:03:28 1996  Doug Evans  <dje@cygnus.com>
+
+	* varasm.c (assemble_start_function): ASM_DECLARE_FUNCTION_NAME
+	needn't consider bytecodes.
+	(assemble_variable): ASM_DECLARE_OBJECT_NAME needn't
+	consider bytecodes.
+	* toplev.c (rest_of_decl_compilation): Likewise with
+	ASM_FINISH_DECLARE_OBJECT.
+	* arm/aof.h (ASM_DECLARE_{FUNCTION,OBJECT}_NAME): Delete bytecode
+	support.
+	* vax/vms.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+
+Thu May  9 19:36:13 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.h (SET_ASM_OP): Define.
+
+Thu May  9 13:31:58 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (SUBTARGET_{SWITCHES,OPTIONS}): Add support for
+	finer grain control on -msdata, so that eabi people can specify to
+	compile sdata code to only use r13 instead of r2/r13.  Make
+	-mrelocatable-lib turn off -msdata, just like -m relocatable does.
+	(SUBTARGET_OVERRIDE_OPTIONS): Ditto.
+	(ENCODE_SECTION_INFO): Move to rs6000.c.
+	(ASM_SPEC): -msdata=eabi sets -memb also.
+	(CC1_SPEC): -mno-sdata gets converted to -msdata=none.
+
+	* rs6000.c (rs6000_sdata{,_name}): Add support for finer grain
+	control on -msdata.
+	(output_options): Ditto.
+	(small_data_operand): Ditto.
+	(print_operand): Ditto.
+	(rs6000_select_section): Ditto.
+	(rs6000_encode_section_info): Move here from sysv4.h, section
+	names are stored as STRING nodes, not IDENTIFIER.
+
+Wed May  8 21:04:49 1996  Doug Evans  <dje@cygnus.com>
+
+	* function.c (aggregate_value_p): Return 1 if TREE_ADDRESSABLE.
+	* pa/pa.h (RETURN_IN_MEMORY): No longer test for TREE_ADDRESSABLE.
+
+Tue May  7 13:42:57 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.c: Include obstack.h.
+	(bit_memory_operand): New function.
+	(print_operand): Append ":16" to a memory reference to
+	the tiny data area.
+	(h8300_tiny_data_p): New function.
+	(h8300_valid_machine_decl_attribute): Accept "tiny_data".  Fix
+	typo.
+	(h8300_encode_label): New function.
+	(h8300_adjust_insn_length): References to the tiny data section
+	are two bytes shorter than normal accesses on the H8/300H.
+	* h8300/h8300.h (OK_FOR_U): Fix thinko.
+	(ENCODE_SECTION_INFO): Encode info for tiny data variables.
+	(STRIP_NAME_ENCODING): Define.
+	* h8300/h8300.md (movqi insn): Fix length for a constant load.
+	(movstrictqi): Likewise.
+	(movhi, movstricthi): Likewise.
+	(memory btst patterns): Add register to the constraints to keep
+	reload happy.
+
+	* h8300/h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int)))
+	is a valid U operand if SYMBOL_REF_FLAG is set on the
+	SYMBOL_REF.
+	* h8300/h8300.md (memory btst patterns): New patterns.
+
+	* h8300/h8300.c (h8300_eightbit_data_p): Renamed from
+	h8300_tiny_data_p.
+	(h8300_eightbit_data_p): Check for the "eightbit_data"
+	attribute instead of "tiny_data".
+	(h8300_valid_machine_decl_attribute): Likewise.
+	* h8300/h8300.h (ENCODE_SECTION_INFO): Call h8300_eightbit_data_p
+	instead of h8300_tiny_data_p.
+
+	* h8300/h8300.h (READONLY_DATA_SECTION): Define.
+	(EXTRA_SECTIONS): Add in_readonly_data.
+	(READONLY_DATA_SECTION_ASM_OP): Define.
+	(EXTRA_SECTION_FUNCTINOS): Add readonly_data.
+
+Tue May  7 09:26:24 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* varasm.c (make_decl_rtl): Update DECL_ASSEMBLER_NAME for local
+ 	statics.  Remove reference to flag_no_common.
+
+Mon May  6 21:38:36 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cpplib.c (skip_comment, handle_directive): Don't use uninit vars.
+
+Mon May  6 18:47:36 1996  Doug Evans  <dje@cygnus.com>
+
+	* dbxout.c (dbxout_function): When deciding to call dbxout_function_end
+	change test from flag_function_sections to DECL_SECTION_NAME != NULL.
+
+	* varasm.c (named_section): Accept any decl.
+
+Mon May  6 16:41:08 1996  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* final.c (final_scan_insn): Modify conditional moves whose cc is
+	nonstandard.
+
+	* c-common.c (decl_attributes): Chain multiple attributes correctly.
+
+Mon May  6 15:41:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stmt.c (expand_decl): Don't deduce alignment of SIZE from
+	DECL_ALIGN; use TYPE_ALIGN instead.
+
+	* function.c (assign_parms): Set RTX_UNCHANGING_P in stack_parm
+	if parm is read-only.
+
+	* c-common.c (truthvalue_conversion, case ADDR_EXPR): Don't
+	treat address of external decl as always nonzero.
+
+Mon May  6 11:33:57 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* c-decl.c (start_decl): Check -fno-common here.
+	* varasm.c (assemble_variable): Instead of here.
+	* final.c (end_final): Likewise.
+	* c-common.c (init_attributes, decl_attributes): Add A_COMMON.
+
+Mon May  6 11:12:39 1996  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_increment): Add third parameter to know when to
+	ignore the result value.
+	(store_constructor): Likewise
+	(expand_expr, case {PRE,POST}{INC,DEC}REMENT_EXPR): Likewise.
+	* tree.c (stabilize_reference): Always ignore the first operand of
+	COMPOUND_EXPRs.
+
+Mon May  6 13:14:45 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.c (gen_shifty_op): Truncate VALUE to avoid out of bounds array
+	access.
+
+	* expr.c (expand_expr, case INDIRECT_REF): Delete obsolete code
+	to special case a SAVE_EXPR operand.
+
+Mon May  6 10:00:12 1996  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vax.h (ASM_OUTPUT_MI_THUNK): Define.
+
+Mon May  6 09:49:10 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k/linux.h: Use the new trampoline definition.
+	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Deleted.
+	(INITIALIZE_TRAMPOLINE): Changed.
+	(FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New.
+
+Mon May  6 09:43:55 1996  Patrick J. LoPresti  (patl@lcs.mit.edu)
+
+	* rtlanal.c (rtx_addr_varies_p): Scan operands of type `E'.
+
+Mon May  6 09:04:40 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* x-linux{,-aout} (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): Deleted.
+	* config/t-linux (BOOT_CFLAGS, STMP_FIXPROTO, STMP_FIXPROTO): New,
+	moved from x-linux.
+	* t-linux-aout: New file.
+	* configure (i[3456]86-*-linux*oldld*, i[3456]86-*-linux*aout*):
+	Set tmake_file to t-linux-aout.
+
+Sun May  5 22:13:22 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* Makefile.in (gxx_include_dir): Change to $(prefix)/include/g++.
+	(old_gxx_include_dir): New - defined as $(libdir)/g++-include.
+	(cccp.o, cpplib.o): Also pass OLD_GPLUSPLUS_INCLUDE_DIR (set
+	from $(old_gxx_include_dir)).
+	* cccp.c (include_defaults_array): For C++, also search
+	OLD_GPLUSPLUS_INCLUDE_DIR.
+	* cpplib.c (default_include): Likewise.
+	* configure: Remove no-longer-needed support for --gxx-include-dir.
+
+Sun May  5 21:59:53 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* c-lex.c (check_newline): Fix #pragma parsing; issue error message
+ 	for directive that starts with `p' but isn't `pragma'.
+
+Sun May  5 13:13:40 1996  Jeremy Bettis  <jeremy@hksys.com>
+
+	* objc/hash.c (hash_value_for_key): Prevent endless loop when 0 was
+	stored in a hashtable.
+
+Sun May  5 13:09:54 1996  Satoshi Adachi  (adachi@wisdom.aa.ap.titech.ac.jp)
+
+	* m68k/newsgas.h (SET_ASM_OP, ASM_WEAKEN_LABEL): Define.
+
+Sun May  5 12:48:08 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* tree.c (build_real_from_int_cst): Remove spurious test for
+	 REAL_IS_NOT_DOUBLE.
+
+Sat May  4 12:17:58 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.h (ASM_OUTPUT_MI_THUNK): Moved here from aout.h.  Rewrite to be
+	independent of the selected assembler, and to use optimal number of
+	instructions.
+	* arm/aout.h (ASM_OUTPUT_MI_THUNK): Delete.
+
+	* arm/aout.h (ASM_OUTPUT_OPTIONS): Define.
+	(ASM_FILE_START): Call ASM_OUTPUT_OPTIONS.
+	(BSS_SECTION_OP): Define.
+	(ASM_OUTPUT_ALIGN): Don't output anything if byte alignment is wanted.
+	(ASM_OUTPUT_ALIGNED_BSS): Define.
+	* arm.h (target_cpu_name): Delete.
+	(TARGET_SWITCHES): Delete "be" and "le".
+	(TARGET_OPTIONS): Delete "cpu-", add "tune=".
+	(struct arm_cpu_select): New struct.
+	(PROCESSOR_DEFAULT, TARGET_CPU_DEFAULT): Define.
+	(EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Cmode.
+	(CANONICALIZE_COMPARISON): Define.
+	* arm.c (arm_select): Declare and initialize.
+	(all_procs): Add arm7100.
+	(arm_override_options): Parse arm_select structure to determine
+	selected architecture and tuning parameters.
+	(output_option, output_options): New functions.
+	(arm_canonicalize_comparison): New function.
+	(arm_gen_movstrqi): Don't add a writeback of the index registers for
+	the last instructions.
+	(arm_select_cc_mode): Detect case where mode is carry out of unsigned
+	arithmetic.
+	(output_lcomm_directive): Use bss_section (), and use alignment
+	rather than rounding.
+	(get_arm_condition_code): Handle CC_Cmode.
+	(final_prescan_insn): Avoid boundary case where we would occasionally
+	inline MAX_INSNS_SKIPPED+1 insns.  Allow call_insns to be inlined in
+	APCS_32 mode if they are the last insn in the block.
+	* arm.md (*addsi3_compareneg): Delete potentially unsafe insn.
+	(*addsi3_compare_op[12]): New insns.
+	(*compare_addsi2_op[01]): New insns.
+	(*addsi3_carryin, *addsi3_carryin_alt[12]): New insns.
+	(*cmp_ite1): Use arm_add_operand instead of arm_rhs_operand.
+	* semi.h (PROCESSOR_DEFAULT): Default to PROCESSOR_ARM6.
+
+Fri May  3 10:52:11 1996 1996  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* i386.md (movesicc, movehicc) Pentium Pro conditional move insns.
+
+	* i386.h (TARGET_PENTIUMPRO, TARGET_CMOVE, BRANCH_COST,
+	ASM_OUTPUT_FUNCTION_PREFIX): New macros for conditional move.
+
+	* i386.c (asm_output_function_prefix, function_prologue): Setup
+	pic on Pentium Pro so a return will match the call.
+	(print_operand, put_condition_code): Output conditional move suffixes.
+
+Fri May  3 10:52:11 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i386/{att.h,gas.h,bsd.h,sub386.h} (ASM_OUTPUT_MI_THUNK): Define.
+
+Wed May  1 17:54:51 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.h (ASM_OUTPUT_MI_THUNK): Fix for sparc64, optimize.
+
+Wed May  1 13:28:32 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* i386/linux.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+	* i386/sysv4.h: Likewise.
+	* sparc/sysv4.h: Likewise.
+
+Wed May  1 01:44:47 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.c (h8300_adjust_insn_length): Adjust the cost of
+	shifts by small constant values.
+	* h8300/h8300.md: Refine comments.  Remove names from many
+	patterns which don't need them.
+	(compare insns): Don't underestimate lengths.
+	(andqi3 expander): Remove constrains.
+	(andhi3): Don't underestimate length.
+	(andsi3): Don't underestimate length.  Improve code when upper
+	or lower half of destination is being cleared.
+	(indirect_jump_h8300, indirect_jump_h8300h): Simplify.
+	(shift insns): Remove useless "I" constraint.
+
+	* h8300/h8300.md (bcs type): Remove "bcs" type attribute and
+	all references.
+	(bcs insns): Delete.  No longer needed.
+	(setcc from bitfield): Rewrite to use zero_extract.  Provide
+	QImode, HImode and SImode variants.
+
+Tue Apr 30 18:13:09 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* svr4.h (SELECT_SECTION): If RELOC is true, put it in data.
+
+Tue Apr 30 17:26:30 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* fold-const.c (fold): Don't call convert to recreate tree nodes
+	we already have.
+
+Tue Apr 30 16:52:41 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.c (one_insn_adds_subs_operand): New function.
+	(h8300_adjust_insn_length): New function.
+	* h8300/h8300.h (ADJUST_INSN_LENGTH): Define.
+	* h8300/h8300.md: Remove obsolete comments.
+	(move patterns): Tweak constraints.
+	(tst patterns): Use "register_operand" for predicate.
+	(adds pattern): Use one_insn_adds_subs_operand to get length
+	computation correct.
+	(subs pattern): Similarly.
+	(movstrhi): Remove unused expander.
+	(fancy*, pxor, and-not patterns): Remove.  No longer needed.
+
+Tue Apr 30 13:35:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sol-c0.c (_start): Temporarily display calling
+	__do_global_ctors, since the Solaris linker doesn't handle the
+	relocations properly.
+
+Mon Apr 29 13:03:12 1996  Doug Evans  <dje@cyguns.com>
+
+	* sparc/vxsparc.h: sparc-aout.h renamed to aout.h.
+
+Mon Apr 29 00:35:15 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.c (names_small): Remove "BAD" postfix from
+	%r7 byte registers.
+	(rtx_equal_function_value_matters): Remove extra declaration.
+	(output_simode_bld): New function.
+	* h8300/h8300.h (NO_FUNCTION_CSE): Do define this.  Register
+	pressure makes cse-ing function addresses rarely a win.
+	(reg_class): Remove unnecessary register classes LONG_REGS,
+	SP_REG, SP_AND_G_REGS.
+	(REG_CLASS_NAMES): Corresponding changes.
+	(REG_CLASS_CONTENTS): Corresponding changes.
+	(REGNO_REG_CLASS): Corresponding changes.
+	(REG_CLASS_FROM_LETTER): Corresponding chagnes.
+	(output_simode_bld): Declare.
+	* h8300/h8300.md: Nuke comments for stuff which has been fixed.
+	(all patterns): Remove references to register class "a" (SP_REGS)
+	which no longer exists.
+	(many patterns): Accept auto-inc auto-dec addresses in more cases.
+	(zero_extendqisi2): New pattern for the H8/300.
+	(zero_extendhisi2): Only use zero_extendhisi2_h8300 when not optimizing.
+	(extendhisi2): Only use extendhisi2_h8300 when not optimizing.
+	(extendqisi2): New pattern for the H8/300.
+	(bitfield related patterns): Completely rewrite.
+	(fancy_bclr, fancy_btst): Deleted.  Redundant with new bitfield
+	patterns.
+	(addhi3 pattern for h8300): Handle case where we can't make matching
+	constraints (works around hard to fix reload problem).
+	(stack_pointer_manip): Delete.
+	(and not patterns): New combiner patterns.
+
+	* pa/pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Make sure the
+	final $CODE$ subspace is in the $TEXT$ space.
+
+Sun Apr 28 14:52:21 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* svr4.h (ASM_OUTPUT_SECTION_NAME): If no decl is specified,
+ 	make the section read/write data.
+
+Sat Apr 27 10:28:59 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
+
+	* rs6000/t-ppcgas (MULTILIB_EXCEPTIONS): Don't allow -mrelocatable
+	and -mcall-sysv-noeabi.
+
+	* rs6000/sysv.h (SUBTARGET_OVERRIDE_OPTIONS): The -mcall-aix
+	option sets -meabi.  Don't allow -mrelocatable without -meabi.
+
+Fri Apr 26 16:10:46 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sparc.md (*smacsi,*smacdi,*umacdi): Fix constraint on
+	operand 0.
+
+Fri Apr 26 14:36:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* gcc/config/i960/t-{960bare,vxworks960} (MULTILIB*): Add
+	soft-float multilib support.
+
+Fri Apr 26 06:38:56 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_decl): Turn off DECL_BIT_FIELD for BLKmode
+	that's properly aligned and a multiple of a byte.
+
+Thu Apr 25 22:43:19 1996  Doug Evans  <dje@cygnus.com>
+
+	* i386/gas.h (ASM_OUTPUT_ALIGN): #if 0 out again.
+	Undoes change of Apr. 9.
+	* i386/go32.h (ASM_OUTPUT_ALIGN): Define.
+
+Thu Apr 25 14:05:33 1996  Richard Kenner  (kennervlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call): In inlining case, if BEFORE_CALLS is
+	zero, start looking at first insn (one more place).
+
+	* expr.c (expand_builtin, case BUILT_IN_SETJMP): CLOBBER the
+	static chain after label at setjmp point.
+
+Thu Apr 25 09:02:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (print_operand{,_address}): Correct compile error if
+	TARGET_EABI is not defined.  Also, just call small_data_operand,
+	without testing the ABI.
+	(rs6000_select_section): Ditto.
+
+	* rs6000/sysv4.h (CC1_SPEC): For -mcall-solaris, don't pass
+	-mno-main-init.
+
+Wed Apr 24 18:26:48 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* collect2.c (handler): Delete export_file when we get a signal.
+
+Wed Apr 24 14:54:44 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa/pa1-ghpux.h (LINK_SPEC): Define.  Link in PA1.1 libraries
+	by default.
+	* pa/{pa1-ghpux9.h, pa1-hpux.h, pa1-hpux9.h}: Likewise.
+
+Wed Apr 24 11:12:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* configure (powerpc{,le}-*-eabi*): Use t-ppc{,gas}, instead of
+	t-eabi{,gas}.
+	(powerpc-*-linux,powerpcle-*-solaris): Add definitions.
+	(MULTILIB_DIRNAMES): Pick shorter names for the multilib
+	directories.
+	(MULTILIB_*): Do not build -msdata versions of the library.  Build
+	both system V and eabi versions of the libraries.
+
+	* rs6000/t-ppc{,gas} (MULTILIB*): Don't build -msdata versions of
+	the libraries.  Split -mcall-sysv libraries into
+	-mcall-sysv-{eabi,noeabi} varients.
+	(LIB2FUNCS_EXTRA): Add eabi.S, eabi-ctors.c.
+	(eabi.S): Use eabi.S, not eabi.s for eabi.asm.
+	(crt files): Add support for Solaris crt files.
+
+	* rs6000/sol{2.h,-c0.c,-ci.asm,-cn.asm}: New files for Solaris
+	support.
+
+	* rs6000/linux.h: New file for Linux support.
+
+	* rs6000/eabi-ci.asm (ppc-asm.h): Include.
+	(.got section): Correct attribute.
+
+	* rs6000/eabi-c{i,n}.asm (.init,.finit): Add support for System V
+	style .init/.fini sections, that constructors and destructors
+	place a bl <func> in the appropriate section.
+
+	* rs6000/eabi-ctors.c (__do_global_{c,d}tors): Call __init, and
+	__fini to handle constructors/destructors in the .init, .fini
+	sections.
+
+	* rs6000/{eabi,sysv}.h: Move most eabi configuration stuff from
+	eabi.h to sysv.h.
+
+	* rs6000/sysv.h (TARGET_*): Convert -mcall-xxx from a switch into
+	an option.  Add -mcall-{solaris,linux,sysv-eabi,sysv-noeabi}
+	options.  Add -m{,no-}eabi options to control whether we adhere to
+	the System V spec or the EABI spec.  Add -m{,no-}regnames to
+	control whether registers are printed out as %r0 instead of 0.
+	(SUBTARGET_OVERRIDE_OPTIONS): Add support for new -mcall options.
+	(FP_ARG_MAX_REG): Use new macros for ABI conformance.
+	(RS6000_REG_SAVE): Ditto.
+	(STACK_BOUNDARY,BIGGEST_ALIGNMENT): If eabi, align to 8 byte
+	boundary, otherwise 16 byte.
+	(EXTRA_SECTIONS): Add .init, .fini sections.
+	(*_SPEC): Reorganize so that the different targets all have sub
+	specs that go in the specs file.  Add support for linux and
+	Solaris targets.
+
+	* rs6000/{sysv4,eabi}*.h (*_SPECS): Only override the default
+	spec, all other specs moved to sysv4.h.
+	(RS6000_ABI_NAME): Use RS6000_ABI_NAME to set the default ABI
+	name, not TARGET_DEFAULTS.
+
+	* rs6000/xm-sysv4.h (alloca): Properly declare alloca if compiler
+	is not GCC.
+	(DONT_DECLARE_SYS_SIGLIST): Define.
+
+	* rs6000.c (rs6000_abi_name): New global for getting the results
+	of -mcall-xxx.
+	(rs6000_reg_names): New global for holding the normal register
+	names.
+	(alt_reg_names): Alternate register names for -mregnames.
+	(rs6000_override_options): If -mregnames, copy alt_reg_names into
+	rs6000_reg_names.
+	(input_operand): Recognize ABI_SOLARIS.
+	(small_data_operand): Ditto.
+	(init_cumulative_args): Ditto.
+	(function_arg{,_boundary,_advance,_partial_nregs}): Ditto.
+	(function_arg_pass_by_reference): Ditto.
+	(setup_incoming_varargs): Ditto.
+	({rs6000,debug}_stack_info): Ditto.
+	(output_{prolog,epilog}): Ditto.
+	(print_operand): %$ prints '.' on Solaris, '$' elsewhere.
+	(print_operand{,_address}): If not eabi, use @sdarel for small
+	data references.
+	(rs6000_stack_info): Only emit __eabi call if TARGET_EABI.
+
+	* rs6000.h (*_SPECS): Move the System V specs to svr4.h.
+	(ABI_SOLARIS): New ABI, mostly like System V.
+	(EXTRA_CONSTRAINT): Use ABI_SOLARIS like ABI_V4.
+	(RETURN_ADDRESS_OFFSET): Ditto.
+	(LEGITIMATE_SMALL_DATA_P): Ditto.
+	(RETURN_IN_MEMORY): On Solaris, small structures are returned in
+	registers.
+	(REGISTER_NAMES): Use rs6000_reg_names array, instead of string
+	literals.
+	(DEBUG_REGISTER_NAMES): Define.
+	(ADDITIONAL_REGISTER_NAMES): Add sp, toc aliases.
+	(PRINT_OPERAND_PUNCT_VALID_P): Recognize $ as a punctuation char.
+
+	* rs6000.md (got & call patterns): Use ABI_SOLARIS to mean the
+	same as ABI_V4.
+	(branch patterns): Use %$ for the current location, not just $.
+
+	* va-ppc.h: Add Solaris support.
+
+Tue Apr 23 20:02:13 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sparc.c (output_function_prologue): In -mbroken-saverestore
+	case, %sp = %fp - size.
+	* sparc/t-splet (TARGET_LIBGCC2_CFLAGS): Delete.
+	* sparc/sparc.md (isa attribute): Add sparclet.
+	(*smacsi,*smacdi,*umacdi): Use match_operand, not match_dup
+	for third arg.
+	(*mulsidi3_sp32,const_mulsidi3,*umulsidi3_sp32,const_umulsidi3): Use
+	smuld,umuld for sparclet.
+
+Tue Apr 23 16:28:28 1996  Michael Meissner  <meissner@wombat.gnu.ai.mit.edu>
+
+	* config/m68k/m68kemb.h: Add {LINK,STARTFILE,LIB,SUBTARGET}_SPEC, so
+	gcc will use libgloss for supported target boards {idp,mvme,bcc}.
+
+Tue Apr 23 16:00:28 1996  Per Bothner  <bothner@cygnus.com>
+
+	* expr.c (store_constructor):  Fix test for missing array elements.
+
+Tue Apr 23 11:21:09 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* config/i386/sco5.h (BSS_SECTION_ASM_OP): Use `data' directive.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Generate an `lcomm' directive.
+	(TARGET_DEFAULT): Include TARGET_IEEE_FP.
+	(CPP_PREDEFINES): Include Di386.
+
+Mon Apr 22 12:00:46 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (BIGGEST_FIELD_ALIGNMENT): Delete.
+	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Define.
+	* sysv4.h (BIGGEST_FIELD_ALIGNMENT): Delete.
+	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
+	* win-nt.h (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Undefine.
+
+Sun Apr 21 17:52:36 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* m68k/coff.h (ASM_OUTPUT_SECTION): Test DECL before
+	dereferencing it.
+
+	* cse.c (cse_process_notes): Handle SUBREG like ZERO_EXTEND.
+
+Sun Apr 21 12:57:12 1996  Doug Evans  <dje@cygnus.com>
+
+	* arm/aout.h (ASM_OUTPUT_MI_THUNK): Define.
+
+Sun Apr 21 09:50:09 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
+
+Sun Apr 21 08:42:13 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (check_float_value): Cast args of bcopy to avoid warnings.
+
+Sat Apr 20 21:22:21 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* stor-layout.c (layout_record): Use ADJUST_FIELD_ALIGN to modify
+	alignment of fields within records.
+
+Sat Apr 20 19:55:33 1996  Niels Moller  <nisse@lysator.liu.se>
+
+	* c-parse.in (typespec): Made <SomeProtocol> equivalent
+	to (id <SomeProtocol>).
+	(non_empty_protocolrefs): New nonterminal.
+
+Sat Apr 20 08:34:02 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+        * stmt.c (check_for_full_enumeration_handling): Call case_tree2list
+	before checking for case expressions not corresponding to enumerators.
+	(mark_seen_cases): If SPARSENESS == 2, exploit AVL order.
+	Else, convert tree to list.
+	Set xlo to -1 if SPARSENESS == 1 search failed.
+	(expand_end_case): Avoid calling case_tree2list on list.
+
+Fri Apr 19 16:54:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/win-nt.h (BIGGEST_FIELD_ALIGNMENT): Set to 64, not
+	32 that AIX uses.
+
+Fri Apr 19 16:40:38 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.md (movqi): Handle QImode values in %si and %di.
+
+Thu Apr 18 20:56:56 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.md (lshrsi3): Change gen_ashlsi3_d to gen_lshrsi3_d.
+
+Thu Apr 18 15:49:28 1996  Per Bothner  <bothner@cygnus.com>
+
+	* sparc.h (ASM_OUTPUT_MI_THUNK): Define.
+
+Thu Apr 18 15:19:26 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.md: Remove "type" attribute from all patterns
+	except those which have varying length branches.  Eliminate
+	obsolete "type" attributes.  Add additional comments about insn
+	length computation problems and further optimizations.  Add
+	"length" and "cc" attributes to insns without them, fix a few
+	length computations.  Remove patterns which are commented out.
+
+	* h8300.md (zero extension expanders and insns): Simplify, fix various
+	length problems, provide optimized versions for the h8300 and h8300h.
+	(sign extension expanders and insns): Likewise.  Make them
+	nearly identical to zero_extension patterns and insns.
+
+Wed Apr 17 18:50:16 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (SELECT_SECTION): Define.  Never place a something
+	into the read-only data section if it requires a reloc.
+
+	* pa.md (rotlsi3): Delete unnecessary and incorrect pattern.
+
+Wed Apr 17 17:15:40 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (movdi): Never FAIL, even if operand[1] is not a
+	general operand, due to being in volatile memory.
+
+Wed Apr 17 15:20:10 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* c-lex.c (check_newline): Rewrite to use tokens.
+	(handle_sysv_pragma): Take a token instead of a character.
+	* i960.c (process_pragma): Take the IDENTIFIER_POINTER tree
+	node instead of a character.
+	* sh.c (handle_pragma): Likewise.
+	* config/nextstep.c (handle_pragma): Likewise.
+	* h8300.c (handle_pragma): Likewise.
+	* i960.h (HANDLE_PRAGMA): Expect/pass 2nd arg of NODE, not CH.
+	* sh.h (HANDLE_PRAGMA): Likewise.
+	* config/nextstep.h (HANDLE_PRAGMA): Likewise.
+	* h8300.h (HANDLE_PRAGMA): Likewise.
+
+Wed Apr 17 14:28:43 1996  Doug Evans  <dje@cygnus.com>
+
+	* choose-temp.c: Don't include sys/file.h ifdef NO_SYS_FILE_H.
+	#include <stdio.h>.
+	(choose_temp_base): Make tmp,usrtmp, static locals.
+
+Wed Apr 17 08:41:02 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (alpha_emit_conditional_move): Fix some bugs in previous
+	change and do some cleanup.
+
+Tue Apr 16 18:53:05 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* reload.c (push_reload): Add extra reload for inside of SUBREG if
+	it is CONSTANT_P.
+
+	* expr.c (do_store_flag): Rewrite last change to avoid compiler
+	warnings.
+
+	* reload.c (push_reload): When reuse an old reload, set the modes
+	to be the larger of the old and new modes.
+
+        * i960/t-960bare (xp-bit.c): Fix typo in source file name.
+
+Tue Apr 16 18:09:16 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/h8300.md (andhi3): If 2nd operand is a CONST_INT that
+	meets the 'J' constraint, then only two bytes are needed for
+	this insn.  Improve code generated for the h8300h when both
+	operands are registers.
+	(iorhi3, xorhi3): Likewise.  Rework to be nearly identical to andhi3.
+	(andsi3): If 2nd operand is a CONST_INT that meets the 'J'
+	constraint, then only two bytes are need for this insn.
+	Improve code generated for the h8300h regardless of the
+	type of the 2nd operand.  Make this pattern work on the h8300 too.
+	(iorsi3, xorsi3): Likewise.  Rework to be nearly identical to andsi3.
+	(iorqi3_internal): Make this pattern look more like andqi3_internal.
+	(one_cmplhi2, one_cmplsi2): Fix length computation for H8300H.
+
+Tue Apr 16 17:43:25 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* i386.md (addsidi3_2): Handle non-MEM overlap case.
+
+Tue Apr 16 16:59:49 1996  Richard Henderson  <rth@tamu.edu>
+
+ 	* function.c (expand_function_end): Allow TRAMPOLINE_TEMPLATE
+	to be omitted on systems for which it is not cost effective.
+	* varasm.c (assemble_trampoline_template): No such function
+	if no TRAMPOLINE_TEMPLATE.
+	* m68k.h: Greatly simplify the run-time trampoline code:
+	(TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): Delete define.
+	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed.
+	(TRAMPOLINE_ALIGN): No point aligning to cache line.
+	(FINISH_INIT_TRAMPOLINE): New define.
+	* m68k/next.h: Instead of redefining INITIALIZE_TRAMPOLINE,
+	make use of the new FINISH_INIT_TRAMPOLINE.
+	* m68k/{m68k.h,next.h,aux.h} (FINISH_INIT_TRAMPOLINE):
+	Rename to FINALIZE_TRAMPOLINE.
+	* m68k/{linux.h,m68kv4.h}: Override trampoline macros.
+
+Tue Apr 16 16:02:50 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* combine.c (make_field_assignment): Allow XOR in final case.
+
+Tue Apr 16 11:33:53 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* m68k.h (TARGET_SWITCHES): Don't remove MASK_68060 with -msoft-float.
+
+	* m68k.h (MULL_COST, MULW_COST, RTX_COSTS): Add costs for TARGET_68060.
+	* m68k.md (ashlsi_16, lshrsi_16): Disable pattern for TARGET_68060;
+	this special case is not faster for that cpu.
+
+Tue Apr 16 10:54:55 1996  Eliot Dresselhaus  <dresselh@rft30.nas.nasa.gov>
+
+	* alpha.c (alpha_emit_conditional_move): New function.
+	* alpha.h (alpha_emit_conditional_move): Declare it.
+	* alpha.md (cmov* define_expands): Use it.
+
+Tue Apr 16 09:06:17 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* function.h (struct function): New field returns_pointer.
+	* function.c (push_function_context_{to,from}): Save and restore
+	current_function_returns_pointer.
+
+	* config/svr4.h (ENDFILE_SPEC): Add missing `%s'.
+
+	* configure (m68k-*-linux*aout*): Set tmake_file to m68k/t-linux-aout.
+	(m68k-*-linux*): Set extra_parts.
+	* m68k/t-linux (INSTALL_ASSERT_H): New definition.
+	(CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): New definitions.
+	* m68k/t-linux-aout: New file.
+	* m68k/linux.h (LIB_SPEC): Deleted.
+	(BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Define.
+
+	* m68k.h (TRAMPOLINE_ALIGNMENT): Specify alignment in bits, not bytes.
+
+Tue Apr 16 08:53:17 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* final.c (final_scan_insn): Allow removal of redundant test and
+	compare instructions that use clobbers.
+
+Tue Apr 16 06:22:00 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (clear_limbo_values): New function.
+	(pushdecl): Call it for function body blocks.
+
+	* objc/thr-decosf1.c (_objc_thread_id): Correct return type from
+ 	int to _objc_thread_id.
+
+	* expr.c (expand_builtin, case BUILT_IN_LONGJMP): Make a decl
+	for __dummy, so we can call make_function_rtl on it.
+
+	* expr.c (expand_assignment): Don't pre-evaluate RHS if a CALL_EXPR
+	with a variable-size return.
+
+Mon Apr 15 17:38:45 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Fix undefined VOIDFUNCPTR in VxWorks 5.2 <time.h>.
+
+Mon Apr 15 15:12:16 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (do_store_flag): Before calling exact_log2, remove any
+	sign extension bits.
+
+	* reload1.c (emit_reload_insns): Call reload_reg_reaches_end_p for
+	every reg of multi-reg spill register.  Invalidate old info for multi
+	reg spill registers when only part survives to the end.
+
+Mon Apr 15 14:49:12 1996  Mike Stump  <mrs@cygnus.com>
+
+	* function.c (preserve_temp_slots): Only preserve temporaries that
+	happen to be at the current level.
+
+Mon Apr 15 14:08:12 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* gansidecl.h: New file.
+	* choose-temp.c: New file.
+	* Makefile.in (xgcc): Depend on and link in choose-temp.o.
+	(collect2): Likewise.
+	(choose-temp.o): Add rule for.
+	* collect2.c: #include "gansidecl.h".
+	(const,PROTO): Delete.
+	(P_tmpdir): Delete.
+	(choose_temp_base): Declare as extern, delete internal copy.
+	(main): Update call to choose_temp_base.
+	* cpphash.c: #include "gansidecl.h".
+	(NULL,const,volatile): Delete.
+	* demangle.h: #include "gansidecl.h".
+	(PROTO,PTR,const): Delete.
+	* expr.h (const): Delete.
+	* fix-header.c: #include "gansidecl.h".
+	(const): Delete.
+	* gcc.c: #include "gansidecl.h".
+	(PROTO,VPROTO,PVPROTO,VPROTO,VA_START,NULL): Delete.
+	(GENERIC_PTR,NULL_PTR,P_tmpdir): Delete.
+	(choose_temp_base): Declare as extern, delete internal copy.
+	(concat): Rewrite to take a variable number of arguments.
+	(choose_temp_base_try,concat[346]): Delete.
+	(translate_options,set_spec,process_command,do_spec_1,
+	is_directory,main): Always use concat, not concat[346].  Pass
+	NULL_PTR as trailing arg to concat.
+	* genattr.c (main): Delete printing of "#define PROTO".
+	* machmode.h: #include "gansidecl.h".
+	(PROTO): Delete.
+	(HAVE_MACHINE_MODES): Move definition to standard place.
+	* recog.h: #include "gansidecl.h".
+	(PROTO,const): Delete.
+	* rtl.h: #include "gansidecl.h".
+	(PROTO,VPROTO,PVPROTO,VPROTO,VA_START,STDIO_PROTO): Delete.
+	(NULL,GENERIC_PTR,NULL_PTR): Delete.
+	* tree.h: Likewise.
+
+Mon Apr 15 08:49:20 1996  Tom May  (ftom@netcom.com)
+
+	* cse.c (invalidate_skipped_set): Ignore CLOBBER after calling
+	note_mem_written, not before.
+
+Mon Apr 15 08:22:03 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.md (tstdi): Optimized for "d" case.
+	(movqi): Allow moving "i" into "a".
+	(zero_extendsidi2): Alternatives merged.
+	(extendplussidi): Fixed when operands 0 and 1 share a register.
+	(adddi_sexthishl32): Constraints reordered for better reload.
+	(adddi3,subdi_sexthishl32,subdi3,negdi2): Likewise.
+	(ashldi_sexthi): Accept "m" as operand 0.
+	(ashldi_const32): Alternatives merged.
+	(ashift patterns): Output "lsl" instead of "asl".
+	(beq0_di): If condition codes already set, output only branch insn.
+	(bne0_di,bge0_di,blt0_di): Likewise.
+	* m68k.c (notice_update_cc, case ASHIFT{,RT}, LSHIFTRT, ROTATE{,RT}):
+	Don't set CC_NO_OVERFLOW.
+	* m68k.h (TARGET_SWITCHES): Fix typo in "c68000" entry.
+
+Mon Apr 15 08:06:17 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* real.c (eadd1): Check for overflow on X plus X.
+
+Mon Apr 15 08:02:24 1996  J.T. Conklin  <jtc@cygnus.com>
+
+	* i386/netbsd.h (HAVE_SYSV_PRAGMA): Removed definition.
+	* config/netbsd.h (HAVE_SYSV_PRAGMA): Define.
+	(SET_ASM_OP): Define.
+
+Mon Apr 15 07:28:54 1996  Fila Kolodny <fila@ibi.com>
+
+	* configure: Add definition for host= into Makefile.
+	* build-make (CC): Pass -b $(host), not target.
+
+Mon Apr 15 05:12:39 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (bc_expand_increment): Change declaration to return void.
+
+	* toplev.c (max_label_num_after_reload): New variable.
+	(rest_of_compilation): Set it.
+	* reorg.c (find_dead_or_set_registers): Only kill spill regs after
+	label made before jump2.
+
+	* combine.c (expand_field_assignment): Take SUBREG_WORD into
+	account when have STRICT_LOW_PART.
+	(make_extraction): Make a STRICT_LOW_PART at any low-order word.
+
+Mon Apr 15 03:43:11 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* flags.h (flag_function_sections): Declare.
+	* toplev.c (flag_function_sections): Define.
+	(compile_file): Add warnings when -ffunction-sections is
+	used with -g, or profiling.  Disable -ffunction-sections
+	when profiling is used.  Add warning when -ffunction-sections
+	is used on a target that doesn't support it.
+	* varasm.c (named_section): Make a copy of the section name
+	in case the original is in temporary storage.
+	(function_section): Set DECL_SECTION_NAME for each function
+	if flag_function_sections is on and the target supports it.
+	* dbxout.c (dbxout_function_end): New function.
+	(dbxout_function): Call dbxout_function_end if using extensions
+	and flag_function_sections is on.
+	* sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
+	section's name with ".text%" when -ffunction-sections.
+
+Sun Apr 14 19:37:43 1996  Doug Evans  <dje@cygnus.com>
+
+	* toplev.c (main): Delete redundant test for -p used with -fbytecode.
+
+Sun Apr 14 19:01:59 1996  John F. Carr <jfc@mit.edu>
+
+	* c-decl.c (finish_enum): Don't crash if no type can represent all
+	enumeration values.
+
+Sun Apr 14 18:56:40 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* m68k.md (ftruncdf2): Enable for m68060 systems.
+
+Sun Apr 14 18:49:30 1996  David L. Reese  (david.reese@east.sun.com)
+
+	* fold-const.c (range_test):  Don't convert hi_cst or lo_cst
+	to unsigned when folding signed range tests.
+
+Sun Apr 14 08:56:27 1996  Stephen L Moshier  <moshier@world.std.com>
+
+	* real.h (ereal_from_{int,uint}): Add new arg, MODE.
+	(REAL_VALUE_FROM{,_UNSIGNED}_INT): New arg, MODE.
+	* real.c (ereal_from_{int,uint}): New arg, MODE.
+	* cse.c (simplify_unary_operation): Add new arg to REAL_VALUE_FROM_INT.
+	* fold-const.c (fold_convert): Likewise.
+	* tree.c (real_value_from_int_cst): New arg, TYPE.
+	Pass mode to REAL_VALUE_FROM_INT.
+	(build_real_from_int_cst): Properly deal with truncation.
+
+Sun Apr 14 08:21:29 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): When substituting in output of I2,
+	ensure dest isn't clobbered in I2.
+
+	* combine.c (combine_instructions): In initial scan of insns,
+	handle a REG_INC note's affect on sign bit copies and nonzero bits.
+	(set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.
+
+Sun Apr 14 07:52:28 1996  Manor Askenazi  <manor@santafe.edu>
+
+	* objc/encoding.c (objc_skip_typespec): Don't abort for _C_UNDEF.
+
+Sat Apr 13 20:35:36 1996  Richard Henderson  (richard@atheist.tamu.edu)
+
+	* configure (m68k-apple-aux*): Rework to take advantange
+	of list of tm.h files and support all four gas/gld options.
+	* m68k/auxas.h, m68k/auxgas.h, m68k/auxgld.h, m68k/auxld.h: New files.
+	* m68k/auxstd.h, m68k/auxgnu.h: Deleted.
+
+Sat Apr 13 20:18:11 1996  Stephen L Moshier  <moshier@world.std.com>
+
+	* alpha.c (check_float_value): New function.
+	* alpha.h (CHECK_FLOAT_VALUE): Define.
+	(ASM_OUTPUT_FLOAT): Print the value in hex.
+
+Sat Apr 13 15:08:45 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* configure: New target arm{,el}-*-coff*.
+	(cpu_default): Sort alphabetically.
+	* arm/coff.h: New file.
+	* arm/t-bare: New file.
+	* arm/arm.c (use_return_insn): Don't use return for naked functions.
+	(arm_valid_machine_decl_attribute): New function.
+	(arm_naked_function_p): New function.
+	(output_func_prologue): Naked functions don't have prologues.
+	(arm_expand_prologue): Likewise.
+	(output_func_epilogue): Likewise with epilogues.
+
+Sat Apr 13 11:31:32 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.c (adds_subs_operand): Fix thinko in last change.
+
+	* h8300.md (subhi3): Turn into a define_expand.
+	(subhi3 using adds_subs): New pattern.
+	(H8300 subhi): Derived from old subhi pattern.  Simplified.
+	(H8300H subhi): Likewise.
+	(subsi using adds_subs): New pattern.  Only used on H8300H.
+	(subsi_h8300): Allow "a" registers as destination.
+	(subsi_h8300h): Allow "a" registers as destination.  Simplify.
+
+	* h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
+	in last change.
+
+Sat Apr 13 08:59:48 1996  Fila Kolodny <fila@ibi.com>
+
+	* i370/mvs.h (ASM_DECLARE_FUNCTION_NAME): Don't write anything to
+	asm file, because everything is handled in FUNCTION_PROLOGUE.
+
+Sat Apr 13 07:55:38 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (alpha_emit_set_const_1): Renamed from
+	alpha_emit_set_const and static.
+	Remove change of Nov 26; again use normal mechanism for SImode.
+	(alpha_emit_set_const): New function.
+
+Fri Apr 12 18:19:39 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.c (adds_subs_operand, output_adds_subs): New functions.
+	* h8300.md (addhi3): Turn into a define_expand.
+	(addhi3 using adds_subs): New pattern.
+	(H8300 addhi): Derived from old addhi pattern.  Simplified.
+	(H8300H addhi): Likewise.
+	(addsi using adds_subs): New pattern.  Only used on H8300H.
+	(addsi_h8300): Allow "a" registers as destination.
+	(addsi_h8300h):  Simplify.  Allow "a" registers as destination.
+
+	* h8300.md (bcs): New attribute type.
+	(default_length): Compute correct length for bcs insns.
+	(bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
+	to account for correct length computation.
+
+	* h8300/h8300.md (movhi_internal): Demand at least one operand to
+	be a register.
+	(movsi_h8300): Optimize loading certain constants.
+	(movsi_h8300h): Likewise.
+
+	* h8300.h (NO_FUNCTION_CSE): Comment out.
+	(FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
+	(RETURN_IN_MEMORY): Don't return small structs in regs.
+
+	* h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
+	(notice_update_cc): Remove references to "value2" field.
+
+	* h8300.c (dosize): Remove unused "fped" argument.  All callers
+	changed.  Handle add/sub of 5-8 bytes efficiently on the h8300h.
+
+	* h8300.c (print_operand): Handle new 'R' case for accessing
+	the 8-bit area.  Make code for 'Y' fall into code for 'R' when
+	operand is not a register.  Update some comments.
+	(h8300_tiny_data_p): New function.
+	(h8300_valid_machine_decl_attribute): Handle "tiny_data" attribute.
+	* h8300.h (OK_FOR_U): Handle memory references into the
+	8-bit area.
+	(ENCODE_SECTION_INFO): Mark SYMBOL_REFs which refer to 8-bit area.
+	* h8300.md (many patterns): Use 'R' rather than 'X' for
+	operands that may be memory accesses into the 8-bit area.
+	(btst pattern): New pattern to set the cc0 (zbit) based on
+	data in the 8-bit area.
+
+	* h8300.md (one_cmplsi2): Fix length computation for h8300h.
+
+Fri Apr 12 14:34:39 1996  Doug Evans  <dje@cygnus.com>
+
+	* arm.md (*ldmsi,*stmsi): Use (mem (match_operand ...))
+	to avoid using indirect_operand (reload problems).
+	* arm/semi.h (CPP_PREDEFINES): Define __semi__ instead of semi.
+	* arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
+	(ASM_OUTPUT_ADDR_{VEC,DIFF_ELT}): Likewise.
+
+Fri Apr 12 09:43:30 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* dbxout.c (dbxout_typedefs): Don't emit incomplete types yet.
+	(dbxout_symbol): Use DECL_ARTIFICIAL to recognize C++ implicit
+	typedefs.
+
+Thu Apr 11 21:56:26 1996  Doug Evans  <dje@cygnus.com>
+
+	* i386/t-winnt (winnt.o): Rewrite based on .c.o rule.
+	(oldnames.o,spawnv.o): Add rules for.
+
+Thu Apr 11 07:25:06 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call): In inlining case, if BEFORE_CALLS is
+	zero, start looking at first insn.
+
+	* expr.c (preexpand_calls, case CALL_EXPR): Rework to properly
+	avoid expanding functions returning variable size objects.
+
+	* integrate.c (expand_inline_function): When comparing types
+	of formal and actual, use TYPE_MAIN_VARIANT.
+
+Thu Apr 11 00:48:29 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300/lib1funcs.asm (modnorm): New function(s).  Like divnorm,
+	but gets the sign bit right for modulo operations.
+	(__modhi3, modsi3): Use modnorm.
+
+	* h8300/h8300.c (dosize): On the h8300h, do 4 byte adjustments
+	using adds and subs.
+	* h8300/h8300.h (LONG_LONG_TYPE_SIZE): Always make this 32bits.
+	Reverses change from Apr 2, 1996.
+
+Wed Apr 10 18:39:52 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
+	(FUNCTION_PROFILER): Use ASM_GENERATE_INTERNAL_LABEL instead.
+
+	* sparc.c (sparc_override_options): 90c701 renamed to tsc701.
+	(eligible_for_epilogue_delay_slot): Don't allow anything if
+	-mbroken-saverestore.
+	(output_function_prologue): Only use trivial save's if
+	-mbroken-saverestore.
+	* sparc.h (CPP_SPEC): Handle -mcpu={sparclet,tsc701}.
+	(ASM_SPEC): Likewise.
+	({MASK,TARGET}_BROKEN_SAVERESTORE): Define.
+	(enum processor_type): 90C701 renamed to TSC701.
+	* sparc.md (attr cpu): 90c701 renamed to tsc701.
+	* sparc/splet.h (SUBTARGET_SWITCHES): Recognize -mbroken-saverestore.
+
+Wed Apr 10 17:56:02 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* m88k/dgux.h (EXTRA_SPECS): Define.
+	(ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
+	* m88k/dguxbcs.h (ASM_SPEC,CPP_SPEC,STARTFILE_SPEC): Use EXTRA_SPECS.
+	* m88k/m88k.c (output_ascii) Output literal HT.
+
+Wed Apr 10 17:28:37 1996  James Carlson  (carlson@xylogics.com)
+
+	* configure: Work around AIX bug when defining SUBDIRS.
+
+Wed Apr 10 17:22:42 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cexp.y (parse_number): Don't reject long long constants unless
+	pedantic.
+
+Wed Apr 10 17:19:56 1996  Stephen L. Moshier  (moshier@world.std.com)
+
+	* real.c (e64toe): Properly distinguish between NaN and infinity
+	bit patterns for real-words-big-endian targets.
+
+Wed Apr 10 17:17:26 1996  Richard Earnshaw  (rearnsha@armltd.co.uk)
+
+	* real.c (endian): Add two explicit casts.
+	(e64toe): Support ARM extended precision fp format.
+	Check negative infinities properly for NaNs.
+	(toe64): Support ARM extended precision fp format.
+
+Tue Apr  9 12:53:31 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* i386/gas.h (ASM_OUTPUT_ALIGN): Define and use .balign.
+
+Tue Apr  9 12:48:45 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* sparc.c (fp_zero_operand): Exclude -0.0.
+
+Tue Apr  9 07:11:24 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c: Fix typo in last change.
+
+	* tree.c (substitute_in_expr): Don't return new expression if
+	nothing changed.
+	(substitute_in_type): Deleted, not used.
+	* tree.h (substitute_in_type): Delete declaration.
+
+Mon Apr  8 16:30:18 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* flow.c (find_auto_inc): Also make sure there aren't
+	any sets of the incremented register between the memory
+	reference and increment insn.
+
+Mon Apr  8 15:41:14 1996  John Polstra  (jdp@polstra.com)
+
+	* configure (i[3456]86-*-freebsdelf*): New target.
+	* i386/freebsd-elf.h: New file.
+	* i386/x-freebsd (USER_H): New define; to null.
+
+Mon Apr  8 14:44:41 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (finish_function): Always warn if main doesn't return int.
+
+Mon Apr  8 13:01:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (got_operand): New function, returns true if the
+	operand can go in V.4's GOT.
+	(rs6000_pic_register): New variable.
+	(output_epilog): Reset rs6000_pic_register.
+
+	* rs6000.h (rs6000_pic_register,got_operand,flag_pic): Add
+	declarations.
+	(PREDICATE_CODES): Add got_operand.
+
+	* rs6000.md (movsi): Add support for V.4's -fpic and -FPIC.
+	(init_v4_pic): Initialize the V4 pic register if needed.
+	(call patterns): If -fpic/-fPIC, call function with @plt suffix.
+
+	* t-eabigas (MULTILIB_DIRNAMES): Remove errant pic directory.
+
+	* rs6000.c (output_prolog): Correctly store & restore the
+	arguments to main in their correct save location, when calling the
+	start function.
+
+Mon Apr  8 13:01:37 1996  David Reese  <Dave.Reese@East.Sun.COM>
+
+	* rs6000.c (print_operand): Use reg_names to print registers.
+
+Fri Apr  5 00:40:19 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.c (h8300_valid_machine_decl_attribute): Use underscores,
+	not dashes in attributes.
+	(h8300_funcvec_function_p): Corresponding changes.
+	(h8300_interrupt_function_p): Likewise.
+
+	* pa.h (INIT_CUMULATIVE_INCOMING_ARGS): Initialize "indirect"
+	field to zero.
+
+Thu Apr  4 12:52:11 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* loop.c (combine_givs): Use new macro GIV_SORT_CRITERION.
+	New variable giv_array.  Loop over giv_array instead of following
+	next_iv links.
+	(giv_sort): New function.
+	* sh.h (GIV_SORT_CRITERION):  Define.
+
+	* c-typeck.c (push_init_level): When output alignment for structure
+	field, add check to verify it is the next field to be output.
+
+Thu Apr  4 12:19:26 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
+
+	* alpha.c: Don't include stamp.h for Linux.
+
+Thu Apr  4 12:17:08 1996  Richardg Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* objc/Makefile: Rename thread* to thr*.
+	* objc/thread.c: Rename thread-* to thr-*.
+	* objc/thr-decosf1.c: Renamed from thread-decosf1.c
+	* objc/thr-irix.c: Renamed from thread-irix.c.
+	* objc/thr-single.c: Renamed from thread-single.c.
+	* objc/thr-solarius.c: Renamed from thread-solaris.c.
+	* objc/thr-win32.c: Renamed from thread-win32.c.
+	* objc/objc-api.h: Include thr.h, not thread.h.
+	* objc/runtime.h, objc/sarray.h: Likewise.
+
+	* i386.md (ashldi3_const_int): Don't recognize if won't match
+	constraint of operand 2.
+
+Thu Apr  4 11:40:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* config/fp-bit.c (EXTENDED_FLOAT_STUBS): If EXTENDED_FLOAT_STUBS
+	is defined, define all of the XF/TF functions that might be
+	generated that we don't have code for yet.
+
+	* i960/t-(vxworks960,960bare): (LIB2FUNCS_EXTRA): Make and
+	compile xp-bits.c that defines EXTENDED_FLOAT_STUBS.
+
+	From: steve chamberlain  <sac@slash.cygnus.com>
+	* i386/x-cygwin32 (LANGUAGES): Delete.
+	* i386/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
+	* rs6000/xm-cygwin32.h (EXECUTABLE_SUFFIX): Set to .exe.
+
+Wed Apr  3 14:10:16 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* expr.c (emit_push_insn): Clobber register only if it is non-zero.
+
+Wed Apr  3 11:31:55 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.h (h8300_funcvec_function_p): Declaration moved here.
+	* h8300.c (h8300_funcvec_function_p): Declaration removed from here.
+	* h8300.md (tstqi): Tweak to work like other tstXX patterns.
+	(cmphi): Turn into a define_expand.  Add two anonymous
+	matterns to match the output of the cmphi expander.
+	(cmpsi): Accept constants as the second input operand.
+
+Tue Apr  2 13:52:30 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.md (movqi_internal): Remove useless alternative(s).  Fix
+	lengths and simplify by reordering remaining alternatives.
+	(movstrictqi, movhi_internal, movstricthi): Likewise.
+	(movsi_h8300h, movsf_h8300h): Likewise.
+
+	* h8300/h8300.c (extra_pop): Remove unused variable.
+	(current_function_anonymous_args): Likewise.
+	(function_prologue): Remove incorrect varargs/stdarg
+	related code.
+	(function_epilogue): Likewise.
+	(function_arg): Never pass unnamed arguments in registers.
+	* h8300.h (LONG_LONG_TYPE_SIZE): Use 64bits when ints are 32bits.
+	(SETUP_INCOMING_VARARGS): Remove definition.
+
+Mon Apr  1 16:59:48 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Fix signal prototype on SunOS to avoid pedantic C++
+	error.
+
+Mon Apr  1 16:16:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (get_inner_reference): When finding mode to access bitfield
+	that ends up properly aligned, use mode class of its type unless
+	type's mode was BLKmode.
+
+Mon Apr  1 13:45:30 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.c (interrupt_handler): Renamed from pragma_interrupt.
+	All references changed.
+	(function_prologue): Set interrupt_handler if the current
+	function has the "interrrupt-handler" attribute.
+	(small_call_insn_operand): New function.
+	(h8300_interrrupt_function_p): New function.
+	(h8300_funcvec_function_p): New function.
+	(h8300_valid_machine_decl_attribute): New function.
+	* h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Define.
+	* h8300.md (call insns): Handle calls through the
+	function vector.  Indirect calls and calls through
+	the function vector have a length of two bytes.
+
+See ChangeLog.10 for earlier changes.
diff --git a/gcc/ChangeLog.0 b/gcc/ChangeLog.0
new file mode 100644
index 0000000..2e413b1
--- /dev/null
+++ b/gcc/ChangeLog.0
@@ -0,0 +1,6671 @@
+
+Wed Dec 21 02:46:34 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.32 released.
+
+	* toplev.c (main): Vax pcc enforces goto-less programming
+	with fatal error.
+
+	* stmt.c (fixup_memory_subreg): New arg INSN says where to emit insns.
+	(walk_fixup_memory_subreg): Likewise.  All callers changed.
+
+Tue Dec 20 01:26:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (start_function): Don't clear TREE_PERMANENT in fn decl.
+	Make the result decl a permanent node.
+	(finish_function): Don't clear DECL_RESULT in an inline function.
+	(duplicate_decls): Don't lose DECL_RESULT or DECL_SAVED_INSNS
+	or old decl, when defn is followed by redeclaration.
+	Likewise DECL_ARGUMENTS and DECL_RESULT_TYPE.
+
+	* stmt.c (expand_function_end): End any sequences left unterminated.
+
+	* cse.c (predecide_loop_entry): If "loop" has no label, do nothing.
+
+	* recog.c (asm_noperands): Now return -1 if not that kind of insn.
+	All callers changed.
+	* combine.c (check_asm_operands): Calling changes not quite trivial.
+	* final.c (final): Likewise.
+	* reload.c (find_reloads): Likewise.
+	* recog.c (asm_noperands): Other changes:
+	Loop computing # of SETs in a PARALLEL was off by 1.
+	Validate all elts of any PARALLEL, to block invalid combinations.
+
+	* ns32k.md (andsi3, andhi3): Make new CONST_INTs; don't clobber old.
+
+	* integrate.c (copy_rtx_and_substitute): When looking in `parm_map',
+	if our mode mismatches parm's mode, use change_address to extract part.
+	On BYTES_BIG_ENDIAN machines, adjust the offset.
+
+Mon Dec 19 23:50:14 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cexp.y ('/' and '%' ops): If divide by 0, print error, don't die.
+
+Sun Dec 18 14:03:02 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c (main): Avoid shadowing I in inner block.
+
+	* flow.c (propagate_block): The insn at the end of a libcall
+	may be dead, but the libcall might still be needed if the
+	hard return reg is used later.  Detect this case.
+	(libcall_dead_p): New fn used to check that the libcall is dead.
+
+	* output-m68k.c, tm-m68k.h (standard_sun_fpa_constant_p): Fn renamed.
+
+Sat Dec 17 13:23:51 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_end_bindings): error_with_file_and_line => ..._decl.
+
+	* combine.o (try_combine): Accept combination making a valid
+	asm with operands.
+	(check_asm_operands): Recognize asm with operands that are valid.
+
+	* loop.c (strength_reduce): Don't accept a reg as a giv
+	if the reg was made by loop-optimize.
+
+	* stmt.c (balance_case_nodes): A list of 3 always splits in middle.
+
+Fri Dec 16 17:22:07 1988  Tiemann  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (fetch from constant address): Split into two patterns,
+	one fixed point and one floating.
+	(store at constant address): Handle remembered hi-half differently.
+	Other bug fixes.
+	(fix_truncsfsi2): Use f1, not f0, as temp.
+	(fix_truncdfsi2): Don't clear CC_F1_IS_0.
+
+	* output-sparc.c (singlemove_string): Changed handling of case
+	where op1 is not memory and op0 has varying address.
+	(output_fp_move_double): Avoid reloading high half address
+	in the ldd and std cases with constant address.
+	(make_f0_contain_0): Handle f0 and f1 individually.
+
+	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): CONST is now illegitimate.
+
+	* rtl.c (note_stores): Pass entire SET rtx, not flag, as 2nd arg to FN.
+	* local-alloc.c (reg_is_set): New type for 2nd arg.
+
+	* Makefile: Comment out cc1plus, since not ready for release.
+
+Thu Dec 15 16:39:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* local-alloc.c (reg_is_set): If a hard reg is clobbered, make it free
+	before and after the insn.
+	* stupid.c (stupid_mark_refs): Likewise.
+	* global-alloc.c (global_conflicts): Likewise.
+	Use note_stores to call mark_reg_{store,clobber}.
+	(mark_reg_store): Changed calling conventions
+	All work done on set/clobbered regs is now done here.
+	Ignore CLOBBERs.
+	(mark_reg_clobber): Similar fn, but ignore SETs and handle CLOBBERs.
+	(regs_set, n_regs_set): New static vars for comm. among the above.
+
+	* stmt.c (expand_asm_operands): call protect_from_queue on operands.
+	This requires preexpanding the outputs into a vector of rtx's.
+
+	* Makefile (install): cd to $(libdir) before ranlib.
+
+	* c-typeck.c (c_expand_asm_operands): emit_queue at the end.
+
+	* reload.c (find_reloads): Count # alternatives properly for
+	an asm insn, and check that all operands correspond.
+
+	* loop.c (verify_loop): Reject loops containg setjmps.
+	* cse.c (cse_main): Don't cse across a call to setjmp.
+
+	* expr.c (expand_expr): Permit any non0 DECL_RTL for a VAR_DECL.
+
+	* stmt.c (balance_case_nodes): Count ranges double when balancing.
+
+Wed Dec 14 13:50:45 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c (output_addr_const): Output just `-', not `+-'.
+
+	* make-cc1.com: Update filenames changed to `c-'.
+	* make-cccp.com: Pass needed -D options when compiling cccp.c.
+	Use /nomap when linking.
+
+	* loop.c (strength_reduce): Paraphrase setting NEW_REG, for Iris cc.
+
+	* output-m68k.c (output_move_const_single): %'s must be doubled twice.
+
+	* loop.c (record_giv): A giv can be replaceable if its uses are
+	all in the same basic block as its sole setting.
+	(last_use_this_basic_block): Subroutine to test that.
+
+Tue Dec 13 13:41:57 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (do_store_flag): Allow for COMPARISON to be a const_int.
+
+	* c-decl.c (pushdecl): Warn if type mismatch with another external decl
+	in a global scope.
+
+	* fixincludes: Fix typo in msg of deleting unchanged file.
+
+	* Makefile (insn-*): Use two-step rules with a separate time-stamp file
+	to avoid rerunning gen* unless md has changed again.
+
+Mon Dec 12 13:32:05 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (tstsf, tstdf, cmpsf, cmpdf): Use fnstsw, not fstsw.  Faster.
+
+	* tm-vax.h (ASM_OUTPUT_REG_POP): Use correct asm syntax for pop insn.
+
+	* combine.c (subst): Handle (subreg (mem)) by making a changed mem.
+	This avoids producing any (subreg (mem))s except in the special
+	case they are supposed to be made here.
+	Also set undo_storage in a couple of cases that forgot to.
+
+	* reload.c (push_reload): When handling (SUBREG (MEM)) for IN,
+	if there is an OUT, make that a separate reload.
+	Return its number in `output_reloadnum'
+	(find_reloads): When pushing matching-reloads, note that the
+	two operands can have different reload-numbers.
+
+	* tm-3b1.h (ASM_OUTPUT_CASE_END): Test flag on TABLE, not its pattern.
+	(ASM_OUTPUT_CASE_LABEL): If /i flag set, don't output the dummy entry
+	since the fetcher-insn will not be off by 2 in this case.
+	* m68k.md (casesi_2 recognizer): For 3b1 syntax, compensate for that.
+
+Sun Dec 11 12:51:49 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* genrecog.c (try_merge_2): No longer put all explicit decompositions
+	before all predicates.  Patterns are now tested in the order written.
+	* vax.md: Move the push-or-move-address patterns to the end.
+	* m68k.md: Move load-address pattern to end.
+	Rearrange the special-case movsi patterns.
+	* ns32k.md: Move special load-reg-17 pattern before movsi.
+	* i386.md: Move the QI and DI push patterns to logical places.
+	This should not actually change anything.
+
+	* stmt.c: Add Andy Hitchins's binary-tree case statement code.
+	(struct case_stmt): case_list field is now a case_node chain.
+	Replace has_default field with default_label field.
+	(pushcase, pushcase_range): Build case_list in its new type,
+	and keep it sorted.
+	(expand_end_case): Use case_list in its new type.
+	Count a range of > 1 as two cases, when choosing strategy.
+	(group_case_nodes, balance_case_nodes): New fns, rearrange case_list.
+	(node_has_{low,high}_bound, node_is_bounded): New fns test
+	relationships of values of various case_list tree nodes.
+	(emit_jump_if_reachable): New fn.
+	(emit_case_nodes): Emit compares and jumps based on tree of case_list.
+
+	* cccp.c (finclude): Handle nonordinary files (stat doesn't give size).
+
+	* tm-3b1.h (PRINT_OPERAND_ADDRESS): Handle case of breg and no ireg.
+
+Sat Dec 10 16:30:32 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (movstrsi): Separate define_expand and define_insn;
+	clobber some pseudos to get temp regs to use in the output.
+	* output-sparc.c (output_block_move): Use those temp regs,
+	guaranteed to be free.
+
+	* sparc.md (andcc patterns for bitfields from memory):
+	Test immed. arg for being in range.
+	(load DFmode constant): Use %m for output in one case.
+	* output-sparc.c (singlemove_string, output_move_double): Likewise.
+
+	* output-sparc.c (singlemove_string): New case for mem-to-mem move.
+
+Fri Dec  9 11:42:15 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stupid.c (stupid_mark_refs): for CLOBBER of a pseudo,
+	it is born just before this insn and dies just after.
+
+	* tm-vax.h (NOTICE_UPDATE_CC): For aob, sob insns, forget the cc's.
+
+	* basic-block.h (REG_BLOCK_UNKNOWN, REG_BLOCK_GLOBAL): Move defn here.
+	* local-alloc.c: Use them.
+
+	* c-decl.c (store_parm_decls): Additional explanatory message
+	for some prototype mismatches.
+
+	* gnulib.c (SItype): New macro used instead of `int'
+	for SImode operands and values.  Definition is `long int'.
+
+Thu Dec  8 18:45:48 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (operands_match_p): Move the label `slow' so that
+	it doesn't cause a REG and a SUBREG to be compared wrong.
+
+	* toplev.c (compile_file): Output a label `gcc_compiled.' for GDB.
+	If new macro ASM_IDENTIFY_GCC is defined, run that instead.
+	* tm-3b1.h (ASM_IDENTIFY_GCC): Define this as no-op.
+
+Wed Dec  7 12:20:42 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (adddf3): Typo: paren was in a constraint.
+
+	* c-decl.c (grokparms): Avoid duplicate msgs for incomplete type ptrs.
+
+	* gnulib.c: Rename all fns to start with `__'.
+	* optabs.c, expr.c: Rename all references.
+
+	* gnulib.c (__cmpdi2, __ucmpdi2): New fns.
+	* optabs.c (emit_cmp_insn): Use them.
+
+	* Makefile (stage*): Ignore errors on the main `mv' (for cc1plus).
+	Run ranlib if we have to copy gnulib.
+
+	* expmed.c (expand_divmod): Split `label' into several local vars.
+
+	* jump.c (jump_back_p): Do nothing unless cc's were set from integers.
+
+Tue Dec  6 12:00:21 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (extend_token_buffer): Use xrealloc, not realloc.
+
+	* integrate.c (output_inline_function): fix args of expand_function_end
+	(expand_inline_function): Add missing arg to expand_end_bindings.
+
+	* cse.c (cse_insn): Add missing MODE arg to canon_hash.
+
+	* reload1.c (reload_as_needed): Del. extra arg of choose_reload_targets
+	(reload): Add missing MODE arg to immediate_operand.
+
+	* expmed.c (expand_mult): Delete extra arg to expand_unop.
+
+	* c-typeck.c (default_conversion):
+	Add missing NOCONVERT arg to build_unary_op.
+
+	* c-decl.c (duplicate_decls, finish_struct): Add missing arg
+	KNOWN_ALIGMENT to layout_decl.
+	* stor-layout.c (layout_record): Likewise.
+	* varasm.c (assemble_variable): Likewise.
+
+	* dbxout.c (dbxout_init): Add missing LOCAL arg to dbxout_symbol.
+
+	* expr.c (clear_storage): Remove excess arg to emit_move_insn.
+
+	* loop.c (consec_sets_invariant_p): Add parens in hairy if-condition.
+
+	* fold-const.c (fold): Typo, missing `case'.
+
+	* cccp.c (main): Typo handling `-I-' option.
+
+	* tm-i386.h (NO_FUNCTION_CSE): Define this; cse is said to slow
+	things down with less than 7 calls.
+
+	* stmt.c (fixup_var_refs_insn): When scanning the reg-notes,
+	don't touch other insns they point at.
+
+	* expr.c (do_jump): Use invert_exp, not reverse_condition,
+	to invert sense of a jump.
+	* jump.c reverse_condition now static, invert_exp now global.
+
+Mon Dec  5 10:51:39 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sun386.h (ASM_FILE_START): In the .file arg, exclude directories.
+
+	* stmt.c (expand_expr_stmt): If -W, warn if stmt has no side effect.
+
+	* cccp.c (monthnames): Capitalize each name.
+
+	* rtl.def: New code MATCH_OPERATOR.
+	* genconfig.c (walk_insn_part): Handle it.
+	* genextract.c (walk_rtx): Handle it.
+	* genpeep.c (match_rtx): Handle it.
+	* genrecog.c (add_to_sequence): Handle it.
+	* genemit.c (max_operand_1, gen_exp, gen_expand): Handle it.
+	* genoutput.c (scan_operands): Handle it.
+	(insn_n_alternatives): New array in the output.
+	(struct data): New slots n_alternatives and op_n_alternatives.
+	(scan_operands, gen_insn, gen_peephole):
+	Record op_n_alternatives for each operand.
+	(output_epilogue): Verify that all operands have same # of alternatives
+	Also output insn_n_alternatives.
+
+	* reload.c (find_reloads): use insn_n_alternatives to control
+	the loop over all alternatives.
+	An empty constraint or empty alternative in a constraint
+	is always satisfied.
+	* recog.c (constrain_operands): Likewise.
+
+	* c-decl.c (lang_decode_option): For each -f option, recognize a form
+	with `no-' and a form without, as contraries.
+
+	* toplev.c (main): Decode -f options using a table
+	so that each option automatically has a `no-' variant.
+
+	* combine.c (try_combine): Give up if I1 or I2 follows a compare insn.
+
+Sun Dec  4 12:00:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (data_section): If flag_shared, use SHARED_SECTION_ASM_OP
+	if that is defined.
+
+	* cccp.c (include_default): Add /usr/local/include.
+
+	* Makefile (install): Install the makefile.
+
+	* varasm.c (assemble_external): New fn to declare an external.
+	(assemble_variable): Output nothing for externals.
+	* c-parse.y (primary => identifier): Call assemble_variable on 1st use.
+
+	* toplev.c (main): Print version info on stderr, not stdout.
+	* tm-*.h (TARGET_VERSION): Likewise.
+
+	* tm-isi68.h, tm-news800.h: Rename __HAVE_FPU__ to __HAVE_68881__.
+
+	* sparc.md (seq, etc): Entire page rewritten by Tiemann
+	to avoid incorrect use of PARALLEL.
+	* output-sparc.c (gen_scc_insn): Corresponding changes.
+
+Sat Dec  3 00:03:19 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (do_spec_1): %P is an ANSIfied form of %p:
+	put __ at beg and end of each predefined macro name.
+
+	* tm-sun3.h (CPP_SPEC): Don't define -Dmc68010, etc., if -ansi.
+	* tm-sun2.h (CPP_SPEC): Likewise.
+
+	* c-decl.c (shadow_tag): Don't complain if declare a new tag
+	at top level, or if redeclare a tag.
+
+	* c-decl.c (grokparms): Warn if parm points to incomplete type.
+	(We already err if its own type is incomplete.)
+
+	* stmt.c (fixup_var_refs_insns): Fix any (SUBREG (MEM)) in REG_NOTES.
+	(walk_fixup_memory_subreg): New subroutine used for this.
+
+	* integrate.c (copy_rtx_and_substitute): Handle MEM refs to the middle
+	of a stack-parm--at least in the case of reading the parm.
+
+	* rtl.c (rtx_equal_p): REG_FUNCTION_VALUE_P is significant
+	only until end of reload pass.
+	* toplev.c (rest_of_compilation):
+	Control that by setting new var rtx_equal_function_value_matters.
+
+	* c-decl.c (init_decl_processing): Don't declare the builtins
+	that aren't really implemented.
+
+	* output-sparc.c (output_move_double): "in structure" implies
+	8-byte alignment only for DFmode, not for DImode.
+
+	* final.c (output_operand_lossage): Cleaner text for error msg.
+	No longer need to write text into .s file, now that linenum is correct.
+
+	* c-decl.c (pushdecl): -traditional stops warning
+	about "declared extern, later static".
+
+	* c-typeck.c (build_indirect_ref): Don't handle flag_volatile here.
+	* expr.c (expand_expr): Handle it here, in INDIRECT_REF case.
+	This prevents -fvolatile from causing additional warnings.
+
+	* output-sparc.c (output_load_address): Allow REG+REG for operands[3].
+
+	* m68k.md (movsi): If we output the label LIn,
+	set the RTL_INTEGRATED flag in the switch table's pattern.
+	* tm-3b1.h (ASM_OUTPUT_CASE_END): Define LD%n only if LI%n was output.
+
+	* i386.md (push-and-add pattern): Comment it out.
+	It's said to result in slower code.
+
+	* i386.md (tstqi, tsthi, tstsi): Output real `test' insn if op is reg.
+
+	* i386.md (push for DI): Allow `oiF' for 2nd operand.
+
+Fri Dec  2 13:57:35 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (movdi): Allow F constraint for 2nd operand.
+
+	* i386.md (push for QI): define pattern to push a QImode
+	which really uses pushw and therefore really pushes a halfword.
+	* tm-i386.h (PUSH_ROUNDING): Round up to multiple of 2.
+
+	* gcc.c (do_spec_1): Handle %e, which means report an error.
+	Use it to prohibit -pg with -fomit-frame-pointer.
+
+	* tree.h (DECL_RESULT_TYPE): New field in FUNCTION_DECL holds the type
+	of the widened returned value (not nec. the declared return type).
+	* c-decl.c (start_function): Set DECL_RESULT_TYPE.
+	* integrate.c (expan_inline_function): Use that, not DECL_RESULT.
+
+Thu Dec  1 16:44:10 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (fold_rtx): When reordering constant args, insist on
+	manifest constants; regs with known contents won't do.
+
+	* i386.md (mulsi3): Don't use rtx_equal_p to compare regs.
+
+	* expr.c (move_by_pieces_1): Don't call change_address
+	if address is autoinc, since that may not be memory_address_p.
+	Subroutine-macro add_offset deleted.
+
+	* optabs.c (bcc_gen_fctn, setcc_gen_fctn): Moved to this file.
+	(init_optabs): Init those tables here.
+	* expr.c (init_conditions): Not here.
+
+	* stmt.c (assign_stack_local): Make a list of all stack slots.
+	* emit-rtl.c (unshare_all_rtl): Unshare all the stack slots.
+
+	* final.c (final): Handle BARRIER with ASM_OUTPUT_ALIGN_CODE.
+	* tm-ns32k.h (ASM_OUTPUT_ALIGN_CODE): Align to 4-byte bdry.
+??	* tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Override: just 2-byte bdry.
+
+	* tm-m68k.h (PRINT_OPERAND): use new macros to print floats.
+	(ASM_OUTPUT_FLOAT_OPERAND): New macro.
+	(ASM_OUTPUT_DOUBLE_OPERAND): New macro.
+	* tm-sun3.h: Override those macros, to check for infinities.
+
+Wed Nov 30 06:35:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-ns32k.h (FUNCTION_{PRO,EPI}LOGUE): if no frame pointer,
+	do explicit push or pop insns.
+
+	* tm-genix.h (PRINT_OPERAND): Fix typo `file'.
+	Extedn decl for paren_base_reg_printed.
+	(MAIN_FUNCTION_PROLOGUE): Deleted.
+	(ASM_OUTPUT_EXTERNAL): Defined.
+
+	* c-parse.y (yyerror): Better error msg for unprintable char in token.
+	(primary => identifier): Set TREE_USED if implicit decl made.
+
+	* Makefile (cleanlinks): New target.
+	(INSTALL): New variable, has program used for installing files in sys.
+
+	* output-ns32k.c (print_operand_address): If addr is sum of 2 consts,
+	output ADDR first, then OFFSET.
+
+	* ns32k.md (addsi3): Allow adding const+reg with result in another reg.
+
+	* tm-seq386.h (FUNCTION_PROFILER): Provide overriding definition.
+
+	* tm-hp9k320.h: Alternate ASM_SPEC if using GAS.
+	Define STANDARD_STARTFILE_PREFIX if using GAS.
+	(FUNCTION_PROLOGUE): on 68020 for big stack frame use link.l.
+
+	* gcc.c (STANDARD_STARTFILE_PREFIX): New cust. macro replaces `/lib/'.
+
+	* va-sparc.h, va-spur.h: Prefix non-interface identifiers with `__'.
+
+	* optabs.c (init_optabs): Don't set up libcalls for ftrunc_optab
+	because (1) they aren't supported and (2) they are never used.
+
+	* gnulib.c (__builtin_saveregs): If not sparc, define the symbol anyway
+	to avoid a warning in ranlib.
+
+Mon Nov 28 01:46:12 1988  Michael Tiemann  (mdt at choctaw)
+
+	* c-parse.y (yylex): Typo, `=' for `==' making wide strings.
+
+	* sparc.md (various places): make sure that all patterns which store
+	can store using const0_rtx (i.e., make all operands to `st' %rx).
+
+	* output-sparc.c (various places): changed dispatches on SYMBOL_REF
+	to dispatches on CONSTANT_ADDRESS_P since we now recognize any CONST
+	(and not just SYMBOL_REFs).  Don't recognize special case CONST for
+	output_block_move.  Compiler doesn't have enough information to use
+	it.
+
+	* stmt.c (expand_fixup): If the control stack is nested within the
+	nesting stack, then no fixup is needed.  Otherwise, compiler must
+	check for possible fixups between the current nesting stack and the
+	nesting stack that immediately contains the control stack.
+
+	* stmt.c (expand_function_start): functions which are nested use
+	DECL_CONTEXT.  For these functions, test that their DECL_CONTEXT is
+	a LET_STMT node.
+
+	* tree.h: declare `build_offset_type'.
+
+Sun Nov 27 10:34:53 1988  Richard Stallman  (mdt at yahi)
+
+	* output-sparc.c (output_move_double):
+	Don't try to use ldd/std if OP1 is a constant.
+	* sparc.md (movdi): Allow immediate args moved into general regs.
+
+	* c-decl.c (grokparms): Reject incomplete parm types even if just
+	declarating, not defining.  Change types to error_mark_node
+	in both the PARM_DECL and the list of types.
+
+	* dbxout.c (dbxout_type): It's not a bug if a RECORD_TYPE
+	has a typedef as its TYPE_NAME.  That happens in C++.
+
+	* Make each `asm' with operands record its source file/line
+	with reg-notes.  It doesn't work to emit a special note before the insn
+	because the insn can be moved by loop_optimize.
+	* stmt.c (expand_asm_operands): New args FILENAME, LINE.
+	Record them in the insn, in reg notes.
+	* c-typeck.c (c_expand_asm_operands): New args, passed along.
+	* c-parse.y: Pass those args.
+	(maybe_type_qual): Line #s for asm stmts emitted like all others.
+	* rtl.h (REG_ASM_FILE, REG_ASM_LINE): New kinds of reg notes.
+	* toplev.c (error_for_asm): Get the info from those notes.
+
+	* reload.c (find_reloads): Don't clear BADOP for a reg letter
+	if the alternative ultimately doesn't allow any regs.
+
+	* reload.c (find_reloads): If an `asm' insn gets an error,
+	change it to a USE to avoid duplicate error msgs or later trouble.
+
+	* reload.c (find_reloads_address): Reloading a constant address,
+	specify Pmode as the mode for push_reloads, in case of CONST_INT.
+
+	* expr.c (emit_push_insn): Fix calc. of space needed when PARTIAL > 0.
+	Both scalar case and BLKmode case needed fixing.
+
+	* sparc.md (load/store constant address):
+	Moving DF from mem to cpu regs, don't go via %f0.
+	Don't use std/ltd if alignment is wrong or uncertain.
+
+Sun Nov 27 10:34:53 1988  Michael Tiemann  (mdt at yahi)
+
+	* reload.c (push_reload): Allow VOIDmode for INMODE, OUTMODE;
+	default the mode from the operand values.
+
+	* sparc.md: remove patterns which generate annulled branch insns.
+	They are correct, but those insns confuse GDB.
+
+	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS):
+	Treat any constant address like a SYMBOL_REF.
+	* sparc.md: Check for CONSTANT_ADDRESS_P rather than SYMBOL_REF.
+
+	* sparc.md: Peepholes now accept SYMBOL_REF addresses.
+	The output routine can now split them properly even as delay insns.
+
+	* print-tree.c (dump): added entry for METHOD_TYPE and
+	METHOD_CALL_EXPR.  Also added entry for WITH_CLEANUP_EXPR.  Suggest
+	that we make first_rtl of WITH_CLEANUP_EXPR 2 instead of 1.
+
+Sun Nov 27 00:15:33 1988  Michael Tiemann  (mdt at yahi)
+
+	* print-tree.c (dump): added entry for OP_IDENTIFIER.
+
+	* tree.c (build_op_identifier): new function.  Needed because
+	`build_nt' expects an "e" node, but OP_IDENTIFIER is an "x" node.
+
+	* store_layout.c (layout_record): use DECL_FIELD_CONTEXT instead of
+	DECL_CONTEXT.
+
+	* tree.h (DECL_FIELD_CONTEXT): new macro.  Points to the type that a
+	FIELD_DECL is a member of.  For C, this is just DECL_CONTEXT.
+
+	* tree.c (build_method_type): typo used "==" to assign basetype to
+	TYPE_METHOD_BASETYPE with predictably poor results.
+
+Sat Nov 26 22:55:32 1988  Michael Tiemann  (mdt at yahi)
+
+	* output-sparc.c (output_sized_memop): new function to output a load
+	or store insn based on the size of the operand loaded or stored.
+	(make_f0_contain_0): use info from condition codes to decide whether
+	the register %f0 needs to have 0 loaded from memory or not in order
+	to contain zero.
+	(gen_scc_insn): new function used by define_expands for
+	set-on-condition-code insns.
+	(output_delay_insn): now knows how to handle load and store
+	scheduling when the load or store operation takes two insns instead
+	of one.  The rewrite is now understands is this:
+
+	  sethi %hi(address),%g1	-> sethi %hi(address),%g1
+	  ld/st [%g1+%lo(address)],%reg	-> b target
+	  b	target			-> ld/st [%g1+%lo(address)],%reg
+	  nop				-> ;; gone
+
+	* jump.c (reverse_condition): make this function publicly visible,
+	now needed in expr.c.
+
+	* output-sparc.c (reg_or_0_operand): new function, returns nonzero
+	if operand is const0_rtx or a register of specified mode.
+	(hardreg): deleted.
+
+	* expr.c, stmt.c: fixed random syntax errors.
+
+	* tree.c (build_method_type): now corresponds to defn in tree.def
+	  expr.c (expand_call): removed code to get FUNCTION_TYPE from
+	  METHOD_TYPE.  This should probably be looked at harder.
+
+	* tree.def (METHOD_TYPE): Changed definition so that TREE_TYPE (m)
+	(where m is a METHOD_TYPE) is the type of the return value of the
+	method, not the FUNCTION_TYPE from which the METHOD_TYPE is derived.
+	
+	* Makefile: Changed target of BINDIR from /usr/local to
+	/usr/local/bin.
+
+Sat Nov 26 16:29:22 1988  Michael Tiemann  (mdt at chickasaw)
+
+	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Allow any SYMBOL_REF.
+	(NOTICE_UPDATE_CC): Remember high half of %g1 as a "condition code"
+	to avoid reloading it if it does not change.
+	(NOTICE_UPDATE_CC): Test SET_SRC, not SET_DEST, for a CALL rtx.
+	(PRINT_OPERAND): New code-letter `m' says output operand as an address.
+
+	* toplev.c (flag_syntax_only): New flag variable.
+	* flags.h: Likewise.
+
+	* toplev.c (error_with_decl): Extra arg, passed to fprintf.
+	(warning_with_decl): Likewise.
+
+	* tree.c (build_offset_type): New function.
+
+	* tree.h (TYPE_METHOD_BASETYPE): New name for TYPE_METHOD_CLASS.
+	Uses in tree.c and... renamed.
+
+	* combine.c (SUBST_INT): New macro, for replacing an int.
+	(subst): Collapse nested SUBREGs even if SUBREG_WORDs are not 0.
+
+	* expr.c (bcc_gen_fctn, setcc_gen_fctn): new tables,
+	initialized in init_comparisons.
+	Used in expand_expr, do_jump, do_store_flag
+	instead of explicit construction of a jump.
+
+	* expr.c (save_noncopied_parts): New function.
+
+	* expr.c (expand_expr):
+	  ARRAY_REF: Special case for array of constants.
+	  WITH_CLEANUP_EXPR: Handle it.
+	  INIT_EXPR: Case deleted.
+	  MODIFY_EXPR: Use save_noncopied_parts.
+
+	* expr.c (expand_call): blkmode_parms_forced can be >0
+	even when no stack arg space otherwise needed.
+	Don't use a hard reg as a target if there are cleanups.
+
+	* stmt.c (struct block): New elt. outer_cleanups.
+	(struct case): New elt. num_ranges.
+	(struct fixup): Changed meaning of cleanup_list_list.
+	Changes in expand_fixup, fixup_gotos.
+	(expand_fixup): Detect some internal forward-jumps
+	that need no fixups--for speed.
+	(fixup_gotos): New arg THISBLOCK.
+	(expand_expr_stmt): Handle flag_syntax_only.
+	(use_variable): No longer static.
+	(use_variable_after): new fn.
+	(expand_end_bindings): handle cleanups like a stack level.
+	(expand_decl): Handle a cleanup with no decl.
+	(move_cleanups_up): Preserve relative order of cleanups.
+	(expand_anon_union_decl): New fn.
+	(pushcase): New fast clause if no ranges yet.
+	(pushcase_range): Turned on.
+	(expand_function_start): New temp var `fntype'.
+	Set TREE_USED for a parm we are ignoring.
+	(expand_function_end): Really use the `filename' arg.
+	Use use_variable_after for SAVE_EXPR regs.
+
+	* dbxout.c (dbxout_type): Handle OFFSET_TYPE.
+
+	* gnulib.c (__builtin_new, etc.): Support for C++.
+
+	* emit-rtl.c (next_insn, prev_insn): New fns.
+
+Sat Nov 26 16:29:22 1988  Richard Stallman  (mdt at chickasaw)
+
+	* tree.h (TREE_LANG_FLAG_[1234]): New attributes.
+	(TYPE_METHOD_BASETYPE): New name for TYPE_METHOD_CLASS.
+	(TYPE_OFFSET_BASETYPE): New macro.
+	(NUM_TREE_CODE): New macro.
+	(TYPE_NONCOPIED_PARTS): new field in a type-node.
+
+	* varasm.c (make_decl_rtl): Split out from assemble_variable.
+	(assemble_variable): No longer creates the rtl.
+	No longer handles policy of whether to output tentative decl yet.
+	(output_constant_def): Don't lose if wasn't temp allocation
+	when this was called.
+	(output_constant): Handle REFERENCE_EXPR.
+
+	* Makefile (BISONFLAGS): new variable.
+	(prefix): New variable, used in bindir and libdir.
+	(C_OBJS, CPLUS_OBJS): New vars, split off from OBJS.
+	(LIBFUNCS): C++ support functions added.
+	(CPLUS_TREE_H): New variable.
+	(cc1plus): New target.
+	(lang_c, lang_cplus): Combines all targets for one language.
+	(gplus.info): New target.
+	(cplus-*.o): New targets.
+	(realclean): Handle new C++ files and recent renamings.
+	(install, TAGS): Likewise.
+
+	* print-tree.c (prtypeinfo): Handle TREE_LANG_FLAG_[1-4].
+
+	* tm-sparc.h (ASM_OUTPUT_DOUBLE): Special case for infinity.
+	(ASM_OUTPUT_FLOAT): Likewise.
+
+	* gcc.c: Don't define __GNU__.
+	For .cc files, pass -+ to cpp, and don't handle -ansi.
+	Use cc1plus as name of compiler for .cc files.
+
+	* stor-layout.c (layout_type): abort if given a LANG_TYPE node.
+	(layout_union): Complain if union has basetypes or static members.
+	(layout_record): Handle anonymous union members.
+
+	* tree.def (LANG_TYPE): New tree code for language-specific purposes.
+	(WITH_CLEANUP_EXPR): New tree code for expressions whose values
+	need to be cleaned up when they are deallocated.
+	(OP_IDENTIFIER): New tree code for certain C++ purposes.
+
+	* toplev.c (rest_of_decl_compilation): Call make_var_rtl
+	before assemble_variable.
+
+Wed Nov 23 02:15:45 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* xm-sunos4.h: Rename included config files to xm-*.
+	* xm-*.h: Likewise.
+
+	* fixincludes: Avoid altering args to names other than CTRL
+	that end in ...CTRL.
+	If a file isn't actually changed, delete the copy.
+
+Mon Nov 21 12:48:22 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (move_movables): Never move a reg w/ # > old_max_reg.
+	(strength_reduce): For nonreplaceable giv, put insn to load it
+	after the insn that used to compute it, in case the latter
+	is the last of a libcall sequence.
+
+	* stmt.c (expand_function_end): If returning BLKmode, also copy
+	address where value is returned to the place that GDB will
+	expect to see it after the return.
+
+	* c-parse.y (readescape): Warn about hex constant out of range
+	for a target integer.
+	(yylex): Warn about escape out of range for non-wide char or string.
+	Use a buffer of ints to read a wide string.
+
+Sat Nov 19 02:18:02 1988  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* Version 1.31 released.
+
+	* sparc.md: Change `K' to `I' in all constraints.
+
+	* loop.c (gen_iv_mult): Handle TARGET==0.
+
+	* c-decl.c (duplicate_decls): Undo last change.
+
+	* c-decl.c (pushdecl): Instead of that change,
+	save old-decl's file/line before calling duplicate_decls,
+	and pass them later to warning_with_file_and_line.
+	* toplev.c (warning_with_file_and_line): New fn.
+
+Fri Nov 18 13:07:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (fixup_var_refs_1): (SUBREG (MEM)) was slipping through
+	in case where a SET was writing in the variable being fixed.
+
+	* recog.c (register_operand, nonmemory_operand, memory_operand):
+	Changes to handle new var reload_completed: 1 means that
+	(SUBREG (MEM)) now counts as a mem-ref, since alter_subreg
+	will make it one.
+	* toplev.c (rest_of_compilation): Set and clear reload_completed.
+
+	* sparc.md (call patterns): If TARGET_SUN_ASM, and address in reg,
+	output a jmpl rather than a call.
+	* tm-sun4os3.h: Like tm-sparc.h but turn on TARGET_SUN_ASM.
+
+	* reload.c (push_reloads): Reinstate handling of reg_equiv_constant.
+
+Thu Nov 17 09:48:14 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (constraint_accepts_reg_p): Name changed from
+	constraint_all_regs_p; new arg is reg we are concerned with,
+	and condition tested takes some advantage of that reg.
+
+	* gcc.c (main): Rename var `error' to `error_count' for name conflict.
+
+	* emit-rtl.c (emit_note): Output line #s even if no debug info wanted.
+	(emit_line_note): New fn, does what emit_note did.
+	(emit_line_note_force): New name for emit_note_force.
+	* stmt.c, c-parse.y: Call emit_line_note instead of emit_note.
+
+	* c-parse.y (maybe_type_qual): Call emit_note instead of emit_line_note
+	Now we can find the line # of every `asm' from the RTL.
+	* toplev.c (error_for_asm): New fn, gets line # by searching for NOTE.
+	* reload.c (find_reloads): Use error_for_asm.
+	* reload1.c (choose_reload_targets): Likewise.
+	* final.c (output_operand_lossage): Likewise.
+	Variable this_is_asm_operands is now current insn if it's nonzero.
+
+	* loop.c (move_movables): When a reg is moved, update regno_first_uid
+	and regno_last_uid; say life span includes entire loop.
+	* Decrement THRESHOLD per reg moved, not per insn moved.
+
+Wed Nov 16 08:41:32 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib.c (___builtin_saveregs): New fn, for sparc.
+
+	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Don't recognize
+	SYMBOL_REFs, except for the constants pool.
+	But do recognize REG+REG and SMALLINT+REG.
+	* sparc.md: New patterns for fetching and storing memory
+	whose address is symbolic and not "legitimate".
+
+	* sparc.md (movsi): Add `f' to op1 constraint.
+	New output clause for result in fp reg.
+	(Floating point fetch patterns): Output sethi insns.
+	(call_value, related patterns): value-register has `register_operand'.
+
+	* output-sparc.c (hardreg): New function.
+	(COMPATIBLE): Clause added for n_regs == 2.
+	(single_insn_src_p): Return 0 for MEM whose address is absolute.
+
+	* tm-genix.h (GO_IF_LEGITIMATE_ADDRESS subroutines):
+	Redefine, to exclude any possibility of SB-referencing addresses.
+
+	* loop.c (strength_reduce): Can't eliminate a biv if used before
+	start of the loop.  Used before is same as used after, if contained
+	in another loop.
+
+	* recog.c (asm_noperands, decode_asm_operands):
+	Handle case of no outputs, but some clobbers.
+	* stmt.c (expand_asm_operands): Generate right stuff for that case.
+
+	* tm-sun3.h (CPP_SPEC): Don't define __HAVE_68881__ if using fpa.
+
+Tue Nov 15 00:10:26 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (gen_iv_mult): Arg OP0 may not be a constant.
+	Pay attention to return value of expand_mult.
+	(eliminate_biv): Call changed.
+
+	* output-m88k.c, output-sparc.c (output_move_double):
+	Fix typo `optype0' for `optype1'.
+
+	* c-decl.c (duplicate_decls): Don't alter file, line of old decl.
+
+	* c-parse.y (skip_white_space): Don't recognize comments; rely on cpp.
+
+	* rtl.c (rtx_equal_p): Handle vectors.
+
+	* loop.c (scan_loop): Change elts of n_times_set back to positive
+	for candidates that weren't moved, before doing strength reduction.
+
+	* ns32k.md (movdi, movdf): Use `&' constraint for first operand.
+
+	* reload1.c (reload): Initialize spill_indirect_ok here.
+
+	* config-sun4.h: Recognize `-static' switch.
+
+	* global-alloc.c (set_preference): Avoid using nonsense hard reg #s
+	that result from adding OFFSET.
+
+	* sdbout.c (sdbout_end_function): Line # in .ef should be relative.
+
+	* final.c (output_source_line): For SDB, don't output negative #s.
+
+	* tm-encore.h (ASM_OUTPUT_LOCAL): Don't ignore SIZE arg.
+
+Mon Nov 14 11:03:16 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c: Don't declare refers_to_regno_p.
+
+	* gcc.c (main): Warn if any input files are for the linker
+	but the linker is not being run.
+
+	* jump.c (sets_cc0_p): Dumb bug fetching elts of a PARALLEL.
+
+	* local-alloc.c: qty_birth, qty_death elements are now -1, not 0,
+	when the value is not known.
+
+	* expmed.c (extract_bit_field): Bug computing xbitpos, xoffset
+	when changing units from bytes to words.
+
+	* loop.c: Rename `times_used' field in `struct movable' to `savings'.
+	(scan_loop): When scanning the consecutive sets, for each libcall,
+	increment `savings'--leave `consec'.
+	When making movable for (SET (REG) 0) which is part of zero-extension,
+	set `savings' to 1 initially, since only 1 insn will be moved.
+	And don't let any other reg force that insn.
+	Reduce initial THRESHOLDs.
+	(move_movables): Don't add `consec' into `savings'
+	since the initial `savings' was proportional to `consec'.
+	Decrement THRESHOLD by 3 (not 2) for each move done.
+
+	* reload1.c (choose_reload_targets): Strip subregs from OLD
+	before writing the output-reload move-insn.
+
+	* reload1.c (reload): counted_for_groups and counted_for_nongroups
+	are now file-scope.  Update them both when spilling.
+	(new_spill_reg): No need for counted_for_nongroups as arg.
+	(choose_reload_targets): Don't use for a group
+	any spill regs for which counted_for_nongroups is set.
+
+	* dbxout.c (dbxout_symbol): Indirect-symbol case checked erroneously
+	for PARM_DECL.
+
+Sun Nov 13 08:13:49 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (fold_rtx): Don't alter MULT by -1 if arg mode != result mode.
+
+	* loop.c (move_movables): If moving a CALL_INSN, make a new CALL_INSN.
+	* emit-rtl.c (emit_call_insn_before): New fn.
+	
+	* config-sun4.h (LINK_SPEC): Avoid shared libraries if -g.
+
+	* expr.c (store_one_arg): Stabilize ARG->stack so it doesn't use SP
+	before computing the arg value.
+
+	* combine.c (use_crosses_set_p): Moving a ref to stack ptr
+	is always forbidden if machine has push insns, since might cross one.
+
+	* vax.md (movqi): Avoid out-of-range immed ops in mcomb.
+
+	* expmed.c (extract_bit_field): Don't say `extzv' in the
+	clause for `extv'.
+
+	* emit-rtl.c (copy_rtx_if_shared): Even if a MEM can be shared,
+	unshare its address from everything outside that MEM.
+
+	* expr.c (expand_builtin): Fix omitted arg to `convert_to_mode'.
+
+	* expr.c (store_expr): In case where will not return TARGET
+	and must do type conversion, don't fail to store into TARGET.
+
+	* dbxout.c (FORCE_TEXT): New macro used before output `.stabs'
+	to go to the text section on targets that require it.
+	(DEBUG_SYMS_TEXT): Target macro which turns on that feature.
+
+	* reload1.c (reload): Index in spill_regs was wrong
+	when checking counted_for_groups.
+	(choose_reload_targets): When calling find_equiv_reg looking for
+	a reload reg, reject all spill regs, even those not in use now.
+
+	* tm-sun386.h, tm-sun386i.h, config-sun386i.h: New files.
+
+	* cccp.c (main): Don't die if no output file arg given.
+
+	* fixincludes: Tell `find' to find only ordinary files.
+
+	* config.gcc: If symlink fails, make a hard link.
+
+Sat Nov 12 20:43:20 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile (gnulib): Use cp to make the temporary .c files;
+	less likely to fail than ln.
+
+Sat Nov  5 12:46:39 1988  Randall Smith  (randy at sugar-bombs.ai.mit.edu)
+
+	* tm-m68k.h (HARD_REGNO_MODE_OK): Disallowed d7:a0 as an allowable
+	pair of registers to hold a double value.  This is correct for the
+	fpa but incorrect for the 68881.  It was, however, simpler than
+	defining a new regclass.
+
+Tue Oct 25 12:03:49 1988  Randall Smith  (randy at gluteus.ai.mit.edu)
+
+	* m68k.md: Added some thoughts (comments) on best method to allow
+	68881 code with fpa code.
+
+Thu Oct 13 14:19:17 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.30 released.
+
+	* stupid.c (stupid_life_analysis): Init last_call_suid with
+	largest possible value, not 0.
+
+Wed Oct 12 04:40:18 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-i386.c (output_asm_insn_double_reg_op): Compensate for
+	assembler bug that interchanges fsub and fsubr.
+
+	* reload1.c (order_regs_for_reload): Undo 29 Sept change.
+	It breaks the 386.
+
+	* varasm.c (decode_rtx_const): Don't example value->addr
+	if what was stored in was value->d.
+
+	* toplev.c (set_float_handler): New fn, specify where to jump
+	on floating exception signal.
+	* fold-const.c (combine): Use that to handle overflow in arithmetic.
+
+	* c-decl.c (grokdeclarator): Don't clear CONSTP, VOLATILEP
+	when making an array type.
+
+	* dbxout.c (dbxout_symbol): Ignore VAR_DECLs in memory whose
+	addresses we can't represent.
+
+	* fold-const.c (fold): don't convert >= to > if both args are constant.
+	When converting >= to >, don't fail to change CODE.
+
+Tue Oct 11 04:13:40 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* vax.md (movhi): Error in truncating mcomw, addh3 args to 16 bits.
+
+	* final.c: Better error checking for %-specs in templates.
+	(output_operand_lossage): new fn to report errors.
+	(insn_noperands): new var: # operands in current fn.
+	(this_insn_asm_operands): new var: 1 for `asm', 0 otherwise.
+	(output_asm_insn): Check for operand # out of range.
+	(output_asm_label, output_operand): Call new fn to report errors.
+
+	* reload.c (push_reloads): An input reload for (REG N) can match one
+	for (POST_INC (REG N)) or (PRE_INC (REG N)), since the value
+	reloaded is the same in any case.
+
+Mon Oct 10 06:19:05 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* recog.c (next_insns_test_no_inequality): Like next_insn_tests...
+	but check all insns that follow this one and can use it's cc's.
+	* output-m68k.c (output_btst): Use that.
+
+	* vax.md (movsf, movdf): Undo last change; movq/movl set the cc wrong.
+
+	* expr.c (expand_call): Set current_function_calls_setjmp if appro.
+	* stmt.c (setjmp_protect): New fn: move all vars into stack
+	unless declared `register'.
+	* c-decl.c (finish_function): Call it if -traditional and setjmp used.
+
+	* cccp.c (main): Open output after the input.
+	Handle `-o -'.
+
+Sun Oct  9 00:28:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sun3.h (CPP_SPEC): Define __HAVE_FPA__ if appropriate.
+
+	* c-decl.c (pushdecl): After duplicate_decls, maybe warn about
+	"declared extern and later static".
+
+	* expmed.c (store_bit_field): In insv case, avoid turning
+	VALUE into a subreg of a subreg.
+
+	* loop.c (move_movables): When moving a libcall,
+	un-cse the function address; put it into the call insn.
+
+Sat Oct  8 01:48:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (equiv_constant): Subroutine to find the constant equivalent
+	of a reg.  Now handles SUBREGs too.
+	(fold_rtx, fold_cc0): Use that function.
+	Don't handle SUBREGs like arithmetic.
+
+	* reload1.c (choose_reload_targets): Don't call reg_overlap_mentioned_p
+	if arg is 0.
+
+Fri Oct  7 01:00:19 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* assert.h: Typo declaring __eprintf.
+
+	* config.gcc: New file for making the links.
+	Fixed bugs for sun-[23]-os4.  Added sun-[234] for sunos 3.
+	Added sequent-i386.
+
+	* emit-rtl.c (gen_rtx): Return const0_rtx for 0 in DImode.
+	* varasm.c (immed_double_const): Don't be confused by this.
+
+	* expmed.c (negate_rtx): New 1st arg MODE.
+	* expr.c (push_block): Calls changed.
+	* m68k.md, ns32k.md, vax.md: Calls changed.
+
+	* c-decl.c (duplicate_decls): Don't discard DECL_BLOCK_SYMTAB_ADDRESS.
+
+	* tree.c (staticp): INDIRECT_REF with constant address is static.
+	COMPONENT_REF may not be, if component offset isn't constant.
+
+	* c-typeck.c (default_conversion): Converting array to ptr, if array
+	isn't a VAR_DECL, go through build_unary_op so that COMPONENT_REFs
+	will be simplified away.
+
+	* ns32k.md (tbitd patterns): op 0 constraint: reject constants.
+	* ns32k.md (extzv for SImode and HImode):
+	Use adj_offsetable_operand; plus_constant was the wrong thing.
+
+Thu Oct  6 00:10:41 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.29 released.
+
+	* loop.c (scan_loop): Don't think a `return' insn enters the loop.
+
+	* ns32k.md (ashrsi3, etc): New define_expands for right shift.
+
+	* reload1.c (choose_reload_targets): Change in the `force_group'
+	logic to avoid crashes.
+
+Wed Oct  5 04:09:19 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* expr.c (expand_expr, MINUS_EXPR): When negating integer op1,
+	truncate it to its mode.
+
+	* expmed.c (extract_bit_field): SUBREG error check was wrong;
+	SImode SUBREGs are possible and ok in extzv, extv.
+
+	* tm-ns32k.h (REGISTER_NAMES): Had two excess elements; deleted.
+
+Mon Oct  3 01:15:51 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* toplev.c (main, compile_file): If no files spec'd, use stdin, stdout.
+
+	* flow.c (propagate_block): When checking for stack-adjust insns,
+	exclude non-SET patterns.
+
+	* jump.c (jump_optimize): When changing jump=>return to return,
+	must rerecognize the insn.
+
+	* toplev.c (compile_file): Allow `-' for main input or output filename.
+
+Sun Oct  2 10:30:09 1988  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* final.c (final): NOTICE_UPDATE_CC has extra arg, INSN.
+	* tm-*.h: Change definitions.
+
+	* stmt.c (optimize_bit_field): Use gen_lowpart to make subregs.
+
+	* stmt.c (assign_parms): Don't obey regdecls in inline function.
+	Don't lose existing REG_NOTES when adding one.
+
+	* stmt.c (expand_function_start): Make return rtx before
+	marking parms live.
+	(expand_function_end): Use use_variable to emit USEs for SAVE_EXPRs.
+
+	* stmt.c (expand_return): Handle TRUTH_AND_EXPR like ANDIF; OR also.
+
+	* stmt.c (expand_end_stmt_expr): Always set TREE_VOLATILE,
+	sometimes TREE_THIS_VOLATILE.
+
+	* jump.c (delete_insn): When finding PREV, skip deleted insns.
+
+	* varasm.c (output_constant): WORDS_BIG_ENDIAN test was backwards.
+
+	* emit-rtl.c (gen_lowpart): Allow MODE > 1 word if X is same size.
+
+	* final.c (final): Don't delete no-op moves (jump did it if appro.).
+
+	* final.c: Support prescan pass.
+	(final_start_function): init_recog and CC_STATUS_INIT mvd to `final'.
+	(final): New arg PRESCAN.  Do no output if prescanning.
+	Don't alter conditionals if PRESCAN < 0 (prescan already done).
+	If jump becomes no-op, change it to a NOTE.
+	Remember to free the temp space for ASM_OPERANDS.
+
+	* final.c (final): Altering store-flag must check STORE_FLAG_VALUE.
+	Don't try to do it if that isn't defined.
+	Don't try it if condition doesn't test CC0.
+	(alter_cond): No need to check COND != 0.
+	Handle CC_Z_IN_NOT_N and CC_Z_IN_N.
+	(m68k.md): Delete code that handled CC_Z_IN_NOT_N.
+
+	* conditions.h: New flag CC_Z_IN_N.
+	* tm-*.h: Renumber all CC_... flags to make room.
+
+	* combine.c (use_crosses_set_p): Loop start was 1 off.
+
+	* local-alloc.c (reg_is_set): When a reg is CLOBBERed and dies in
+	one insn, make it live immediately before and after that insn.
+
+	* global-alloc.c: Hard reg preferences for global pseudos.
+	Var allocno_preferred_reg deleted; new vars hard_reg_preferences
+	and regs_someone_prefers.
+	(global_alloc): Init those vars.  Pass hard_reg_preferences elt
+	to find_reg.
+	(set_preference): New function makes entries in those vars.
+	(global_conflicts): new arg to mark_reg_store.  Call set_preference.
+	(find_reg): Last arg now a preferred hard_reg_set.
+	Scan that set first of all.
+	(mark_reg_store): New arg is offset for renumbered regno.
+	But the code to use it is turned off.
+
+	* global_alloc (check_frame_pointer_required): Handle reg_equiv_address
+	like reg_equiv_mem.  Don't try to allocate pseudos with equiv mems
+	that don't use the frame pointer.
+	* reload1.c (reload): Call changed.
+
+	* jump.c (sets_cc0_p): Tests whether rtx sets cc0, and whether
+	it does nothing but set cc0.
+	(find_cross_jump, delete_jump): Use that fn for these tests.
+	* loop.c (loop_skip_over): Likewise.
+	* reload.c (push_reload): Likewise.
+
+	* genoutput.c: Output `const' before the data arrays.
+	Define it as nothing if not __STDC__.
+
+Sat Oct  1 02:19:29 1988  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* expr.c (store_one_arg): 3rd arg to emit_block_move is in bytes.
+
+	* cse.c (fold_rtx): Handling ZERO_EXTEND or SIGN_EXTEND of constant,
+	if the arg width is too wide to handle, return safely.
+
+	* combine.c (FAKE_EXTEND_SAFE_P): Don't allow extend to > 1 word.
+
+	* rtl.c (refers_to_regno_p): Moved from reload.c.  Not static.
+	(reg_overlap_mentioned_p): New function, calls the above.
+	* output-*.c: Use that instead of reg_mentioned_p.
+	* tm-*.h (NOTICE_UPDATE_CC): Likewise.
+	* reload.c (push_reload, combine_reloads): Likewise.
+	* reload1.c (choose_reload_targets): Use it to check earlyclobbers.
+
+	* reload1.c (choose_reload_targets): Elimination of previous
+	output-reload feeding our input now limited to pseudo-regs.
+
+	* flow.c (life_analysis): Delete any insn copying reg to itself.
+	(propagate_block): Move update of OLD after special life and death
+	for CALL_INSNs.
+
+	* vax.md (ashrsi3, ashrdi3, rotrsi3): define_expands to negate
+	the shift count.
+	* expmed.c (expand_shift): Eliminate negate-the-shift-count feature.
+
+	* vax.md (and*i3): define_expands which use complement and bit-clear.
+	* expmed.c (expand_bit_and): Eliminate feature to do that.
+	This function could be eliminated.
+
+	* expmed.c (store_bit_field): Handle nested subregs.
+	Allow gen_insv to fail; if it does, delete what we did and then
+	use store_fixed_bit_field.
+	(store_fixed_bit_field): Use gen_lowpart to make SUBREGs.
+	Do that for SUBREGs just as for REGs.
+	Error check OFFSET must be 0 for REGs.
+	(store_split_bit_field): Error check OP0 is a SUBREG when expected.
+	(extract_bit_field): Allow gen_ext{,z}v to fail.
+	Use gen_lowpart to make subregs.
+	(expand_shift): If a try fails, delete any insns it made.
+
+	* expmed.c (expand_mult): Use expand_unop to negate.
+	When adding 2 powers of 2, do serial shifts, not parallel.
+	Handle absval==1 like other powers of 2.
+
+	* explow.c (force_reg): Don't lose any existing reg notes.
+
+	* stmt.c (expand_start_stmt_expr): Eliminate return value.
+	(expand_end_stmt_expr): No need for argument.
+	* c-parse.y (primary): Change calls.
+
+Fri Sep 30 01:50:22 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* integrate.c (copy_rtx_and_substitute, copy_address):
+	'u' case erroneously returned the translated single element.
+	(copy_address): Special cases for frame-ptr and sums containing it.
+	MEM and LABEL_REF cases passed wrong arg to copy_rtx_and_substitute.
+	(copy_rtx_and_substitute): adjust mode of inline_target for context.
+
+	* jump.c (true_regnum): For SUBREG of pseudo, use pseudo's # unchanged.
+
+Thu Sep 29 02:50:46 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* i386.md (movsi, mov{q,h}i): Use find_reg_note to look for REG_WAS_0.
+	* vax.md (movsi, movhi): Likewise.
+
+	* varasm.c (decode_rtx_const): Was setting un.addr.base wrong
+	for a CONST.  Should be symbol name, not the SYMBOL_REF.
+
+	* rtl.c (rtx_equal_p): When comparing registers, check
+	REG_FUNCTION_VALUE_P.  If there are `u'-slots in the rtx, ignore them.
+
+	* rtl.c (reg_mentioned_p): Some rtx types were mistakenly treated
+	as uniquified (various constants).
+
+	* rtl.c (read_rtx): Element type 'S' is string that may be omitted.
+	* rtl.def (define_insn, define_peephole): Add a last element, type 'S'.
+	* genoutput.c: Collect these optional last elements and output as
+	array `insn_machine_info' of structs `INSN_MACHINE_INFO'.
+	The last must be defined as a macro.
+	* recog.h (insn_machine_info): Declare it if appropriate.
+
+	* regclass.c (record_address_regs): In PLUS case, look inside SUBREGs.
+
+	* reload1.c (reload): Use reg_equiv_address for REG_EQUIVs with
+	invalid memory addresses.
+	When changing pseudos to mem refs at end, do FIX_FRAME_POINTER_ADDRESS
+	on their addresses.
+	(alter_reg): Check that with reg_equiv_mem.
+	(spill_hard_reg): If fp reg, spill regardless of basic_block_needs.
+
+	* reload1.c (order_regs_for_reload): Don't put invalid regs into
+	potential_reload_regs at all.  (They used to go at the end.)
+
+	* reload.c (find_reloads): Store all earlyclobber operand in
+	reload_earlyclobbers (# in n_earlyclobbers):
+	* reload1.c (choose_reload_targets): Don't use value of find_equiv_reg
+	if it matches an earlyclobber operand.
+
+	* reload.c (find_reloads_address for REG):
+	No need for explicitly excluding hard regs in these tests.
+	(find_reloads, find_reloads_address_1 for REG): likewise.
+
+	* reload.c (push_reload): Code testing reg_equiv_constant should
+	be obsolete; add error check to verify this.
+
+	* reload.c (hard_reg_set_here_p): Handle CLOBBERs, SUBREGs, overlap.
+	(refers_to_regno_p): Handle CLOBBERS.  Handle overlap.
+	New arg ENDREGNO specs end of range to check for;
+	all callers changed (all in this file).
+
+	* reload.c (find_reloads): SUBREG like REG in alternate recovery
+	for earlyclobber conflict.
+	The operands to unswap are those that are supposed to commute.
+	When operands match, copy the regclass of earlier one for later one.
+
+	* stmt.c (optimize_bit_field): Don't use gen_extend_insn;
+	use convert_move, then reorder the insns.
+	* optabs.c (gen_extend_insn): Deleted.
+
+	* optabs.c (emit_cmp_insn): Don't emit queue before recursion.
+	Don't convert size to SImode for cmpstrqi.
+
+	* optabs.c (expand_binop): Keep any old REG_NOTES when adding them.
+	Always delete_insns_since if returning failure.
+	(expand_unop, emit_unop_insn): Keep any old REG_NOTES when adding them.
+	* spur.md (movhi): likewise.
+
+	* RTL_EXPR_SEQUENCE is now a chain of insns, not a SEQUENCE.
+	* emit-rtl.c (emit_insns): New fn, emit a chain of insns.
+	* expr.c (expand_expr): Use that.
+	Also put const0_rtx in the RTL_EXPR_SEQUENCE (mark RTL_EXPR as output).
+	* stmt.c (expand_end_stmt_expr): Use get_insns to get the chain.
+
+	* stmt.c (expand_end_stmt_expr): Put the RTL_EXPR on rtl_expr_chain.
+	(fixup_var_refs): Scan all waiting RTL_EXPRs not yet output.
+	Also scan all stacked sequences on sequence_stack.
+
+	* genemit.c (gen_expand): Generate calls to {start,end}_sequence.
+	Use `emit' to handle a PARALLEL.
+	(FAIL, DONE): Change to fit gen_expand changes.
+
+	* emit-rtl.c (change_address): abort if arg isn't a MEM.
+
+	* emit-rtl.c: Sequences work now by saving and restoring first_insn
+	and last_insn.  So these variables are used even when in a sequence.
+	emit_to_sequence has been deleted.
+	(start_sequence, end_sequence): Save and restore first_insn, last_insn.
+	(get_last_insn, add_insn): Sequences no longer need special treatment.
+	(delete_insns_since, reorder_insns): likewise.
+	(push_to_sequence): Set up to emit to a given existing insn chain.
+
+	* emit-rtl.c (copy_rtx_if_shared): Don't copy INSNs.
+	Insert missing return stmt in MEM case (for MEMs ok to share).
+	(unshare_all_rtx): Now can copy the REG_NOTES simply.
+	Copy the LOG_LINKS too.
+
+	* emit-rtl.c (make_safe_from): Treat SUBREG as X like a REG.
+	(delete_insns_since): Don't lose if FROM is the first insn.
+	(emit): Declare void, since no useful value.
+	Call simplejump_p properly.
+	(restore_reg_data_1): When a reg is an address, do mark_reg_pointer.
+
+	* dbxout.c (dbxout_types): Call dbxout_symbol to do the work.
+	(dbxout_type_def): Deleted.
+	(dbxout_symbol): Set TREE_ASM_WRITTEN when a TYPE_DECL is output.
+	Don't output the same one twice. 
+
+	* cse.c (fold_cc0): LABEL_REF is not zero.
+
+	* cse.c (cse_insn): Don't insert src, dest if they are the same place.
+
+	* cse.c (lookup_as_function): Return entire rtx, not just operand.
+	(cse_insn): Caller changed.  Also, copy the result before inserting it.
+
+	* cse.c (fold_rtx): Put constant arg last if commutative op.
+	Handle idempotents and identities for mult, div, booleans, shifts.
+
+	* cse.c (canon_hash): Parens were missing around shifts in "rotates".
+
+	* c-convert.c (convert_to_integer): Truncate TRUTH_ANDIF_EXPR
+	like TRUTH_AND_EXPR; OR also.
+
+	* c-typeck.c (build_binary_op_nodefault): Do truthvalue_conversion
+	for TRUTH_ANDIF, etc.
+	(build_unary_op): More simplifications for TRUTH_NOT_EXPR;
+	uses new fn `invert_truthvalue'.
+
+	* recog.c (reg_fits_class_p): New name for reg_renumbered_fits_class_p
+	since it no longer needs to renumber.  Also it now really assumes
+	arg is a REG.  Callers changed.
+	* reload.c: Callers changed.
+
+	* recog.c (general_operand): (SUBREG (MEM...)) need not alter mode.
+	(register_operand, nonmemory_operand): (SUBREG (MEM...)) is allowed.
+	(memory_operand): (SUBREG (MEM...)) is *not* allowed.
+	(mode_independent_operand): Operand names were backwards!
+	(No change in effect of this function.)
+
+	* print-tree.c (dump): Some expr nodes contain rtx's.  Print as rtx's.
+
+Wed Sep 28 18:51:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (choose_reload_targets): If a reload wanted a group,
+	don't allow a single register for it.
+
+Tue Sep 27 11:43:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c (output_addr_const): Handle DImode CONST_DOUBLEs.
+	* tm-*.h (PRINT_OPERAND): Treat DImode CONST_DOUBLE like a CONST_INT.
+
+	* vax.md (rotldi3): Insn deleted; it doesn't really exist.
+
+	* toplev.c (report_error_function): Also mention the file name,
+	for parallel makes.  New arg FILE; all callers changed.
+
+Mon Sep 26 15:44:18 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (expand_shift): When using extzv, convert OP1 to SImode.
+	* c-typeck.c (build_binary_op_nodefault): Convert shift-count
+	to int regardless of result type.
+
+	* output-spur.c (output_move_double): Fix typo, optype0=>optype1.
+
+	* expr.c (expand_call): Avoid null deref on result of FUNCTION_ARG.
+
+	* tm-i386.h (FUNCTION_PROFILER): Use correct assembler syntax.
+
+Sun Sep 25 12:13:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Handle some files in netdnet, netdna, vaxif, vaxuba.
+
+	* reload.c (find_reloads): Make no optional reloads if not -O.
+
+	* loop.c (strength_reduce): Can't eliminate a biv if it's used
+	to compute a DEST_ADDR giv.  Only DEST_REG givs are safe.
+
+	* loop.c (general_induction_var): Shift & divide ops are linear
+	only in 1st operand; don't look for biv or giv in 2nd operand.
+
+	* vax.md (fix_truncdfqi2): Use `%#'.
+
+Sat Sep 24 00:25:48 1988  Richard Stallman  (rms at gluteus.ai.mit.edu)
+
+	* loop.c (n_times_set, n_times_used): Now file-scope;
+	no longer passed as args to several functions.
+
+	* loop.c (basic_induction_var): Accept reg as source value
+	only if it's invariant.
+	(strength_reduce): Benefit calculation and threshold changed.
+	Check reducibility of givs before trying to reduce them.
+	Check eliminability of biv before considering the givs;
+	let this affect the threshold.
+	(record_giv): New subroutine adds a giv to the chain.
+
+	* ns32k.md (incrementing sp): Use cmpd insns to increment by 4 or 8.
+
+	* integrate.c (expand_inline_function): Rename return_label
+	to local_return_label; avoid shadowing.
+
+Fri Sep 23 13:57:52 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (loop_skip_over): Put the new label after the note that ends
+	the loop.
+
+	* loop.c: New function strength_reduce and subroutines.
+	* toplev.c: New var flag_strength_reduce, set from -fstrength-reduce.
+
+	* vax.md (sob insns): They were broken, with plus in one place
+	and minus in another.  Use plus consistently.
+
+	* rtl.h (REG_LIBCALL, REG_NONNEG): Two new kinds of reg-note.
+	* optabs.c (expand_binop, expand_unop): Make REG_LIBCALL notes.
+	* loop.c (scan_loop, move_movables): Move entire library calls.
+	Use m->set_src to get the expression, in case it's from a REG_EQUAL.
+	(consec_sets_invariant_p): Likewise.
+
+	* loop.c (scan_loop): Start scan from loop_top, if entry is rearranged.
+	Watch out for pseudo regs created by strength_reduce;
+	they can't index regno_last_uid.
+	(replace_regs): # regs mapped is now an arg.
+
+	* loop.c (count_loop_regs_set): Don't increment n_times_set past 127.
+	(consec_sets_invariant_p): Reject if N_SETS arg is 127.
+
+	* toplev.c (rest_of_compilation): NREGS arg of loop_optimize deleted.
+
+	* c-decl.c (store_parm_decls): Anything but an IDENTIFIER_NODE
+	in SPECPARMS indicates a parmlist, not an identifier list.
+	(get_parm_info): Use only PARM_DECLs when making the list of arg types.
+
+	* combine.c (try_distrib): Boolean ops can't distribute through PLUS.
+	MULT can distribute through PLUS and only PLUS.
+
+Thu Sep 22 15:57:41 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): uncond jump to a return becomes a return.
+
+	* integrate.c (copy_parm_decls, copy_decl_tree): Set TREE_USED.
+	Avoid inevitable "unused" warning for these decls.
+
+	* c-typeck.c (comptypes): When comparing array types,
+	ignore qualifiers of element type.
+
+	* tm-*.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Define new macros.
+	* final.c (final_start_function): Use them to protect around
+	the call to the profiling function.
+	* stmt.c (expand_function_start): Set current_function_needs_context
+	and current_function_returns_struct.
+
+	* stmt.c (expand_null_return_1): If clear_pending_stack_adjust
+	doesn't clear it, do the adjust now.
+	* expr.c (clear_pending_stack_adjust): No-op if -finline-functions.
+
+	* cccp.c (macarg1, skip_if_group): Backslash makes next char ordinary.
+
+	* reload.c (find_reloads): Delete code to look for an equiv reg
+	for a reg being input-reloaded.  This isn't safe.
+	* reload1.c (choose_reload_targets): Do it here.
+
+Wed Sep 21 00:36:22 1988  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* tm-sun3.h (CPP_SPEC): Define it based on TARGET_DEFAULT.
+	(STARTFILE_SPEC): Likewise.
+
+	* reload1.c (choose_reload_targets): When redirecting prev insn
+	into this insn's reload-reg, check this doesn't break the prev insn
+	by giving it a reg it can't accept.  Use new fn constraint_all_regs_p.
+
+	* tm-sparc.h (ASM_OUTPUT_LOCAL): Use .reserve, not .common.
+
+	* tree.h (TREE_USED): New attribute macro.
+	* c-parse.y (primary): Set TREE_USED in ..._DECL nodes.
+	* toplev.c, flags.h: Define and set warn_unused.
+	* stmt.c (expand_end_bindings): Warn if any var is unused.
+	* print-tree.c (prtypeinfo): Print this attribute.
+
+Tue Sep 20 15:29:01 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* assert.h: `assert' must expand to an expression.
+	Error message should show arg before expansion, not after.
+
+	* c-decl.c (implicitly_declare): Make decl perm if !warn_implicit
+	since start_function needs to look inside it in that case.
+
+	* toplev.c (announce_function): If we don't print, don't record we did.
+
+Mon Sep 19 15:21:11 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (structsp): If pedantic, warn if comma at end of enumlist.
+
+	* reload.c (find_reloads): Check insn_code_number >= 0 when
+	looking in insn_operand_strict_low.
+
+	* tm-sun[23].h (CPP_SPEC): Rename __HAVE_FPU__ to __HAVE_68881__
+	and put a space after that option.
+
+Sun Sep 18 01:12:56 1988  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* reload.c (find_reloads): Make optional reloads for explicit MEMs.
+
+	* tm-m68k.h (MODES_TIEABLE_P): If no 68881, can tie fixed to floating.
+	* m68k.md (movdi): Allow F's (can be DImode now).
+	Don't allow f-regs (experiment).  Don't preference x-regs.
+	(DImode push): Allow y-regs.
+	(DFmode push): Allow y-regs, not x-regs.
+
+	* reload1.c (modes_equiv_for_class_p): New function.
+	(reload): Compare multiple modes for reg group with that function.
+	Allows differing modes in some cases when not tieable.
+
+	* c-parse.y (check_newline): Let ASM_OUTPUT_IDENT override .ident.
+	* tm-3b1.h (ASM_OUTPUT_IDENT):  Define this as no-op.
+
+	* emit-rtl.c (reorder_insns): Update sequence_{first,last}_insn if nec.
+	(get_last_insn): If in a sequence, return last insn of sequence.
+	(delete_insns_since): If in a sequence, set sequence_last_insn.
+
+	* spur.md (CONST_DOUBLE load insn): Use & for most dests.
+	(cond branches): pass additional args to output_compare.
+	(movdf, movdi): Use & loading reg from mem.
+	(trunc*): Enable these.
+	(add): New pattern for adding large immediate operand.
+	(shifts): A define_expand for each kind of shift,
+	plus a recognizer which outputs repeated insns if necessary.
+	(call*): Use r9 as temp, not r2.
+
+	* output-spur.c (output_compare): New args NEG_{EXCHANGE_,}OPCODE.
+	(singlemove_string): Handle reg as operand 1.
+	(output_add_large_offset): Fake add insn with large immediate arg.
+	(big_immediate_operand): Match such an arg.
+
+	* tm-spur.h (FUNCTION_PROLOGUE): Align the stack pointer.
+	Handle bigger frames.
+	(TARGET_LONG_JUMP, TARGET_EXPAND_SHIFT): New target flags.
+
+	* va-spur.h: Track position in regs and stack separately.
+
+	* c-decl.c (duplicate_decls): Warn if prototype follows
+	non-prototype definition.
+
+Sat Sep 17 14:30:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_builtin): Avoid crash if arg isn't integer type.
+
+	* c-decl.c (duplicate_decls): Just warn if redeclaring a builtin,
+	and leave it built in unless it is redefined.
+
+	* vax.md (ashlsi3): Use addl3, moval or movad when useful.
+	(addsi3): Avoid pushab, movab for constants < 64.
+	Do use movab when > 64 when operands match.
+	(mov*i): Use mcom* rather than mneg*.
+	Use add*3 with two quick immediate args when useful.
+	(movhi): Don't use movzbw or cvtbw; said to be slow.
+
+	* rtl.h: New macros MEM_VOLATILE_P, MEM_IN_STRUCT_P,
+	INSN_DELETED_P,	REG_USER_VAR_P, RTX_UNCHANGING_P, RTX_INTEGRATED_P,
+	CONSTANT_POOL_ADDRESS_P.
+	Most places changed to use them.
+
+Fri Sep 16 11:50:15 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Was testing volatil on non-MEMs erroneously
+	when looking for no-op move insns.
+
+	* cccp.c (handle_directive): Ignore comments between # and directive.
+
+	* integrate.c (copy_rtx_and_substitute): Stack-push memrefs need
+	to be copied.
+
+	* tm-bsd386.h (ASM_OUTPUT_DOUBLE): Undef previous def.
+
+	* reload1.c (alter_reg): Don't reuse spill_stack_slot
+	if it isn't big enough for this reg's mode.
+
+	* expr.c (emit_move_insn): After force_const_mem, ensure
+	mem address is valid.
+	(move_block_to_reg, move_block_from_reg): Likewise.
+
+	* expr.c (expand_call): Spurious TREE_VALUE on args[i].tree_value.
+
+	* m68k.md (zero_extend*): Require register_operand for operand 0.
+
+	* stdarg.h (va_start): Alternate defn for sparc.
+
+Thu Sep 15 11:39:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (yylex): When atof gives ERANGE, check for "0.0", etc.
+
+	* assert.h (__assert): Alternative definition for -traditional.
+
+	* output-sparc.c (output_block_move): Initialize xoperands.
+
+	* combine.c (try_combine): Never subst for a reg that is incremented.
+
+	* m68k.md (cmpm pattern): Make the match_operands match memrefs
+	and check that they are pushes in the extra condition.
+	This makes reloading handle the pushes properly.
+
+	* expr.c (MOVE_RATIO): Make it 15.  Allow overriding it.
+
+Wed Sep 14 09:50:08 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (build_enumerator): Use saveable_tree_cons.
+
+	* vax.md (movdf): Use movq when safe.
+
+	* Version 1.28 released.
+
+	* tm-sparc.h (FIRST_PARM_CALLER_OFFSET): Defined.
+
+Tue Sep 13 00:11:37 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* tree.c (saveable_tree_cons): New function.
+	* c-decl.c (pushtag): Use it; lists of tags needed for inlining.
+	(get_parm_info): Likewise.
+
+	* print-tree.c (dump): Handle each kind of statement node individually.
+
+	* integrate.c (copy_decl_tree): Don't pass DECL_RTL through
+	copy_rtx_and_substitute if it's a memref with constant address.
+
+	* sdbout.c (sdbout_symbol): Don't output garbage when DECL_RTL
+	has a form we don't understand.
+
+	* reload.c (find_reloads_address_1): Don't reload an autoincrement
+	if it has a suitable hard reg already.
+
+	* c-typeck.c (process_init_constructor): Error check after digest_init.
+
+	* c-parse.y (is_reserved_word): Now static.
+
+Mon Sep 12 19:19:28 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (all push insns): Use `<' for the constraint,
+	since a push_operand won't fit an `m' constraint on this machine.
+
+	* expr.c (expand_call): If fn name is `__builtin_alloca',
+	it may be alloca.  This case arises if the user redeclares
+	`__builtin_alloca'.
+
+Sun Sep 11 01:47:01 1988  Richard Stallman  (rms at gluteus.ai.mit.edu)
+
+	* Eliminate MAX_SETS_PER_INSN.
+	* cse.c (cse_insn): Combine all the tables and dynamically allocate.
+	(cse_main): Count the actual number of SETs; don't estimate.
+	* genconfig.c: Don't calculate MAX_SETS_PER_INSN.
+	* stmt.c (expand_asm_operands): No limit on # of output operands.
+
+	* expr.c (expand_call):
+	Store all non-reg parms first, then store all partially-in-reg
+	parms, then all the (precomputed) wholly-in-reg parms.
+	Special hair for BLKmode parms which must be passed entirely
+	in memory; also for BLKmode parms initialized from function calls,
+	for which it is best to allocate the space before computing value.
+	Use macro FIRST_PARM_CALLER_OFFSET to handle machines where reg
+	parms "take up space" on the stack below the stack pointer.
+	(store_one_arg): Handle case of preallocated stack loc for BLKmode.
+	Update current_args_size here, not in caller.
+
+Sat Sep 10 19:58:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_scc_insn): Changed asm templates.
+	Use common code to emit the move insns and label at the end of fn.
+	(output_mul_by_constant): Use %g1 as temporary reg.
+
+	* sparc.md (indexed load pattern): Deleted.
+	(fix_truncdfsi2): Don't ignore value of output_fp_move_double.
+	(cse'd multiply): Operand 1 predicate is general_operand.
+	(return peepholes): Conditionalize on ! TARGET_EPILOGUE.
+
+	* tm-sparc.h (INIT_CUMULATIVE_ARGS,FUNCTION_ARG...):
+	Use partial regs for args that start in regs but won't entirely fit.
+
+	* tm-sparc.h (CONST_COSTS): 0 for args that can be immediate.
+	(STRUCTURE_SIZE_BOUNDARY): Now 8.
+	(STRUCT_VALUE_OFFSET): Defined as symbolic name for `64'.
+
+	* expr.c (struct arg_data): New component `stack' says where in the
+	stack to put a BLKmode arg (if it's nonzero).
+	(store_one_arg): Handle case where it's nonzero.
+	(target_for_arg): New fn, precompute stack locn for BLKmode arg.
+
+Fri Sep  9 01:41:13 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* cse.c (fold_rtx): Misnested ifs screwed SUBREG case.
+
+	* reload.c (find_reloads_toplev): Special case for (SUBREG REG)
+	where REG is equivalent to a CONST_INT.
+	(find_reloads): Don't ignore the value returned by find_reloads_toplev.
+	Treat a (SUBREG constant) like a (SUBREG MEM): set force_reload.
+
+	* reload.c (push_reload): Abort if memory subreg is not
+	paradoxical; the MEM mode should be narrower than the SUBREG.
+
+	* stmt.c (fixup_var_ref_1): Fixup memory subregs in an insn
+	copying VAR to or from a register.
+
+	* m68k.md (movdi, movdf): the x-reg constraint accidentally allowed
+	moving rm to rm with no &.
+
+	* vax.md (call_value): Typo.
+
+	* expr.c (emit_block_move, emit_push_insn): prefer movstrqi to movstrsi
+
+	* m68k.md (FPA multiply): bad opcodes for 3-operand multiply insns.
+
+Thu Sep  8 18:22:14 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y: Use YYERROR instead of synonym YYFAIL.
+	BISON VERSIONS PRIOR TO THIS DATE WON'T WORK!
+
+	* c-typeck.c (digest_init): Use TYPE_MAIN_VARIANT of array elt type.
+
+	* tm-sun[23].h (CPP_SPEC, ASM_SPEC): Let -m(c|)680[12]0 control
+	options for CPP and assembler.
+
+Wed Sep  7 13:44:59 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* New handling of reloading of PRE_DEC, etc.
+	Now reload_in is the PRE_DEC, etc, and reload_inc is always positive.
+	* reload.c (push_reloads): Old code to set reload_inc deleted.
+	(find_reloads_address_1): Call push_reload the new way.
+	(find_inc_amount): Value always positive.
+	* reload1.c (choose_reload_targets): Detect this case.
+	(inc_for_reload): New fn; does the real work for this case.
+	* m68k.md (call, call_value): Fn address must be offsetable.
+
+	* combine.c (try_distrib): Reject strange cases such as if
+	result of PREV1 or PREV2 is used in a memory address in INSN.
+
+	* vax.md (movsf): Generate movl instead of movf.
+
+	* expr.c (expand_call): If have regparms, store all BLKmode args
+	before all the other args.
+	(store_one_arg): New subroutine broken out.
+
+	* output-sparc.c (output_block_move): Complete rewrite.
+
+	* sparc.md (cse'd multiply insn): Typo in asm-output code.
+
+Tue Sep  6 20:05:48 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (yylex, etc.) Install Schmidt's perfect hash table.
+
+	* gcc.c: handle extension `.cc'.
+
+Mon Sep  5 12:09:58 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.27 released.
+
+	* tm-i386.h (PREFERRED_RELOAD_REG): When reloading a QImode,
+	make sure the class doesn't include %esi or %edi.
+	* i386.md (movqi): Eliminate only use of the class `x',
+	for which PREFERRED_RELOAD_REG cannot work.
+	(In next version, get rid of INDEX_CLASS).
+	Also use `*' to cause preferencing of Q_REGS.
+	* tm-m68k.h (PREFERRED_RELOAD_REG): When reloading a QImode,
+	use DATA_REGS.
+
+	* reload.c (push_reloads): Braino in last change when IN == 0.
+
+	* flow.c (mark_used_regs, mark_set_1): Bug if HARD_REGNO_NREGS
+	returns 0 for VOIDmode reg (inside a CLOBBER).
+
+	* c-parse.y (asm_operand): Handle `("REGNAME")' as an operand.
+	* recog.c (decode_asm_operands, asm_noperands): Ignore any CLOBBERs.
+	* regclass.c (reg_names): Variable now global.
+	* stmt.c (expand_asm_operands): Generate CLOBBERS when appropriate.
+
+	* stmt.c (assign_parms): Ignore parms that aren't PARM_DECLs.
+
+	* varasm.c (assemble_variable): Do ASM_OUTPUT_EXTERNAL for functions.
+
+	* c-parse.y (yylex): floatflag is now an enum.
+	Detect invalid use of decimal points (> 1, or in exponent)
+	and multiple exponent letters.
+
+	* expr.c (expand_call): If inlining fails, set TREE_ADDRESSABLE.
+
+Sun Sep  4 00:36:30 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): A const array becomes an array of consts.
+	* c-typeck.c (build_array_ref): Array ref is const if array elts are.
+
+	* output-sparc.c (output_move_double): Change criteria for ldd, std.
+	(output_fp_move_double): New alternatives avoid ldd, std for
+	stack refs that aren't aligned.
+	(output_block_move): Use %g1 as temp reg.
+
+	* sparc.md (floating point load from constant mem address):
+	Use %g1 as temp reg.  Use output_move_double in DF case, not ldd.
+	(movsf): Asm insn typo in FPreg to FPreg case.
+	(floatsi{s,d}f2): Constraint changed.
+	Also new special case pattern in front of it.
+	(fix_truncdfsi2): Use output_move_double, not ldd.
+	(addsi3, subsi3): Use %g1 as temp reg.
+	(cse-optimized multiply): Constraint now `g'; output generalized.
+	(andsi3, orsi3, xorsi3): Use %g1 as temp reg.
+
+	* reload.c (find_reloads): Force int constants into memory just
+	like floating ones, if memory is allowed and no regs are.
+
+	* expr.c (expand_call): Don't treat structure_value_addr like a parm
+	if the first parm would be passed in a register.
+	Also, write comments for all local vars.
+
+	* tm-386v.h (START_SPEC): Use {g,m}crt1.o, not {g,m}crt0.o.
+	(LIB_SPEC): Always use crtn.o.
+
+Sat Sep  3 13:05:50 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* explow.c (plus_constant): Don't put CONST around lone SYMBOL_REF.
+
+	* combine.c (subst): Simplify zero- or sign-extend of a constant.
+
+	* expr.c (expand_expr): for REAL_CST, etc., check for invalid
+	memory addresses and copy into registers.
+
+	* integrate.c (expand_inline_function): If incoming struct value addr
+	is in memory, map it like a memory parameter.
+
+	* tm-*.h (FIRST_PARM_OFFSET): Now takes fndecl as argument.
+	* integrate.c (expand_inline_function): Calc., use and save
+	this fns value of FIRST_PARM_OFFSET.
+	(copy_rtx_and_substitute): Use that value.
+	* stmt.c (assign_parms): Likewise.
+
+	* tm-sparc.h (FIRST_PARM_OFFSET): Make it 64 if value is BLKmode.
+	(STRUCT_VALUE{,_INCOMING}): Put the value in 64(fp).
+
+	* tm-sparc.h (PRINT_OPERAND_ADDRESS): Print offsets in decimal.
+	Avoid excess `+' before a negative offset.
+
+	* stmt.c (expand_function_start): Create the return value rtl
+	before making the tail-recursion loop point.
+
+	* combine.c (gen_lowpart_for_combine): Generate a paradoxical subreg
+	rather than a wider memref.
+
+	* reload.c (push_reload): Extend last change to case where OUT != 0.
+
+Fri Sep  2 11:43:20 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (fixup_var_refs): Adjust last_parm_insn when deleting insns.
+
+	* expr.c (emit_push_insn): calling memcpy, bump TEMP 2 pointers worth.
+
+Thu Sep  1 16:39:57 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (choose_reload_targets): Test for canceled reload
+	before looking inside reload_out.
+
+	* jump.c (jump_optimize): Bug in last change.
+
+	* m68k.md (return): Pattern disabled; confuses Aug 29 stmt.c change.
+	* ns32k.md, i386.md: likewise.
+
+	* emit-rtl.c (emit_note_force): New, like emit_note but always do it.
+	* stmt.c (expand_function_end): Use emit_note_force.
+
+Wed Aug 31 11:34:08 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (alter_reg): New arg FROM_REG is hard reg that the pseudo
+	was spilled from.  Works with spill_stack_slot.  Callers changed.
+	Now all pseudos spilled from one hard reg get the same slot.
+	(reload): Initialize new variable spill_stack_slot.
+
+	* cse.c (cse_insn): Don't insert floating point mems if -ffloat-store.
+
+	* reload.c (find_equiv_reg): Allow no equivs for volatile memrefs.
+	Also none for floating mem refs if -ffloat-store.
+
+	* output-sparc.c (output_mul_by_constant): make `p' and `log' unsigned.
+
+Tue Aug 30 13:47:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Ignore other NOTEs while looking for
+	a NOTE_INSN_FUNCTION_END.
+
+	* integrate.c (save_for_inline): Flush extra call to max_reg_num.
+	Don't copy NOTEs that are NOTE_INSN_FUNCTION_END.
+	(copy_for_inline): Don't copy NOTEs that are NOTE_INSN_FUNCTION_END.
+
+	* stmt.c (optimize_bit_field): If bit field is SRC, strip subregs
+	from the DEST.
+
+	* expmed.c (expand_mult): Special case for -1 as one operand.
+
+Mon Aug 29 12:14:51 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_goto_internal, expand_fixup): New arg LAST_INSN.
+	(expand_return): Pass that arg in tail-recursive case.
+	(other callers): Pass 0 for that arg.
+	(expand_null_return): Handle HAVE_return nonzero w/ FUNCTION_EPILOGUE.
+	(expand_null_return_1): New fn, has guts of old expand_null_return.
+	(expand_return): Call expand_null_return_1 to pass LAST_INSN arg.
+	(expand_return): Handle HAVE_return nonzero w/ FUNCTION_EPILOGUE.
+	(expand_function_{start,end}): Likewise.
+	(expand_cleanups): Fix typo in recursive-list case.
+	(move_cleanups_up): New fn.
+
+	* expr.c (expand_call): Execute cleanups_of_this_call on exiting.
+	Notice calls to __builtin_new (but don't do anything about them yet).
+
+	* reload.c (push_reload): If reloading a (SUBREG (MEM ...) ...),
+	really reload just the MEM in the MEM's own mode.
+
+	* sparc.md: Define patterns for insns that set the ccs.
+	Define set-flag insns.
+	New patterns for indexed load, and for optimizing signed bit fields.
+	(mulsi3, umulsi3): Give "r" constraint to operand 0.
+	Peephole optimizers recognize some cases where delay insns are safe.
+	Changed patterns for call and return insns as well.
+
+	* output-sparc.c (single_insn_src_p): New fn.
+	(output_delay_insn): New fn.
+
+	* tm-sparc.h (TARGET_EPILOGUE): New target flag.
+	(NOTICE_UPDATE_CC): New clause for funny PARALLEL with a REG in it.
+
+	* m68k.md (movqi): Use *'s to ensure preferencing d-regs.
+
+	* c-parse.y (datadef): If traditional, no warning about no specs.
+
+Sun Aug 28 14:34:33 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i386.h: Define PROMOTE_PROTOTYPES.
+	POINTER_BOUNDARY now 32.
+
+	* regclass.c (reg_scan): Compute `max_parallel', max # of sets and
+	clobbers in any insn in this function.
+	* global-alloc.c (global_conflicts): Use that, not MAX_SETS_PER_INSN.
+
+	* stmt.c (expand_asm_operands): MAX_SETS_PER_INSN limits # output ops.
+
+	* emit-rtl.c (init_emit_once): Make elt 2 of {f,d}const0_rtx nonzero.
+
+	* c-decl.c (lang_decode_option): Handle -Wwrite-string.
+	* c-parse.y (combine_strings): If that flag, make array of const char.
+
+	* expr.c (expand_expr): for INTEGER_CST, always use immed_double_const;
+	never do output_constant_def (it didn't work).
+	Also heed WORDS_BIG_ENDIAN.
+
+	* varasm.c (output_constant): Handle integer CONST_DOUBLEs.
+	(output_constant_def): Abort if arg is an INTEGER_CST.
+
+	* emit-rtl.c (gen_rtx): Don't return {f,d}const0_rtx for DImode.
+
+Sat Aug 27 12:37:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Global extern decls set TREE_PUBLIC
+	like local ones.
+
+	* integrate.c (expand_inline_function): Handle parms that were
+	passed in registers but whose homes are on the stack.
+
+	* varasm.c (force_const_mem): Output ints according to spec'd mode.
+	({record,compare}_constant_rtx,const_hash_rtx,decode_rtx_const):
+	Take mode as argument; pass it along.
+
+	* c-parse.y (read_escape): No warning for `\{' or `\['.
+
+Fri Aug 26 12:23:07 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (fixup_memory_subreg): Typo calculating big-endian adjust.
+
+	* vax.md (call_value): Handle >255 args as in `call'.
+
+Thu Aug 25 16:00:51 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (delete_jump): Don't delete the cc-setter if it has autoinc.
+
+Wed Aug 24 16:33:37 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr): For sun with a COND_EXPR, use SUBTARGET
+	if validate_subtarget says ok.
+
+	* tree.c (build_index_type): make_index_type moved here and renamed.
+
+	* combine.c (move_deaths_2): New function.
+	(try_distrib): Use that, not move_deaths.
+
+	* tm-sparc.h (SHIFT_COUNT_TRUNCATED, STORE_FLAG_VALUE): Define them.
+
+	* tm-sparc.h: FUNCTION_{PRO,EPI}LOGUE: Save room for ins and
+	locals to spill to the frame if any ins *or* locals are live.
+
+	* tm-sparc.h (NOTICE_UPDATE_CC): Delete the clause that always
+	cleared the cc's for unrecognized insns.
+
+	* reload1.c (reload_as_needed): Don't try to use a spill-reg
+	in a basic block that wasn't spilled: ignore optional reloads.
+
+Tue Aug 23 09:45:05 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_scc_insn): New function.
+
+	* expr.c (expand_builtin, alloca): Round result of alloca
+	up to a multiple of STACK_BYTES.
+
+	* toplev.c (compile_file): Default main_input_filename is cc1 input.
+
+	* tm-i386.h (FUNCTION_BOUNDARY): 32 avoids extra prefetch.
+
+	* i386.md (movdi, movdf): Add `&' where needed in constraints.
+
+Mon Aug 22 11:57:51 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* symout.c (symout_finish): Allocate typevector after the symout_types.
+
+Sun Aug 21 16:10:54 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-3b1.h (ASM_FORMAT_PRIVATE_NAME): Use a `_' as well as `%'.
+
+	* expr.c (expand_expr): Typo setting MODE for MAX_EXPR.
+
+	* Makefile (stage*): If ln fails, copy gnulib to stage*.
+	(realclean): Do `clean' and then some.
+	(install): new var USER_H specifies headers to copy.
+
+	* c-typeck.c (build_binary_op_nodefault): LT_EXPR, etc.
+	on ptr vs int failed to set result_type.
+	(build_conditional_expr): Don't replace nonzero int
+	with null_pointer_node.
+
+	* combine.c (remove_links, try_distrib): New fns.
+	(subst): New simplifications for ZERO_EXTEND, SIGN_EXTEND.
+	(combine_instructions): Call try_distrib.
+	(FAKE_EXTEND_SAFE_P): Allow SUBREGs.
+
+	* m68k.md (non-FPA pattern for floatsisf2): Typo, had DF for SF.
+
+Sat Aug 20 12:04:37 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (copy_address): Variant of copy_rtx_and_substitute.
+	(copy_rtx_and_substitute): Use copy_address for MEM address that
+	doesn't satisfy memory_address_p.
+
+	* reload.c (find_reloads): If force_reload set, don't set WIN
+	for a MEM even if `m', `o' or `g' in constraint.
+
+	* i386.md (expendqihi2): Typo in asm template.
+
+	* toplev.c (rest_of_compilation): Call clear_const_double_mem.
+	* varasm.c (init_const_rtx_hash_table): Don't call it here.
+	(immed_real_const): Don't record the rtx in the REAL_CST node.
+	(force_const_double_mem, clear_const_double_mem): Use cc0_rtx, not 0,
+	as flag for a CONST_DOUBLE not on the chain.
+
+	* cccp.c (handle_directive): If traditional, do scan strings
+	but accept unterminated ones.
+	(collect_expansion): -traditional: Don't recognize comments in strings.
+	Stringify arguments that appear within strings.
+	(skip_quoted_string): -traditional: Always exit at newline.
+	(macroexpand): -traditional: Don't put `"'s around stringified arg.
+	(macarg): Set stringified_length accordingly.
+
+	* c-decl.c (duplicate_decls): Avoid error redeclaring fcn after
+	implicit decl if -traditional.
+
+	* toplev.c (announce_function, report_error_function):
+	Change communication logic between these fcns.
+
+	* c-decl.c (lang_decode_options): Handle -Wall here.
+	* toplev.c (main): not here.
+
+	* tm-bsd386.h: Don't include tm-i386.h--be like tm-att386.h
+
+Fri Aug 19 11:08:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config-sun4.h: If sparc, include config-sparc.h.
+	Never include alloca.h.
+
+	* tm-m68k.h (TARGET_SWITCHES): Define `-mc68020', `-mc68000'.
+
+	* c-decl.c (init_decl_processing): If traditional, use signed sizetype.
+
+	* gcc.c (main): Use stderr for printing version.
+
+Thu Aug 18 14:42:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.26 released.
+
+	* m68k.md (movsi): Constraint change for fpa regs.
+
+	* reload1.c (choose_reload_targets): Clear reg_reloaded_contents
+	for all regs of a multi-reg group.
+
+	* reload.c (find_equiv_reg): HARD_REGNO_NREGS wants mode, not size.
+	Check properly for overlap against multiword reload regs.
+
+Tue Aug 16 14:54:18 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c, expr.c (immed_double_const): immed_real_const_2 renamed.
+
+	* tm-i386.h (SFVALUE): Should be `double'.
+	* tm-i386v.h (SFVALUE): Don't override it.
+
+	* tm-i386.h (ASM_OUTPUT_ASCII): Don't define it.
+	* tm-att386.h: Definition moved here.
+
+	* tm-bsd386.h: New file, for Sequent.
+	* tm-seq386.h: New file, for Sequent.
+	* config-i386.h: New file, for Sequent.
+
+	* expr.c (push_block): Take account of STACK_POINTER_OFFSET.
+	(expand_call): Therefore need not do so here.
+
+	* optabs.c (expand_fix): Typo if going via DImode.
+
+	* reload1.c (choose_reload_targets): Don't * reload_reg_rtx if 0.
+
+Mon Aug 15 01:11:49 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (copy_for_inline): Don't try copying 0-length vector.
+	(copy_rtx_and_substitute): Likewise.
+
+	* m68k.md (andsi3): use clrw instead of andw #0.
+
+	* print-tree.c (walk): Don't omit permanent nodes reach from temps.
+
+	* m68k.md (zero_extend...): Reinstall the old zero-extend insns
+	without names, so they can help the combiner.
+
+	* expr.c (expand_expr): Don't use hard regs as subtargets.
+	* combine.c (FAKE_EXTEND_SAFE_P): Always consider MEMs safe.
+	* reload.c (find_reloads): For (SUBREG (MEM ...)) set force_reload.
+
+	* c-parse.y (redescape): Don't warn for `\('.
+
+	* reload.c (find_reloads_address): #if was backwards.
+
+Sun Aug 14 16:52:22 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (shorten_compare): Change switch to chain of ifs.
+
+	* tm-ns32k.h (PRINT_OPERAND): CONST_DOUBLE contains a double
+	even if it's SFmode.
+	(FUNCTION_PROLOGUE): If MAIN_FUNCTION_PROLOGUE defined, run it.
+
+	* cccp.c (file_buf): Rename field `free' to `free_ptr'.
+
+	* Makefile (ALLOCA, MALLOC, LIBDEPS): New variables for easier
+	customization.  Executables depend on LIBDEPS instead of OBSTACK1.
+	(cccp): Deps and libs now work like the others.
+
+	* output-i386.c (notice_update_cc): Rewritten for clarity.
+
+	* tm-i386.h (OUTPUT_JUMP): If CC_IN_OVERFLOW, abort.
+
+	* recog.c (push_operand): Test for stack_pointer_rtx.
+
+	* integrate.c (copy_rtx_and_substitute): Don't submit push-operands
+	to `memory_address'--it would lose on machines where pushing is
+	a special insn, not an addressing mode.
+
+	* output-i386.c	(top_dead_p): No more redundancy--that didn't work.
+	Now one method if optimized, one for call_insns if noopt, one for
+	other insns if noopt.
+	(call_top_dead_p): fp_top_dead_p renamed
+	and only the call-insn clause remains.
+
+	* i386.md (cmpsf, cmpdf): Output was backwards.
+	(", tstsf, tstdf): Set CC_IN_80387.
+	(incb pattern): Restrict allowable registers.
+	(movsf, movdf): Call top_dead_p only when absolutely necessary.
+	(call_value): Use top_dead_p, not subroutine.
+
+Sat Aug 13 15:19:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stupid.c (stupid_life_analysis): If only 1 reg class,
+	call stupid_find_reg only once.
+
+	* stmt.c (expand_function_start):
+	Clear current_function_pretend_args_size.
+
+	* expr.c (store_constructor): If target is hard reg, go via a pseudo.
+
+	* varasm.c (real_constant_chain): Now static in this file.
+	(force_const_double_mem): Put R on chain if not already on.
+	(clear_const_double_mem): Set XEXP (,2) to 0;
+	also clear real_constant_chain and the chain links.
+	* emit-rtl.c (init_emit_once): Put 0 in XEXP (,2) of {d,f}const0_rtx.
+	* cse.c (canon_hash): For CONST_DOUBLE, ignore elts other than 0,1.
+
+Fri Aug 12 11:48:38 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (order_regs_for_reload): Handle REG_ALLOC_ORDER more spots.
+
+	* global-alloc.c (find_reg): error handling REG_ALLOC_ORDER;
+	also error skipping regs known to be hopeless.
+	* local-alloc.c (find_free_reg): error skipping hopeless regs.
+	* stupid.c (stupid_find_reg): likewise.
+
+	* local-alloc.c (qty_compare_1): typo, had q1 for q2.
+
+	* expr.c (expand_expr): Don't use supplied target when optimizing
+	arithmetic using a comparison or conditional; that target could be
+	needed for the result of the comparison.
+
+	* reload1.c (reload): Don't set reg_equiv_constant for hard regs.
+
+	* stupid.c (stupid_life_analysis): Ignore reg R if regno_reg_rtx[R]==0.
+
+	* symout.c (symout_finish): Use perm. links in permanent_fwd_refs.
+
+	* i386.md (movhi, movqi): Check no_labels_between_p.
+
+Thu Aug 11 10:44:46 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (yylex): Out-of-range float is just a warning.
+
+	* tm-gnx-v3.h: New file for Genix.
+	* ns32k.md (movsi, call, call_value): GNX_V3 conditionals.
+	* tm-ns32k.h (PRINT_OPERAND_ADDRESS): Changes for Genix.
+
+	* ns32k.md (insv patterns): Operand 0 is read-write.
+
+	* i386.md (tstsf, tstdf): Don't push the arg if already in st(0).
+
+	* varasm.c (output_constant_def): If EXP is permanent, the rtl is too.
+
+	* tm-*.h (ASM_OUTPUT_{LOCAL,COMMON}): New 4th arg, rounded size
+	vs unrounded size.
+	* varasm.c (assemble_variable): Pass new arg.
+	* symout.c (symout_init): Likewise.
+
+	* cccp.c (rescan): Don't let char const cross lines.
+	(skip_quoted_string, macarg1, discard_comments): Likewise.
+
+	* expr.c (expand_expr, VAR_DECL case): handle flag_force_addr.
+
+	* tm-i386v.h (TAREGT_DEFAULT): Assume 80387.
+	* config-i386v.h (alloca): Use __builtin_alloca under GNU C.
+
+Wed Aug 10 11:23:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (find_reloads): Alternative loses
+	if it has no regs for a reg operand.
+
+	* tm-sun3.h (STARTFILE_SPEC): Define, for fpa's sake.
+	* tm-m68k.h: New hard regs, reg classes, reg class letters,
+	target flag and switch, operand syntax and CC handling for fpa.
+	* m68k.md: Add fpa insn patterns.
+	* output-m68k.c (standard_SunFPA_constant_p): New fn.
+	(output_move_const_{single,double}): Handle fpa regs.
+	(singlemove_string): Handle fpa regs.
+
+	* stmt.c (fixup_memory_subreg): Result had wrong mode.
+
+	* ns32k.md (insv patterns): Adjust bit-number along with address.
+
+	* sparc.md (negdf2, absdf2): Order of the words was backwards.
+
+	* reload1.c (new_spill_reg): End confusion about meaning of 1st arg.
+	Arg counted_for_nongroups had wrong type.
+
+	* tm-m68k.h (FUNCTION_{PRO,EPI}LOGUE): Round frame size to word bdry.
+
+Tue Aug  9 07:53:59 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i386.h (ASM_OUTPUT_ASCII): Don't lose the sign bit.
+
+	* tm-i386v.h (STARTFILE_SPEC, LIB_SPEC): Use crt1.o, crtn.o.
+
+	* stmt.c (fixup_var_refs_1): fixup all memory subregs.
+
+	* reload1.c (choose_reload_targets): Don't strip paradoxical
+	subregs from values to be reloaded.
+
+	* cccp.c: Comment out text after #endif.
+
+	* c-parse.y (init): Allow empty braces as init; warn if pedantic.
+
+	* c-decl.c: Move C-specific options from toplev.c.
+	* c-tree.h: Move their externs from flags.h.
+	* c-decl.c (lang_decode_option): New fn called by `main'.
+	* toplev.c (sorry, really_sorry): New error reporting fns.
+	* c-decl.c (language_string): New var, name of this language.
+
+	* c-parse.y: Don't include flags.h.
+	* dbxout.c: Do include it.
+
+	* dbxout.c (dbxout_type): Handle function fields and static fields
+	and basetypes.  Handle METHOD_TYPE and REFERENCE_TYPE.
+	Abort on unexpected tree code.
+	(dbxout_args): New fn to output prototype arg types.
+	(everywhere): Use IDENTIFIER_LENGTH instead of strlen.
+	(dbxout_type_name): Cleanup; avoid strlen.
+
+	* local-alloc.c (reg_is_set): Don't call {post_,}mark_life for pseudos.
+
+	* tree.h (TYPE_BASECLASSES): New field in type nodes.
+
+	* ns32k.md (insv patterns): Was adjusting the address wrong.
+
+	* c-decl.c (grokdeclarator): Just a warning for inline varargs fn.
+
+Mon Aug  8 08:16:46 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (immed_real_const_2): Guts of creating a CONST_DOUBLE.
+	* expr.c (expand_expr): Use that for 64-bit int constants.
+
+	* loop.c (invariant_p): Don't check x->unchanging; it's not safe.
+
+	* c-typeck.c (build_indirect_ref): Handle flag_volatile here
+	so that it propagates to component_refs.
+	* expr.c (expand_expr): No need to handle it here.
+
+	* integrate.c (save_for_inline, expand_inline_function):
+	Set up insn_map to record mapping of old uids to copied insns.
+	(copy_for_inline, copy_rtx_and_substitute): Map 'u' refs via insn_map.
+
+	* emit-rtl (emit_label, emit_barrier): Return what was emitted.
+
+	* sdbout.c (sdbout_filename): Split off from sdbout_init.
+	* tm-encore.h, tm-3b1.h, tm-vaxv.h, tm-att386.h (ASM_FILE_START):
+	Call sdbout_filename.
+
+	* toplev.c: Better messages for invalid options.
+
+	* tm-m68k.h (PRINT_OPERAND_ADDRESS): Handle labelref+basereg.
+
+	* tm-3b1.h (PUT_SDB_DIM): Override sdbout's definition.
+	(ASM_FORMAT_PRIVATE_NAME): Override tm-hp...s definition.
+	(PUT_SDB_PLAIN_DEF): Prepend `~' to specified name.
+	(SDB_GENERATE_FAKE): Prepend `~'.
+
+	* gcc.c: Include config.h before obstack.h.
+
+Sun Aug  7 11:17:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_decl): Do nothing with CONST_DECL.
+	Treat FRIEND_DECLs like variables.
+	(layout_record): Handle VAR_DECLs and FUNCTION_DECLs in the fieldlist.
+	Handle basetypes (almost like fields).
+	(layout_type): Handle REFERENCE_TYPE and METHOD_TYPE.
+
+	* tree.c (temp_tree_cons): New fn.
+	(array_type_nelts, simple_cst_equal): New fns.
+	(lvalue_p): CALL_EXPR is an lvalue if it returns REFERENCE_TYPE.
+	() Manage TYPE_REFERENCE_TO.
+	(TYPE_HASH_SIZE): Bigger.
+	(type_list_equal): Compare the TREE_PURPOSE fields.
+	(build_reference_type, build_method_type): New fns.
+
+	* stmt.c (block_stack): Add field `cleanups' to each element.
+	(expand_{start,end}_bindings, expand_decl): Update that field.
+	(stack_block_stack): Now includes blocks that have cleanups.
+	(goto_fixup_chain): Add field `cleanup_list_list'.
+	(expand_goto_internal): Execute cleanups for blocks being exited.
+	(expand_fixup): Make a fixup if any block has cleanups.
+	(fixup_gotos): New args CLEANUPS and DONT_JUMP_IN.
+	Execute cleanups for blocks being exited, or add to cleanup_list_list.
+	(expand_end_bindings): New arg DONT_JUMP_IN.  Execute any cleanups.
+	(expand_decl): New arg CLEANUP.
+	(expand_cleanups, fixup_cleanups): New functions.
+	* c-decl.c: Calls to expand_decl pass new arg.
+	* c-parse.y: Calls to expand_end_bindings pass new arg.
+
+	* stmt.c (expand_return): Handle INIT_EXPR, or bare RESULT_DECL.
+
+	* stmt.c (case_stack): Add field `has_default' to each element.
+	(pushcase,expand_end_case): Maintain and use that field.
+
+	* stmt.c (pushcase): Handle RANGE_EXPR cases.
+	(pushcase_range): Create RANGE_EXPR cases.
+
+	* final.c (final): Always pass 3 args to ASM_OUTPUT_CASE_END.
+	* tm-3b1.h: Delete offending spaces.
+
+Fri Aug  5 16:17:16 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (copy_rtx_and_substitute): Don't make fp+reg+const
+	without an intermediate temporary reg.
+
+	* print-tree.c (dump): Don't print an identifier's chain.
+
+	* toplev.c (compile_file): Treat `.i' suffix like `.co'.
+
+	* gcc.c: New config macro CC1_SPEC: extra switches for cc1.
+	Make a new spec for `.i' files.
+
+	* c-decl.c (pushdecl, finish_decl): Delete duplicate tests.
+
+	* varargs.h: Maybe include va-sparc.h or va-spur.h.
+	* va-sparc.h: New file.
+	* va-spur.h: renamed file.
+
+	* tree.h ({TYPE,DECL}_LANG_SPECIFIC): Types and decls can point to
+	language-specific structures containing other info.
+	* print-tree.c (dump): Hooks for printing the language-specific
+	data in types and decls.
+
+Thu Aug  4 08:54:30 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.def: Add some tree codes for C++.
+
+	* Rename files: parse.[yh] -> c-parse.[yh], decl.c -> c-decl.c,
+	typecheck.c -> c-typeck.c.
+	Part of tree.c split out to c-convert.c.
+
+	* expr.c (push_block): No longer static.
+	(expand_expr): Handle REFERENCE_EXPR and INIT_EXPR.
+	(expand_call): Turn a METHOD_TYPE to a FUNCTION_TYPE.
+	This is probably not all that is required.
+
+	* parse.y (yylex): Use p->rid to check for `signed' and `inline'.
+
+	* tm-sparc.h (ASM_OUTPUT_SOURCE_LINE): typo.
+
+	* sparc.md: Add a pattern for andcc.
+	(cmpsf): Clobber reg 32 in DFmode.
+	(branches): There are no unsigned floating branches; abort.
+	(bgt): Correct name of floating variant.
+	(mov?i): Load small constants via mov.
+	(movdf for constants): Use mov, not add, to move regs.
+	(movsf, floatsi*, fix*): Simplify reg-to-reg-via-mem move generation.
+	(trunc*): Use mov, not or, to move regs.
+	(negsi2, one_cmplsi2): Avoid "neg" and "not" assembler syntax.
+	(call...): Generate "call" insns; handle #-reg-parms value.
+	* Define some peepholes for return insns.
+
+	* tm-sparc.h (TARGET_SUN_ASM): New target flag.
+	(TARGET_DEFAULT): Now 1.
+	(FRAME_POINTER_REQUIRED): Now 1.
+	(STARTING_FRAME_OFFSET): Now -16.
+	(LEGITIMATE_CONSTANT_P): Only CONST_DOUBLEs fail.
+	(FUNCTION_{PROLOGUE,EPILOGUE}): Rewritten.
+
+	* output-sparc.c (small_int): Test for int that mov can load.
+	(singlemove_string): Use mov, not add.
+	(output_move_double): Changes for overlap and for use of ldd, std.
+	(output_fp_move_double): Use ldd, std when safe.
+	(make_f0_contain_0): Simplify.
+
+	* integrate.c (expand_inline_function): Some special CALL_INSN
+	handling no longer needed due to REG_FUNCTION_VALUE_P.
+
+	* m68k.md (movqi): Constraints allow moving areg to areg.
+
+Wed Aug  3 08:29:31 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.25 released.
+
+	* integrate.c (expand_inline_function): Don't let MEM be inline_target.
+
+Tue Aug  2 09:13:37 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (INTEGRATE_THRESHOLD): New macro, default dfn here.
+	(function_cannot_inline_p): Use it.
+
+	* rtl.h (REG_FUNCTION_VALUE_P): New macro.
+	* stmt.c (expand_function_start): Set that flag in the return reg.
+	* integrate.c (expand_inline_function, copy_rtx_and_substitute):
+	Test that flag to test for the return value.
+	* expmed.c (expand_fixed_bit_field, expand_mult, expand_divmod): ditto.
+	FUNCTION_VALUE_OUTGOING_REGNO_P no longer needed.
+
+Mon Aug  1 02:46:08 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (copy_rtx_and_substitute): If NO_FUNCTION_CSE,
+	don't break out constant fcn addresses here.
+
+	* expmed.c (expand_fixed_bit_field): Tests of FUNCTION_VALUE_REGNO_P
+	were backwards.
+
+Sun Jul 31 13:10:07 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* recog.c (indirect_operand): New function.
+
+	* output-i386.c (print_operand): define %*. eliminate %s.
+	(fp_top_dead_p): In nonopt case, skip stack-adjusts while looking
+	for the insn that uses the function value.
+
+	* varasm.c (text_section, data_section): New functions.
+	Replaced explicit printfs elsewhere with calls to them.
+	* final.c (final_start_function): Use these fns.
+	* sdbout.c (sdbout_one_type): Use text_section.
+	* tm-att386.h (ASM_OUTPUT_LOCAL): Use data_section.
+
+	* expr.c (prepare_call_address): Don't pass const via reg if no -O.
+
+	* tm-sparc.h (FUNCTION_{PROLOGUE,EPILOGUE}) Round the size of saved
+	registers.  Fix bug counting saved registers.
+
+	* tm-sparc.h (ASM_OUTPUT_SOURCE_LINE): Define this macro.
+
+	* tm-sparc.h (DEFAULT_SIGNED_CHAR): Now 1.
+
+	* expr.c (expand_builtin, alloca case): Adding stack offset needs
+	special code if TARGET is a MEM.
+
+	* dbxout.c (dbxout_init): Define Ltext: after the reference to it.
+
+	* tm-3b1.h (ASM_OUTPUT_CASE_LABEL): `short 0' triggers assembler bug;
+	`short L%nn-L%nn' supposedly works.
+
+Sat Jul 30 00:25:52 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (floatsidf2): Minor change in output.
+	(fix_trunc{sf,df}si2): Similar.
+
+	* output-sparc.c (output_fp_move_double): Minor change in output.
+
+	* stmt.c (assign_parms): Don't count stack space for struct value
+	address if the function does not have one.
+
+	* sdbout.c: Output .dim's and total size for arrays.
+	Detect bit-fields properly.
+	Changed handling of structure tags.
+
+	* reload1.c (new_spill_reg): counted_for_nongroups is a new arg;
+	store 1 in it if this reg is needed for max_nongroups.
+
+	* reload1.c (choose_reload_targets): Allow inheritance of DFmode
+	if it needs only one register.
+
+	* reload1.c (choose_reload_targets): Delete the death-note from the
+	store-insn of an inherited reload if PRESERVE_DEATH_INFO_REGNO_P.
+
+	* reload.c (push_reload): Crash if PREFERRED_RELOAD_CLASS is NO_REGS.
+	(find_reloads): Smarter handling of forcing CONST_DOUBLE into mem.
+	Check PREFERRED_RELOAD_CLASS & do this if it says NO_REGS.
+
+	* reload.c (subst_indexed_address): Handle case with 2 regs
+	and no constant term.
+
+	* local-alloc.c: New variable qty_n_refs, set from reg_n_refs
+	and tested in qty_compare{,_1}.
+	(combine_regs): Update qty_n_refs.
+	Update qty_preferred_or_nothing more intelligently.
+
+	* regclass.c (regclass, reg_class_record, record_address_regs):
+	Count the number of refs to each reg along with the costs,
+	and use it when computing the preferred_or_nothing flag.
+	(Can't use reg_n_refs since that is weighted by loop depth).
+
+	* global-alloc.c (global_alloc): Enable test of OVERLAPPING_REGNO_P
+	for setting no_global_alloc_regs.
+
+	* expr.c (prepare_call_address): Use force_reg, so it gets a REG_EQUIV.
+
+	* optabs.c (can_{fix,float}_p): Return enum insn_code, not a function.
+	(init_{fix,float}_tab): Store enum insn_code's in fixtab and floattab.
+	(expand_{fix,float}): Change calls to can_{fix,float}_p.
+	Also, use emit_unop_insn to make the actual insns.
+
+Fri Jul 29 02:42:40 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (initialize_char_syntax): If dollars_in_identifiers is 0,
+	set entries for `$' to 0.
+	Set entries to 1 rather than incrementing them.
+
+Tue Jul 26 11:14:22 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (assemble_variable): Make SDB output only if top-level.
+
+	* local-alloc.c (reg_is_set): Arg to mark_life is regno, not qty.
+
+	* output-ns32k.c (print_operand_address): New flag SEQUENT_BASE_REGS
+	* tm-sequent.h: Define that flag.
+
+	* Makefile: add some missing deps.
+
+	* tm-encore.h (ASM_FILE_START): Changed to do nothing.
+
+	* sdbout.c (sdbout_init): Fix two dumb errors.
+
+	* sdbout.c (sdbout_end_epilogue): No longer takes arg.
+	Examine current_function_decl here, not in caller.
+	* final.c: Call changed.
+
+Mon Jul 25 01:32:54 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_record): Handle PCC_BITFIELD_TYPE_MATTERS.
+
+	* tm-3b1.h (__PTR_TO_INT, __INT_TO_PTR): Define these, to alter
+	parts of obstack.h.
+
+Sun Jul 24 17:56:53 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Padding for an arg may now go below or above it; new macro
+	FUNCTION_ARG_PADDING can now choose which, or can inhibit padding.
+	This makes for compatibility with PCC.
+	* expr.h: Default definition of that macro.
+	* expr.c (emit_push_insn): Put the padding above or below.
+	(expand_call): Don't count the padding if none wanted.
+	* stmt.c (assign_parms): Adjust parm stack addr if padded below.
+	Don't count the padding if none wanted.
+	* tm-3b1.h: Define FUNCTION_ARG_PADDING: no padding for > 4 bytes.
+
+	* final.c (alter_subreg): Now returns the altered value
+	(but may still modify the original structure).
+	Handles (SUBREG:DI (CONST_DOUBLE:DF...)) by returning the CONST_DOUBLE.
+
+	* m68k.md (DImode push): now allows `F'.
+	* ns32k.md (movdi): now allows `F'.
+
+	* tm-m68k.h (FIX_FRAME_POINTER_ADDRESS):
+	Handle indexed references to frame pointer.
+	* tm-i386.h, tm-m88k.h, tm-sparc.h: Likewise.
+
+	* cse.c (predecide_loop_entry): Must search for the loop top label.
+
+Sat Jul 23 08:53:01 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* parse.y (yylex): typo in wide strings.
+
+	* tm-vaxv.h, config-vaxv.h: New files for sysV on vax.
+
+	* config-sun4.h: If sparc and not compiling with GCC, include alloca.h.
+
+Fri Jul 22 02:38:02 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* tree.c (build_real_from_int_cst): CHECK_FLOAT_VALUE at proper place.
+
+	* tm-hp9k320.h ({TEXT,DATA}_SECTION_ASM_OP): Should not include a tab.
+	* final.c (final_start_function): Don't output a tab before those.
+
+	* sdbout.c (PUT_SDB_EPILOGUE_END): New macro.
+	* sdbout.c (sdbout_end_epilogue): New function to output the C_EFCN.
+	Like former sdbout_mark_end_function.  Uses that macro.
+	* final.c (final_end_function): Call that function.
+	* tm-3b1.h: Override PUT_SDB_EPILOGUE_END like the other PUT_SDB...
+
+	* tm-3b1.h (PRINT_OPERAND_ADDRESS, ASM_OUTPUT_INTERNAL_LABEL,
+	ASM_OUTPUT_CASE_{LABEL,END}): Put a % in names of internal labels.
+	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT):
+	New macros, for same reason.
+	(FUNCTION_PROFILER): New macro, for % and also to put addr in a0.
+
+	* final.c (output_source_line): For fcn's first line, use lineno 1.
+	* sdbout.c (sdbout_end_function): Clear sdb_begin_function_line
+	so can recognize first line of next function.
+
+	* sdbout.c (sdbout_init): Output the .file pseudo here.
+	* tm-3b1.h, tm-att386.h (ASM_FILE_START): Don't do it here.
+
+	* sdbout.c (PUT_SDB_VAL): Output leading tab, like the other macros.
+	* tm-3b1.h (PUT_SDB_VAL): Likewise.
+
+	* regclass.c (regclass): Cast enums to int, not char.
+	* varasm.c (record_constant): Likewise.  Avoids 3b1 PCC bug.
+
+	* decl.c (pushdecl): Better choice of error message for extern/static.
+
+	* emit-rtl.c: Do look for STRUCT_VALUE_INCOMING_REGNUM.
+
+Thu Jul 21 02:13:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (canon_hash): CONST_INT case failed to add to prev. value
+	of HASH; was inconsistent with cse_insn mem address hashing.
+
+	* m68k.md (divide insns): Alternate 3B1 syntax for `swap' insn.
+
+Wed Jul 20 18:27:10 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* m68k.md: In shift-by-24 patterns, rejects autoincrement memrefs
+	since they are mode-dependent.
+
+Tue Jul 19 13:01:38 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* parse.y (check_newline): Handle #ident by writing .ident to output.
+	* cccp.c: Don't handle #ident; delete IDENT_DIRECTIVE conditionals.
+
+	* stmt.c (expand_end_case): In compares, put constant arg second.
+
+	* jump.c (jump_optimize): Delete conditional jump if followed by
+	an unconditional jump to the same place.
+
+Mon Jul 18 17:49:13 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* emit-rtl.c (init_emit_once): Now STRUCT_VALUE_INCOMING is an
+	expression for an rtx.  It can make a MEM.  Likewise STRUCT_VALUE
+	for outgoing structure value addresses.
+
+	* stmt.c (assign_parms): If incoming struct addr on stack, leave room.
+	* expr.c (expand_call): If outgoing addr on stack, push it like an arg.
+
+	* PROMOTE_PROTOTYPES means if proto says `char', pass `int'.
+	* decl.c (get_parm_info): Alter DECL_ARG_TYPE to do this.
+	* typecheck.c (actualparameterlist): Convert value for this.
+	* tm-m68k.h: Define PROMOTE_PROTOTYPES.
+
+Sun Jul 17 14:25:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): peephole can delete insns following INSN.
+	Set NEXT after peephole.
+
+	* decl.c (finish_decl): Always restart perm alloc if global.
+
+	* stmt.c (assign_parms): When a float is passed as double, store the
+	float in low-numbered word.  Avoids trouble with parm_map in integrate.
+
+	* vax.md: New pattern for decrement and compare against -1.
+
+Sat Jul 16 14:18:00 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* decl.c (pushdecl): Ignore previous decl if it's really an error_mark.
+
+	* stmt.c (expand_start_case): Make sure case_stmt.start is a NOTE.
+
+	* combine.c (subst): In the simplification for
+	(set (zero_extract ...) (and/or/xor (zero_extract ...) const)),
+	require same memory location in both extracts.
+
+	* *386*: New files.
+
+	* cse.c (fold_rtx): Save time in memory address if it didn't change.
+	Don't replace cheaper expression with coslier one.
+	(cse_insn): Reenable generation of REG_WAS_0.  It wasn't obsolete.
+
+	* cccp.c: `ident' has 5 letters.
+
+	* final.c (output_source_line): SDB can't handle multiple source
+	files, so ignore line-NOTEs for other files.
+
+	* hard-reg-set.h: New var reg_class_size (# regs in the class).
+	* regclass.c (init_reg_class): Set it up.
+
+	* reload.c (find_reloads): If an earlyclobber is in a class of size 1
+	as an output, reload it as input instead of as output.
+
+	* reload1.c (choose_reload_targets): Improve elimimation of spilled
+	pseudos made dead by reloading: if pseudo is limited to one block
+	and that block contains just stores, delete all the stores.
+
+	* reload1.c (choose_reload_targets): reg_has_output_reload is now
+	static and survives through reload pass.
+	(forget_old_reloads): Don't cancel data on spilled regs of output
+	reloads of the insn just made.
+
+	* sdbout.c (sdbout_one_type): Go to .text before defining a type.
+	(sdbout_block): Test against do_block was backwards.
+
+	* stmt.c (expand_end_function): New args to make a NOTE for last line.
+	* decl.c (finish_function): Pass the args.
+
+	* rtl.c (no_labels_between): New function.
+	* vax.md (movsi): Call it.
+
+	* print-tree.c (dump): Don't follow chain of a decl.
+
+	* rtl.c (volatile_refs_p): Moved from flow.c.
+
+Fri Jul 15 13:36:20 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* sdbout.c (PUT_SDB...): Allow config to override any of them.
+	* sdbout.c (PUT_SDB_{BLOCK,FUNCTION}_{START,END}): New macros.
+	* tm-3b1.h: Override all of them.
+	* sdbout.c (SDB_GENERATE_FAKE): New macro to create dummy tag name.
+	(gen_fake_label): Use SDB_GENERATE_FAKE.
+	* tm-3b1.h: Override its defn.
+
+	* sdbout.c (sdbout_mark_function_end): Unused; deleted.
+
+	* tm-3b1.h: Define SDB_DEBUGGING_INFO.
+
+Thu Jul 14 01:55:15 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* config-sunv4.h: New file for Sunos version 4.
+
+	* tm-sun3.h (CPP_SPEC): Define mc68010 or mc68020, depending.
+
+Tue Jul 12 15:31:30 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_fixup, expand_goto_internal): New functions to
+	emit a jump that can restore the stack level, even without tree node.
+	(expand_null_return, expand_exit_loop, etc.): Use expand_goto_internal.
+	(expand_end_function): Do fixup_gotos after emitting return_label.
+
+	* cse.c (predecide_loop_entry): Avoid using JUMP_LABEL.
+	* flow.c (find_basic_blocks): Avoid using JUMP_LABEL.
+
+	* flow.c (insn_dead_p): Delete special case for stack-adjust insns.
+	(life_analysis): Mark those insns with INSN_VOLATILE here.
+	(mark_used_regs): a SET of a hard reg, in a volatile insn,
+	always makes its source live.
+
+Mon Jul 11 10:46:26 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* ns32k.md (floatqidf2): Commented out since assemblers warn about it.
+
+Sun Jul 10 11:49:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* decl.c (xref_tag): Default the TYPE_MODE of enum xrefs
+	to avoid making MEM and REG with VOIDmode.
+
+	* vax.md (call): If > 255 args, pop them explicitly.
+
+Sat Jul  9 10:53:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* symout.c (symout_types): Fix up forward refs to previously
+	undefined structure types.
+	(filter_undefined_types): New function.
+	(symout_finish, symout_function_end): Output any never-defined structs.
+	* toplev.c (rest_of_compilation): call symout_function_end.
+
+	* parse.y: Don't declare errno if it's a macro.
+
+	* tm-hp9k320 (FUNCTION_PROFILER): Pass ptr in a0, not d0.
+
+	* typecheck.c (truthvalue_conversion): Flush unnec recursive call.
+	(build_cond_expr): Bug testing zeroness of IFEXP with TREE_LITERAL.
+
+	* cse.c (fold_cc0): Constants not CONST_INT are certainly nonzero.
+	* fold-const.c (fold): ADDR_EXPR is not equal to zero.
+
+	* cccp.c (macroexpand): Disable the macro even if traditional.
+	(rescan): Error if use a disabled macro.
+
+	* combine.c (try_combine): Don't substitute a different reg into
+	an auto-increment.  Handle multiple REG_INC notes in I1 or I2.
+
+	* decl.c (implicitly_declare): Don't reuse old implicit decl.
+
+	* varasm.c (assemble_variable): Avoid syntax err if no DBX and no SDB.
+	* final.c (output_source_line): likewise.
+
+	* fold-const.c (fold): PLUS/MINUS_EXPR: in case of cancellation,
+	convert result to original type.
+
+	* regclass.c (reg_class_record): Changed arguments include address
+	of entire vector of constraints.
+
+Fri Jul  8 07:59:00 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (reload): Find groups of more than 2 registers.
+
+Thu Jul  7 08:33:07 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_push_insn): Typo adjusting arg for bcopy
+	if not STACK_GROWS_DOWNWARD.
+
+	* gnulib.c (_cmpsf2): Value is int, not SFVALUE.
+
+Wed Jul  6 11:53:46 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-encore.h, tm-3b1.h: Replace ASM_FILE_START; output a .file.
+
+	* *m88*: New files for Motorola 88000.  They don't really work.
+
+Tue Jul  5 14:40:03 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* local-alloc.c (combine_regs): Don't tie a reg to itself.
+
+	* finxincludes: Make a variable LIB for the target dir.
+
+	* m68k.md (movhi, addhi3, addsi3): Micro-optimize choice of asm insns.
+
+	* expr.c (expand_expr): Use new macros NO_DEFER_POP, OK_DEFER_POP
+	in several places, to keep stack predictable.
+
+Mon Jul  4 09:50:18 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (function_cannot_inline_p): Increase threshold size.
+
+	* flags.h (use_gdb_dbx_extensions): New variable.
+	* toplev.c:
+
+	* sdbout.c (PUT_SDB_TAG): Delete duplicate defn.
+
+	* expr.c (expand_expr): For FIX_TRUNC_EXPR to unsigned short/char,
+	REALLY go via signed int.
+
+	* loop.c (may_trap_p): Was detecting floating arithmetic incorrectly.
+
+	* tm-news800.h (CPP_PREDEFINES): Add sony and sony_news.
+
+	* parse.y (check_newline): Avoid infinite loop at eof.
+
+Sat Jul  2 10:35:17 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.24 released.
+
+	* stmt.c (expand_asm_operands): Produce proper no-outputs insn.
+	* recog.c (asm_noperands): Detect no-outputs insns.
+	(decode_asm_operands): Likewise.
+	* reload.c (find_reloads): Likewise (add case ASM_OPERANDS:).
+
+	* local-alloc.c (block_alloc): Tests of qty_compare were backwards.
+
+	* flow.c (life_analysis): Turn off code that finds regs live at
+	function start and marks them not local to any basic block.
+
+	* cse.c (insert_regs): Fix typo (UNITS_PER_WORD).
+
+	* cccp.c: Define max.
+
+	* expr.c (expand_expr): Put each SAVE_EXPR's reg on save_expr_regs,
+	if not optimizing.
+	* stmt.c (expand_function_end): Mark each of those regs live
+	at the end and also retroactively at the beginning of the function.
+
+	* output-vax.c (print_operand_address): New function from old macro.
+	* tm-vax.h (PRINT_OPERAND_ADDRESS): Call that function.
+
+	* config-vms.h: If not under GNU C, define X_OK, etc.
+
+	* expr.c (move_by_pieces_1): Use * to call GENFUN.
+	(expand_expr): Compare DECL_FUNCTION_CODE against an enum const.
+	(preexpand_calls): Likewise.
+	* genrecog.c (write_tree): Likewise.
+	* final.c (final): Use * to call the output function.
+	* reload.c (push_reload): Rename `noshare' to `dont_share'.
+
+	* genoutput.c (output_epilogue): Put more newlines in insn_outfun.
+	* genemit (gen_exp): Put in more newlines.
+
+Fri Jul  1 00:23:57 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* global-alloc.c (allocno_compare): Avoid comparisons of floats
+	since that is sensitive to roundoff errors.
+
+Thu Jun 30 09:25:40 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (PUT_SDB_{DEF,TAG}): Use ASM_OUTPUT_LABELREF.
+	(PUT_SDB_PLAIN_DEF): New name for old defn of PUT_SDB_DEF
+	(sdbout_one_type): Use PUT_SDB_PLAIN_DEF for `.eos'.
+
+	* tree.c (allocation_temporary_p): New fcn.
+	(all_types_permanent): New variable.
+	(make_node): If that's set, make each ...TYPE node permanent.
+	* decl.c (grokdeclarator): If traditional, make decl data permanent.
+	(finish_decl): Make the rtl permanent too.
+	* stor-layout.c (layout_type): If type is permanent,
+	make its layout data permanent too.
+
+	* cccp.c: Choose C++ or C at run time via var `cplusplus'.
+	Separate cplusplus_include_default from include_default.
+	Get GNU-specific include directory names from macros
+	GCC_INCLUDE_DIR and GPLUSPLUS_INCLUDE_DIR.
+	(main): Initialize based on CPLUSPLUS; `-+' sets it.
+	* Makefile: Set *_INCLUDE_DIR based on $(libdir).
+
+Tue Jun 28 09:25:49 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.c (copy_node): Round LENGTH up to multiple of sizeof (int).
+
+	* expr.c (emit_push_insn): Avoid using PUSH_ROUNDING if not defined.
+
+	* sparc.md (floatsisf2): Insert missing brace.
+	(mulsi3): Replace reg_o0_rtx, reg_o1_rtx.
+
+	* tm-sparc.h: Define DBX_DEBUGGING_INFO.
+
+	* parse.y (yylex): If traditional, no error for out-of-range float.
+
+	* Makefile: Comment saying how to compile on an Apollo.
+
+	* tm-sparc.h (ASM_FILE_START): Switch to new calling convention.
+
+	* decl.c (init_decl_processing): Create type nodes for 64-bit ints.
+	(grokdeclarator): use them for `long long'.  Warn only if pedantic.
+
+	* optabs.c (init_optabs): Add missing DImode insn names.
+
+	* expr.c (emit_block_move, emit_push_insn): Use movstrqi if appro.
+
+	* expr.c (convert_move): use extendsidi if appropriate.
+
+	* cccp.c (initialize_builtins): Don't install __STDC__ if traditional.
+	(main): Call initialize_builtins after option processing.
+
+	* integrate.c (output_inline_function): Set current_function_decl.
+
+	* cse.c (fold_rtx): Typo in avoiding 32-bit shifts.
+
+	* cccp.c: Add forward-decl.
+
+Mon Jun 27 18:06:42 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* hard-reg-set.h (reg_alloc_order): New variable
+	based on REG_ALLOC_ORDER, a new machine-description macro.
+	* regclass.c (reg_alloc_order): Define it.
+	* local-alloc.c (find_free_reg): Handle reg_alloc_order.
+	* global-alloc.c (find_reg): Likewise.
+	* stupid.c (stupid_find_reg): Likewise.
+
+Sun Jun 26 10:47:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.23 released.
+
+	* tm-3b1.h: Define IDENT_DIRECTIVE.
+
+	* tm-encore.h: Define SDB_DEBUGGING_INFO.
+	Define SCCS_DIRECTIVE and IDENT_DIRECTIVE.
+
+	* output-ns32k.c: Decl of paren_base_reg_printed must be outside fcns.
+
+	* tm-encore.h (ASM_OUTPUT_DOUBLE): Do 0f, not 0l.
+	(CPP_PREDEFINES): No -Dns32032.
+
+	* sdbout.c: Include syms.h, not storclass.h.
+	(unnamed_struct_member): Decl was missing.
+	(PUT_SDB_INT_VAL, PUT_SDB_VAL): Fix typos.
+	(sdbout_types, sdbout_one_type, sdbout_parms): Fix typos.
+
+	* Makefile: Add file sdbout.o.
+	Changed comments pertaining to sysV.
+	Make a separate target `doc' to make the info files.
+
+	* m68k.md (bit-field insns): Use nonimmediate_operand for the thing
+	to extract from.
+	* vax.md (QImode bit-field insns): Likewise.
+
+	* recog.c (nonimmediate_operand): Accept any nonconst general operand.
+
+Sat Jun 25 07:54:42 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (lookup_as_function): arg to exp_equiv_p was missing.
+
+Fri Jun 24 09:14:47 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* recog.c (memory_operand): Allow (subreg (mem...)).
+
+Thu Jun 23 07:34:07 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* decl.c (finish_enum): Compute minimum value like maximum.
+	If minimum is negative, install it in the type and make it signed.
+
+	* stor-layout.c (layout_record): STRUCTURE_SIZE_BOUNDARY is minimum.
+	(layout_type): A RECORD_TYPE or UNION_TYPE must be BLKmode if
+	any member is BLKmode.  This is to prevent putting it in a register.
+	(layout_decl): If decl's type is BLKmode, the decl *must* be BLKmode.
+
+	* local-alloc.c (find_free_reg): Never allocate the frame pointer reg.
+
+	* tm-sequent.h (PRINT_OPERAND): Bug in SFmode CONST_DOUBLE.
+	* tm-encore.h: Likewise.
+
+	* flow.c (flow_analysis): Bug in n_basic_blocks error check.
+
+	* stmt.c (expand_asm_operands): Emit no insn if an arg is erroneous.
+
+Tue Jun 21 08:34:24 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (find_reloads_address): Write back *loc even if
+	subst_reg_equivs makes no change, in case subst_index_address did.
+
+	* flow.c: Define macros for -1 and -2 as values of reg_basic_block.
+	(mark_used_regs): Add an `else'; no change in behavior.
+	(mark_label_ref): Abort if LABEL_REF doesn't contain a CODE_LABEL.
+	(find_basic_blocks): Extra error check.
+
+	* output-ns32k.c (print_operand_address): Changes in handling of
+	register-indirect, and of indexing by sb register.
+
+Mon Jun 20 04:55:38 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (collect_definition): Compute needed space more accurately.
+	Abort if use more space than was allocated.
+	(rescan) [USE_C_ALLOCA]: Do alloca (0) after handle_directive.
+
+	* genflags.c (gen_insn): Put parens around defns of HAVE_... macros.
+
+Sun Jun 19 02:52:53 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_push_insn): Consider PARM_BOUNDARY when compensating
+	for size of a pushed arg to bcopy.
+
+Sat Jun 18 07:20:54 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* New files sparc.md, tm-sparc.h, config-sparc.h, output-sparc.c.
+
+	* final.c (final): After an ADDR_{,DIFF_}VEC, do ASM_OUTPUT_CASE_END.
+	* tm-3b1.h: Define ASM_OUTPUT_CASE_END.
+	(PRINT_OPERAND_ADDRESS): Ref the case tables via an intermediate symbol
+	`LDnnn' whose def. is output by ASM_OUTPUT_CASE_END.
+	(ASM_OUTPUT_CASE_LABEL): Add missing newline.
+
+	* reload.c (find_equiv_reg): Reject a MEM containing an autoincrement.
+
+Fri Jun 17 06:58:37 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* genpeep.c (main): Write `extern' in the decl for `peep_operand'.
+
+	* flow.c (propagate_block): When a dead insn has a REG_RETVAL note,
+	call mark_set_regs anyway, so that `significant' is updated.
+
+	* jump.c (follow_jumps): New arg IGNORE_LOOPS.  If 0, don't follow
+	the insn at the beginning of a loop that enters the loop; this avoids
+	interference with loop optimizer.
+	(jump_optimize, tension_vector_labels): Pass that arg.
+
+	* loop.c (loop_optimize): Mention invalid multiple-entry loops in log.
+
+	* m68k.md (extv, extzv): Fix # of alternatives mismatch in constraints.
+
+Thu Jun 16 03:06:48 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* genrecog.c (change_state): Was mishandling printing XVECEXP indices 
+	greater than 9.
+
+	* combine.c (subst, simplify_and_const_int): Avoid making SUBREG
+	of a non-REG.
+
+	* expr.c (expand_expr): For FIX_TRUNC_EXPR to unsigned short/char,
+	go via signed int.
+
+	* optabs.c (expand_fix): Copy hard_libcall_value reg only once.
+
+	* reload1.c (order_regs_for_reload): Init all elements
+	of  potential_reload_regs to -1.
+
+	* Prevent generation of (set (reg) (plus ... (label_ref ...))).
+	* explow.c (memory_address_noforce): Like `memory_address' but
+	never force it into a register.
+	* expr.c (do_tablejump): Use that.
+	* m68k.md (casesi): Use that.
+
+	* rtl.h (struct rtx_def, GET_CODE, PUT_CODE): If SHORT_ENUM_BUG,
+	define the `code' field as a short.
+
+Wed Jun 15 01:25:57 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (CPP_SPEC): New spec set by config.h gives flags to cpp.
+	* tm-*.h for m68k: Define CPP_SPEC to define __HAVE_FPU__ on
+	appropriate conditions.
+
+	* combine.c (subst): Simplify (not (minus x 1)) and (neg (minus x y)).
+
+Mon Jun 13 02:22:43 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* typecheck.c (build_array_ref): Avoid duplicate errmsg if index
+	is an error-mark.
+
+Sun Jun 12 23:04:39 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* cccp.c (handle_directive): If -traditional, quotes aren't special.
+	(rescan): Assume newline ends a string constant.
+
+	* cccp.c, cexp.y: Make all fcns non-static; add some forward decls.
+
+	* various: add static forward-decls for various functions.
+
+Fri Jun 10 00:25:18 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (choose_reload_targets): When writing back an incremented
+	value (handling reload_inc), write back to the real place, not to
+	OLDEQUIV (a register that holds the same value).
+
+	* tm-m68k.h (LEGITIMIZE_ADDRESS): Don't give force_operand a target.
+	This can cause the use of multiple insns with same output reg,
+	which can confuse cse.
+
+	* loop.c (consec_sets_invariant_p):
+	If invariant_p ever returns 2, we return 2.
+	New arg is # of consecutive sets to look for,
+	since this info is no longer in n_times_set at move_movables.
+	(scan_loop): If consec_sets_invariant_p returns 2, set m->cond.
+	(move_movables): check consecutive insns if m->consec && m->cond.
+
+	* tm*.h: ASM_DECLARE_FUNCTION_NAME now takes 3rd arg,
+	the FUNCTION_DECL node.
+	* varasm.c (assemble_function): Pass this arg.
+
+	* expr.c (expand_call, expand_builtin [alloca]):
+	If STACK_POINTER_OFFSET is defined, add it to stack pointer contents
+	before using it as address of actual data on the stack.
+	* stmt.c (expand_decl): Likewise.
+
+	* stmt.c (assign_parms): If 1st parm named `__builtin_va_alist'
+	came in regs, pretend it came on stack.
+	Handle pretending a BLKmode var came on the stack.
+	If REG_PARM_STACK_SLOT, count stack space for each parm
+	even if the parm came in a register; and use that stack space
+	if the parm needs to be addressable or is BLKmode.
+	Rearrange to simplify conditionals.
+
+Thu Jun  9 01:21:29 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* local-alloc.c:
+	`qty_...' vectors' elements for hard-reg-numbers now aren't used.
+	`reg_qty' elements for hard-reg numbers now aren't used,
+	and the element for a pseudo is never a hard-reg number.
+	(local_alloc): No need to reset those elements.
+	No need to reset elements out of range of prev block's NEXT_QTY.
+	(reg_is_born, reg_is_set, wipe_dead_reg):
+	Divide labor in same way for hard regs and pseudos;
+	simplify using fact that locality-to-basic-block has been precomputed
+	and recorded in reg_qty; avoid refs to reg_qty[HARDREG].
+	(reg_is_born, wipe_dead_regs): Block-number arg no longer needed.
+
+	* local-alloc.c (combine_regs): Remove old code for tying hard regs
+	to pseudos; great simplification results.
+	Use find_regno_note, not regno_dead_p.
+
+Wed Jun  8 00:18:04 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (subst_reg_equivs): Set a flag if anything is changed.
+	(find_reloads_address): Check that flag to avoid extra work.
+	Also check early for safe reg+const address and avoid work.
+
+	* reload.c (find_reloads): Use loops instead of bcopy.
+	Check early for insn with no real constraints, and return.
+	Also check for move from hard reg to hard reg and return.
+
+	* cse.c (canon_reg): Rewrite for speed; use a switch.
+	(cse_insn): Don't call find_reg_note if REG_NOTES is 0.
+
+	* cse.c (cse_insn): Store modified SET_SRC even if there's a REG_EQUIV.
+	Inhibition was needed when the SET_SRC was the only place to find the
+	equivalent value; now it is in the REG_EQUIV note.
+
+	* stmt.c (expand_asm_operands): If NINPUTS is 0, make vec of no elts.
+	* regclass.c (reg_scan_mark_refs): Don't lose if XVEC (x,i) is 0.
+
+Tue Jun  7 03:51:28 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (assign_stack_local): If big-endian and MODE is narrow,
+	the bytes actually used are the least significant.
+
+	* parse.y (skip_white_space): Accept char as arg; let caller read it.
+	(yylex): Change call.
+	(check_newline): Return 1st nonwhite char after skipping lines.
+	(skip_white_space): Change call.
+	* toplev.c (compile_file): Change call.
+
+	* gcc.c: Pass -traditional to cc1.
+
+	* cse.c (cse_insn): Return very early for (set (reg) (call...)).
+	Mainly to save time.
+	(cse-insn) Old code to add REG_WAS_0 note wasted time but did nothing.
+
+	* expr.c (clear_pending_stack_adjust): Really do clear it,
+	if current fcn doesn't want to be inline.
+
+	* cse.c (cse_insn): Speedup: instead of safe_hash, use canon_hash
+	or HASHREG.
+
+Mon Jun  6 21:47:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (rtx_renumbered_equal_p): Reject ADDR_VEC fast.
+
+	* cse.c (cse_insn): Ignore a REG_EQUIV or REG_EQUAL note if the
+	equivalent value is the same as the SET_SRC of the insn.
+
+	* flow.c (life_analysis): Don't call volatile_refs_p for a CALL_INSN;
+	just assume value is 1.
+	(propagate_block): Don't call mark_{used,set}_regs for a stack-pop
+	since if it isn't dead it has no effect on any useful life data.
+	(mark_set_1): Return quickly if setting stack-ptr, and almost as
+	quickly if setting any hard reg.
+	(mark_used_regs): Likewise for refs.
+	Also don't scan the vector of an ADDR_VEC or ADDR_DIFF_VEC.
+	(volatile_refs_p): Likewise.
+
+	* varasm.c (output_constant): Discard NOP_EXPR and CONVERT_EXPR
+	in integer case (they were for casting a pointer).
+
+	* parse.y (compstmt_or_error): Parse a compstmt after ignoring error.
+	Use this for fctn body so that an error after store_parm_decls
+	won't recover to xdecls and call store_parm_decls again.
+	Typical cause was missing semi at end of last parmdecl.
+
+	* parse.y: Add missing semicolons in actions.
+	(yylex): Don't use yylloc.
+
+Sun Jun  5 16:14:40 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* typecheck.c (build_array_ref): Check arg types here, to make
+	error message more accurate (not about "addition").
+
+Thu Jun  2 02:41:40 1988  Richard Stallman  (rms at rice-krispies.ai.mit.edu)
+
+	* cccp.c (collect_expansion): `#' isn't special if -traditional.
+
+	* dbxout.c (dbxout_parms): Don't output a regparm symbol
+	unless the parm got a hard reg assigned.
+
+	* tm-encore.h (ASM_OUTPUT_DOUBLE): Use 0f... not 0d...
+
+	* tm-vax.h (CHECK_FLOAT_VALUE): Define this.
+
+Wed Jun  1 17:13:00 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_call): Have sequence points between args.
+
+Tue May 31 00:27:06 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (store_fixed_bit_field): Avoid shifting by 32.
+	* cse.c (fold_rtx):
+	* symout.c (subrange_p):  likewise.
+
+	* local-alloc.c (block_alloc): If operands 1 and 2 commute,
+	try tying output to operand 2 if operand 1 won't do.
+
+	* toplev.c (compile_file): Pass main_input_file to symout_init.
+
+	* tree.c (build_real, build_real_from_int_cst):
+	Call CHECK_FLOAT_VALUE if it's defined, to report out-of-range values.
+
+	* tree.c (build_real, build_real_from_int_cst): New 1st arg TYPE.
+	* parse.y (yylex): Pass this arg; requires parsing suffixes first.
+	* fold-const.c (fold, combine, fold_convert): Pass this arg.
+	Handling of float binops in `combine' simplified.
+
+	* tm-encore.h (CPP_PREDEFINES): Remove -Dencore since CC lacks it.
+
+	* final.c (output_source_line): Let ASM_OUTPUT_SOURCE_LINE
+	be used for SDB also.
+
+Mon May 30 00:21:15 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (insert): Was inserting in wrong place in list.
+	(exp_equiv_p): Was failing to check validity when x == y.
+
+	* tree.c (build_pointer_type): Handle saveable_obstack
+	like current_obstack.
+
+	* decl.c (finish_decl): Error in test for zero-size array warning.
+
+	* reload.c (find_equiv_reg): New arg MODE specifies mode in which
+	an equivalent value is needed.  Equivalence must be good in that mode.
+	In addition, notice overlap with multiword register modes.
+	Simplify, knowing that registers have already been renumbered.
+	It was invalidating memory-goals too easily; setting a reg
+	only invalidates memory-goal if its address varies.
+	* reload.c, reload1.c, jump.c: Calls pass the new argument.
+
+	* cccp.c: For correct ANSI, must reject `$' in identifiers.
+	(dollars_in_ident): Variable says whether to allow them.
+	(rescan): Handle `$' as randomchar if that's 0.
+	(main): dollars_in_ident is set to 0 by -$, to 1 by -traditional.
+	(rescan, do_define): Delete former pedantic warnings for `$'.
+	(initialize_char_syntax, initialize_builtins): Inits split to two
+	functions; former is called after options are scanned
+	so `$' is in is_idchar conditionally.
+	* gcc.c: For -ansi, pass -$ to cccp.
+	* toplev.c, flags.h: Define dollars_in_ident.
+	* parse.y (yylex): Treat $ as punctuation unless dollars_in_ident.
+	Delete old pedantic warning about $.
+	* tm-vms.h: Define DOLLARS_IN_IDENTIFIERS as 1.
+
+	* cccp.c (rescan): Preprocessing numbers can have signs, after `e'.
+
+	* integrate.c (expand_inline_function): Abort, don't return failure,
+	if max_regno is too low.  I believe this can't happen.
+
+	* typecheck.c (build_binary_op_nodefault):
+	For ordered comparisons, no pedantic warning about void *.
+	For MAX, MIN, ditto, and also don't allow pointer vs 0.
+
+	* typecheck.c (build_unary_op): Don't allow pointer for +.
+
+	* typecheck.c (convert_for_assignment): 
+	Add missing warning for	case of unrelated pointer types.
+	Change criteria for new ANSI C draft.
+
+	* optabs.c (expand_binop): Don't set unused target_is_not_an_operand.
+
+	* fold-const.c (fold_convert): Don't set unused inprec, outprec.
+
+	* emit-rtl.c, parse.y: Delete unused var.
+
+	* stor-layout.c (add_vc_sizes): Unused function deleted.
+	* loop.c (constant_high_bytes): #if 0 this unused function.
+
+	* gcc.c (fatal): Add missing arg to delete_temp_files.
+
+	* cccp.c (dump_defn_1): Add missing arg to skip_quoted_string.
+
+	* reload.c (find_reloads): If constraints don't fit in an `asm',
+	print error instead of aborting.
+
+	* regclass.c (reg_class_record): Ignore `&' in constraint.
+
+Sun May 29 00:20:23 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile: Run ranlib only if /usr/bin/ranlib exists.
+	Add comment saying what to do on system V.
+
+	* tree.c (suspend_momentary): Switch to the saveable_obstack
+	for the sake of inline functions.
+
+	* flags.h (enum debugger): New enum for write_symbols.
+	* toplev.c, varasm.c, final.c: Use the enum constants where appro.
+	Add calls to sdbout paralleling the calls to dbxout;
+	put each in the appropriate conditional {SDB,DBX}_DEBUGGING_INFO.
+
+	* toplev.c (main): Delete -noreg option; it's now the default.
+	Make -O an alias for -opt.  Rename -g to -gg.  -g is alias for -G.
+	Accept and ignore -Wtrigraphs.
+	* gcc.c: Simplify the specs.
+
+	* toplev.c (compile_file), tm-*.h:
+	ASM_FILE_START is now a statement, not just a string to be output.
+	Output it *after* determining the real source file name.
+
+	* fold-const.c (fold): Simplify x >= CST to x > CST-1 (CST positive).
+	To simplify this, canonicalize relationals to put constat last.
+
+	* decl.c (duplicate_decls): Make a 2nd errmsg to show previous decl.
+
+	* cccp.c (file_size_and_mode): Delete temporary VMS bootstrap patch.
+
+	* tm-att386.h: New file.
+
+	* decl.c (pushdecl): Warn if a local `extern' decl precedes
+	a file-scope `static' decl.
+
+	* expr.c (expand_call): No warning for failure to inline.
+
+	* expmed.c (extract_bit_field): copy operand 1 of extv or extzv
+	into register if memory isn't allowed.
+
+Sat May 28 02:10:56 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib.c, Makefile: Delete va_end.
+
+	* final.c, symout.c: Check DBX_DEBUGGING_INFO, not NO_DBX_FORMAT.
+
+	* genemit.c (gen_expand): Notice a CALL inside a PARALLEL.
+
+	* regclass.c (init_reg_sets_1): Part of init_reg_set is put in this
+	new fn which is called after options are scanned.
+	Now CONDITIONAL_REGISTER_USAGE can depend on the options.
+	(fix_register): Just alter the data that init_reg_sets_1 will look at.
+
+	* reload1.c (reload): Don't complain if two different but tieable
+	modes require groups of the same regclass (assuming same size group).
+
+	* cccp.c: Add 3rd arg to all `open' calls.
+
+	* parse.y (check_newline): Typo prevented ignoring whitespace.
+
+	* cccp.c (perror_with_name): fprintf had harmful extra arg.
+
+	* cccp.c (main, trigraph_pcp): -Wtrigraphs means warn if any trigraphs.
+
+	* emit-rtl.c (gen_sequence): If LEN is 1, avoid looking at PATTERN
+	of something that doesn't have one.
+
+	* reload1.c (alter_frame_pointer_addresses): frame pointer can
+	occur by itself, not just inside a PLUS.
+	(reload): Call eliminate_frame_pointer before reload_as_needed.
+	Otherwise the latter can make reload insns that copy the frame ptr
+	to a data reg, but 68k can't copy sp+const to a data reg.
+
+	* decl.c (implicitly_declare): Always save the implicit decl
+	permanently.  Reuse an old one if it exists.
+	* tree.c (resume_temporary_allocation): Used after `end_temporary...'
+	to go back to temporary allocation.
+
+	* stor-layout (layout_{type,decl}): Call variable_size.
+	(variable_size): Turn a size into a SAVE_EXPR and either compute
+	it right away or put it on a list to be computed later.
+	(get_pending_sizes): Return that list and clear it out.
+	* stmt.c (expand_start_function): Tell `variable_size' to compute
+	sizes right away, and compute those saved on the list.
+	(expand_end_function): Tell it to put them on a list.
+
+Fri May 27 00:02:34 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): For local static var, use 'V', not 'v'.
+
+	* gcc.c (main): Don't handle SIGHUP or SIGTERM if shell ignored it.
+
+	* Makefile, gcc.c: Propagate Make var `libdir' to gcc search path.
+
+	* expr.c (expand_expr): a PARM_DECL with no rtl can occur in size of
+	`a' in `foo (a,i) int i; struct {int x[i];} a;', so report an error.
+
+	* flow.c (insn_dead_p): insn that makes stack bigger is never dead.
+	* combine.c (try_combine): Don't splice out stores into stack ptr.
+
+	* reload.c (find_equiv_reg): Test given regno for OVERLAPPING_REGNO_P.
+
+	* varasm.c (assemble_variable): Use saveable_obstack for allocation.
+
+Thu May 26 01:17:00 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* integrate.c (save_for_inline): Clear unused slots in parmdecl_map.
+	(There may be some non-parm regs below max_parm_regno.)
+	* integrate.c (copy_for_inline): Don't crash if parmdecl_map elt is 0.
+
+	* Don't fail to output a static inline function that was referenced
+	via a local extern decl before its definition.
+	* expr.c (expand_call): If need to mark a fcn decl addressable,
+	mark the identifier addressable also.
+	* typecheck.c (mark_addressable): If marking fcn addressable,
+	mark the identifier as well.
+	* decl.c (start_function): If identifier was marked addressable,
+	propagate it to the function.
+
+	* parse.y (yylex): Check for ERANGE after atof is called.
+	(Sun doesn't report ERANGE.)
+
+	* loop.c (may_trap_p): Any floating arithmetic may trap.
+
+Wed May 25 00:03:34 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* parse.y: Delete `noalias'.
+	(asm_operand): Don't allow this to be empty.
+	(asm_operands): Do allow this to be empty.
+
+	* reload.c (operands_match_p): Don't let REG and SUBREG match
+	if the reg isn't a hard reg.
+	No longer nec. to check reg_renumber, now that reload
+	substitutes the hard regno.
+
+	* reload1.c (reload): Counting existing spilled groups,
+	check HARD_REGNO_MODE_OK so we don't get fooled by an odd-even pair.
+	Spill entire need for new groups before spilling any solitary regs.
+	Reg already counted against max_nongroups can't become part of a group.
+	(new_spill_reg): Do bookkeeping associated with a new spill-reg.
+	(n_spills): This var is now static, no longer passed as arg
+	within the file.
+
+	(reload_reg_class_lower): Handle all group-reloads before solitaries.
+	(choose_reload_targets): therefore #if 0 the special code for
+	finding solitary registers that aren't suitable for groups.
+	But fix two bugs in it: braino deciding whether a reload
+	is looking for 1 register (not a group).  Use CLASS_MAX_NREGS.
+	Also braino deciding whether a spill reg can be in a group.
+	Did not fix bug that it fails to test HARD_REGNO_MODE_OK,
+	so it might split up an even-odd pair.
+
+	* vax.md: Special patterns for 8 and 16-bit fields, to make
+	move-insns (like the ones for the 68k).
+
+	* tree.c (convert_to_integer): Pass truncation down thru COND_EXPR
+	as through a binary operator.
+
+	* typecheck.c (build_cond_expr): If unpromoted operand types match,
+	don't promote them--let containing expression promote (just once).
+
+Tue May 24 14:46:26 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* combine.c (subst): Simplify (subreg (sign_extend X) 0).
+
+	* tm-hp9k320.h: Delete NO_DBX_FORMAT.
+	* Most tm...h files: Define DBX_DEBUGGING_INFO.
+	* dbxout.c: Change conditional to DBX_DEBUGGING_INFO.
+
+	* integrate.c (expand_inline_function): If inline fcn was declared to
+	return QI, but actually computes an SI, use SImode for INLINE_TARGET
+	but actually return a QI.
+
+	* varasm.c (force_const_mem): Failed to determine alignment bdry
+	from machine mode.
+
+	* jump.c (jump_optimize): Don't delete (move X Y) if X or Y is a
+	PRESERVE_DEATH_INFO_REGNO_P register.
+
+	* final.c (output_addr_const): In PLUS, output constant term last.
+
+	* final.c (final): Before outputting an insn, do FINAL_PRESCAN_INSN.
+
+	* final.c (next_block_index): No longer static.
+	(final): Add SDB_DEBUGGING_INFO cases for outputing NOTEs
+	for beginning and end of a block.
+	(output_source_line): Add SDB_DEBUGGING_INFO case for line number.
+	* varasm.c (assemble_function): Add code for SDB symbol output.
+
+	* gnulib.c: Allow config to override INTIFY.
+	New macro SFVALUE for data type to return a single-float in.
+
+	* combine.c (remove_death): No longer `static'.
+
+	* reload1. (choose_reload_targets): PRESERVE_DEATH_INFO_REGNO_P
+	selects hard regs for which death info should be updated for final.
+
+	* reload1.c (reload_as_needed): Let INSN_CLOBBERS_REGNO_P
+	prevent inheritance of certain reloads.
+
+	* reload.c (find_equiv_reg): Let OVERLAPPING_REGNO_P reject
+	an equiv reg.  Needed for funny float regs on 80387.
+
+	* cccp.c (do_ident): Define #ident as a no-op if IDENT_DIRECTIVE.
+	Warn if pedantic.
+	(do_sccs): Warn if pedantic.
+
+	* emit-rtl.c (restore_reg_data): Set cur_insn_uid--prevent duplicates.
+
+Sun May 22 12:25:06 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* Version 1.22 released.
+
+	* reload1.c (reload): Spilling isn't finished till max_nongroups is 0.
+
+	* tm-encore.h (PRINT_OPERAND): No `$' before a CONST.
+
+Sat May 21 13:08:54 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* fold-const.c (combine): Typo in MIN_EXPR, MAX_EXPR.
+
+	* reload1.c (reload): Was counting insn_groups as total size of groups,
+	not number of groups.
+	A new spilled group counts against group-needs of superclasses.
+
+	* parse.y (parmlist{,_or_identifiers}_1): In error case,
+	return a tree list just as in the other cases.
+
+Fri May 20 02:14:51 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* config-vax.h, config-m68k.h: If __GNUC__, use builtin-alloca.
+
+	* genpeep.c (match_rtx): Generated code was testing the wrong rtx
+	when testing an int or string at a nonzero index in the rtx.
+
+	* reload.c (find_reloads): Typo checking `modified' for conflict
+	with an earlyclobber.
+
+	* reload.c (find_equiv_reg): Reject stack ptr as return value.
+
+	* expr.c (expand_builtin): Alloca must do pending stack adjust.
+
+Thu May 19 13:01:01 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* flow.c (propagate_block): Skipping back across libcall didn't happen
+	due to failing to set PREV.
+
+	* expr.c (emit_library_call): Code to increment and decrement
+	current_args_size broke since emit_call_1 was changed to restore it.
+
+	* combine.c (try_combine): When i1 or i2 auto-incs a reg, don't combine
+	if i3 uses that reg.
+
+	* config-hp9k3.h: #define bcopy, bcmp, bzero here.
+	* conf-hp9k320.h: Delete file.
+
+	* integrate.c: Don't include strings.h--no need.
+
+	* stmt.c (expand_asm_operands): Don't make zero-length vectors.
+
+	* loop.c (scan_loop): After a fcn call, maybe-trap insns can't move.
+	The fcn call might exit and that would prevent the trap.
+
+	* reload1.c (reload): Set reload_first_uid to next uid to be used.
+	* reload.c (find_equiv_reg): Use reload_first_uid to ignore insns
+	that are due to reloading--only if reload_reg_p is not 0 or 1.
+
+Wed May 18 22:11:20 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* typecheck.c (build_unary_op): Don't complain about array
+	as argument to `!'.
+
+	* decl.c (pushdecl): If locally declaring an extern function,
+	check the identifier's global value in case it's an inline function.
+
+Mon May 16 03:06:08 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* output-ns32k.c (output_shift_insn): New fn, maybe turn shift to adds.
+	(reg_or_mem_operand): Predicate for a non-immediate general_operand.
+	* tm-ns32k.h (CONST_OK_FOR_LETTER_P): Define letter K.
+	* ns32k.md: Use output_shift_insn for various addr insns that shift.
+	Don't allow nonexplicit constants in lprd, multiply or truncate insns.
+	Use reg_or_mem_operand for constraint in op1 of divide insns;
+	a constant there causes regclass to screw up.
+	Split alternative constraints on the bit-field insns to avoid
+	out-of-range operands in exts, inss.  Some cases of extraction
+	can be done faster via memory.
+
+	* flow.c (mark_set_1): When adding a REG_DEAD note, inc reg_n_deaths.
+
+	* dbxout.c (dbxout_type_def): Do nothing for {integer,char}_type_node.
+
+Sun May 15 00:56:44 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* tm-sequent.h, tm-ns32k.h, tm-encore.h (PRINT_OPERAND):
+	Was treating SF's as SI's.
+
+	* expr.c (emit_move_insn): Check all CONST_DOUBLEs for
+	LEGITIMATE_CONSTANT_P and put them in memory if not.
+
+	* local-alloc.c (combine_regs): Allow a reg to be tied to a qty
+	if the reg's class is contained in the qty's class
+	(as well as if the reg's class contains the qty's class as before).
+	Rename qty_reg_class to qty_min_class and make it the smallest
+	class of any reg tied to the qty.
+	(reg_class_subset_p, reg_meets_class_p, update_qty_class):
+	New subroutines to implement this.
+	(local_alloc): Init reg_qty to -1 for pseudos not in cur. basic block.
+	(reg_is_born): Abort if pseudo not in basic block has -2 in reg_qty.
+
+	* jump.c (rtx_renumbered_equal_p): Insist that modes of REGs match.
+
+Sat May 14 01:05:35 1988  Richard Stallman  (rms at lucky-charms.ai.mit.edu)
+
+	* stmt.c (expand_return): Empty frame frame_offset isn't nec. 0.
+
+	* expr.c (emit_call_1): Use stack_size_rtx everywhere appropriate.
+
+	* decl.c (init_decl_processing): Set sizetype to `unsigned long'
+	if `int' is less than a word.
+
+	* stddef.h (size_t, ptrdiff_t): Both are now long.
+
+Fri May 13 01:06:00 1988  Richard Stallman  (rms at lucky-charms.ai.mit.edu)
+
+	* emit-rtl.c (gen_lowpart): Handle non-lowpart subreg as arg.
+
+	* recog.c (register_operand): VOIDmode means allow any mode.
+	(immediate_operand, nonmemory_operand): Likewise.
+
+	* emit-rtl.c (classify_insn): Update for changed CALL_INSN format.
+	(emit): New function to emit an rtl pattern as the right kind of insn.
+	* jump.c (simplejump_p): No longer static.
+
+	* genemit.c (gen_expand): For match_operand at top level, call `emit'.
+	Use `emit_call_insn' when appropriate.
+	(gen_exp): Handle rtx's that contain strings.
+
+	* final.c, symout.c: If not NO_DBX_FORMAT, include stab.h to get the
+	N_... symbols.  Use their default definitions only if they're undef.
+
+	* expr.c (expand_call) [no PUSH_ROUNDING]: Always set argblock
+	if there are any stack-passed arguments.
+
+	* typecheck.c (build_unary_op): Mark all increment-exprs volatile.
+
+	* recog.c (reg_renumbered_fits_class_p): Delete private copy of
+	reg_class_contents.
+
+	* reload1.c (forget_old_reloads): Handle PARALLEL case by recursion.
+	Explicit store into a spilled reg invalidates old reloaded contents;
+	this can occur when we drop through into a basic block whose need was 0
+	(and so whose local pseudos were not spilled).
+
+	* gcc.c (main): If -v, print gcc's own version; also no error msg
+	if no input files.
+
+	* loop.c (may_trap_p): Mem ref to nonconstant address may trap.
+	(scan_loop): Check may_trap_p only when insn is in other respects ok.
+
+	* cexp.y: #include config.h (for decl of alloca on some machines).
+
+Thu May 12 17:24:19 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* regclass.c (regclass): When inserting an insn at start of block,
+	update basic_block_head.
+
+Wed May 11 00:47:09 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* stmt.c (assign_parms): DECL_OFFSET should be offset as passed
+	(not including big-endian width-change correction).
+
+	* typecheck.c (shorten_compare): Set unsignedp[01] right in case
+	where get_narrower makes no change.
+	(build_binary_op_nodefault): Likewise for shortening shifts.
+
+	* stmt.c (expand_end_case): Use type_for_size to get the type
+	to convert the index to, since `int' is wrong if -mshort.
+
+	* decl.c (grokdeclarator): Don't check PARM type for completeness.
+	(grokparms): If fn definition, check all parm types for completeness.
+	(store_parm_decls): Likewise.
+
+Tue May 10 22:42:13 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* typecheck.c (store_init): For invalid init, store error_mark_node.
+	* varasm.c (assemble_variable): Ignore error_mark as an init.
+	* stmt.c (expand_decl): If init is error_mark, init to 0 if possible.
+	This avoids a spurious "uninitialized variable" warning.
+
+Sun May  8 17:08:07 1988  Richard Stallman  (rms at lucky-charms.ai.mit.edu)
+
+	* tm-hp9k320.h: Define STRUCTURE_SIZE_BOUNDARY.
+
+	* decl.c (get_parm_info): Replaces get_parm_types.  Returns a tree_list
+	containing parmdecls and tag list as well as type list.
+	(grokparms): Accept that tree_list as argument.
+	(grokdeclarator): Calling grokparms, say "not a definition" for the
+	function declarators for arg or value types within a definition.
+
+	* parse.y: Call get_parm_info.
+	(parmlist_or_identifiers): If identifiers, make a tree_list
+	like the one get_parm_info returns.
+
+Fri May  6 16:44:19 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* m68k.md (casesi): Delete template aside from match_operand's.
+
+	* tm-encore.h: New file from Robert Brown.
+
+	* ns32k.md: Use %c in some addr insns.
+	(tst*): Use {d,f,}const0_rtx to make the constant 0; OS-independent.
+	(call, call_value): Use %? before address in a bsr.
+
+	* output-ns32k.c (print_operand_address): To output a local label,
+	use `output_asm_label'.
+	Make SEQUENT_ADDRESS_BUG conditionals happen at compile time.
+
+	* tm-ns32k.h: Delete SEQUENT_HAS_FIXED_THEIR_BUG.
+	(PRINT_OPERAND): Output nothing for `%?'.
+	* tm-sequent.h: (PRINT_OPERAND): Output nothing for `%?'.
+
+	* final.c (output_asm_label): No longer `static'.
+
+Thu May  5 09:03:37 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* explow.c (memory_address): Ignore flag_force_reg unless optimize.
+	Also ignore it for addresses of stack slots (avoid invalid REG_EQUIVs).
+
+	* typecheck.c (digest_init): If traditional, allow `char x[100]=0;'.
+
+	* tree.c (get_unwidened): Don't alter a COMPONENT_REF if
+	innerprec equals the precision of the existing type.
+	It was changing pointers to integers.
+
+	* m68k.md (movdi): Put all fpregs in separate constraint alternatives
+	and handicap them so spill reg won't be an fp reg.
+
+	* parse.y (yyerror): Use the arg as part of the error message.
+
+	* decl.c (start_function): Give the RESULT_DECL type int rather
+	than char or short.
+	* typecheck.c (c_expand_return): Convert value from fn's return type
+	to the RESULT_DECL's type.
+
+	* Avoid generating dbx xrefs to enums, since dbx loses on them.
+	Do this by outputting all types in order of definition.
+	This is done only for top-level types; problem remains for local ones.
+
+	* decl.c (finish_decl): Do rest_of_decl_compilation for TYPE_DECLs.
+	* toplev.c (rest_of_decl_compilation): Do dbxout_symbol for them.
+
+	* dbxout.c (dbxout_symbol): Check DECL_RTL only for fns and variables.
+	For a TYPE_DECL, ignore it if the type was already output
+	and its preferred name is the TYPE_DECL.  Else output type in full.
+
+	* decl.c (pushdecl): Don't prefer typedef names to type tag names.
+
+	* stor-layout.c (chain_type): Build chain in forward order.
+
+
+	* tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Error getting length of table.
+
+	* tm-3b1.h: #define SGS_3B1 was missing.
+
+	* typecheck.c (build_compound_expr): Ignore non-volatile subexprs.
+
+	* fold-const.c (fold): Simplify (unsigned) foo >= 0, etc.
+
+	* stor-layout.c (layout_type): Set TYPE_PRECISION of ptr types.
+
+Wed May  4 08:06:25 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* parse.y: Don't use the Bison @ construct, since it makes parser slow.
+
+	* decl.c (finish_function): Delete FILENAME and LINE args.
+
+	* typecheck.c (digest_init): No pedantic warning for array="string".
+
+Tue May  3 09:09:30 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* toplev.c (main): Ignore `-Wcomment'.
+	* gcc.c: Pass -Wall to cpp (which treats it like -Wcomment).
+
+	* tm-isi68.h: Greatly simplified; now works only with GAS.
+
+	* tm-m68k.h (EMPTY_FIELD_BOUNDARY): now 16 (right on Sun, ISI and HP).
+	* tm-sun3.h: No need to redefine it.
+
+	* decl.c (finish_struct): Don't ever make DECL_ALIGN smaller.
+
+	* decl.c: Rename min, max to MIN, MAX.
+
+	* typecheck.c (convert_for_assignment): Avoid warning if assigning
+	a `void *' from a `const void *'.
+
+	* combine.c (FAKE_EXTEND_SAFE_P): Turn off for mem refs; avoid faults.
+
+Mon May  2 07:28:27 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* tm-vax.h: Support -mg switch to use g-float instead of d-float.
+	New macros TARGET_G_SWITCH, ASM_DOUBLE_CHAR.
+	Changes in TARGET_SWITCHES, ASM_OUTPUT_DOUBLE.
+	Define code `#' for PRINT_OPERAND.
+	* vax.md: use `#' in opcodes for doubleword float.
+
+	* tm-vax.h: Define UDIVSI3_LIBCALL and UMODSI3_LIBCALL.
+
+	* cccp.c (main, do_include): Implement -I- switch.
+
+	* jump.c (jump_optimize): When hunting NOTE_INSN_FUNCTION_END,
+	skip final RETURN (found on the vax).
+
+	* toplev.c (main): -Wall is equiv to all -W switches combined.
+
+	* stmt.c (expand_decl, expand_end_bindings,
+	expand_{start,end}_function).  The -noreg treatment of `register' vars
+	is extended to vars used as addresses of vars in memory (varying-size
+	structures).
+	(use_variable): Emit USE for regs used in specified rtx.
+
+	* cse.c (fold_cc0): Stack-frame addresses are always nonzero.
+	(fold_rtx): 0200 bit in prev_insn_cc0 means only zeroness is known.
+
+	* parse.y (parmlist): poplevel needs 3 args.
+
+Sun May  1 07:20:34 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* decl.c (start_function): typo checking for incomplete return type.
+
+	* emit-rtl.c (restore_reg_data): If a pseudo appears nowhere,
+	don't leave its slot empty; create a pseudo for that slot.
+
+	* Version 1.21 released.
+
+	* expr.c (expand_call): Merge duplicate code for structure_value_addr.
+
+	* emit-rtl.c (restore_reg_data): Delete error check; it's legit for
+	a pseudo reg to appear nowhere in the rtl.
+
+Sat Apr 30 07:35:31 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* integrate.c (copy_rtx_and_substitute): Fix typo for arg_pointer_rtx.
+
+	* decl.c (poplevel): Undo previous change with #if 0.
+
+	* stmt.c: `struct nesting' now records the depth on the stack.
+	Each expand_start... must update and record the depth;
+	each expand_end... uses macro POPSTACK to pop.
+	This way, if a level isn't explicitly popped, it won't cause
+	circular structure.
+
+	* dbxout.c (dbxout_type): Replace with main variant only if incomplete.
+
+	* typecheck.c (build_unary_op): Test of `pedantic' was backwards.
+
+	* expr.c (STACK_BYTES): Typo in definition.
+
+	* typecheck.c (build_binary_op_nodefault): Rename code1 to code0,
+	and likewise for code2, tt1, tt2.
+
+	* expr.c (expand_call): Wrong arg order for warning_with_decl.
+
+Fri Apr 29 08:41:06 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* integrate.c (copy_decl_tree): New arg is depth in recursion.
+	Always discard the outermost LET_STMT being copied; never discard any
+	others.  This way the copied LET_STMTs correspond to the copied NOTEs.
+
+	* varasm.c (decode_rtx_const): For SYMBOL_REF, use string address
+	not address of the rtx.  Library fns have only one copy of the name
+	but many copies of the SYMBOL_REF.
+
+	* expr.c (emit_call_1): New arg OLD_ARGS_SIZE is used to reset
+	current_args_size.
+	(emit_library_call, expand_call): Pass new arg; don't restore it here.
+
+	* flow.c (life_analysis): Don't mark sp live at end if fn is empty.
+
+	* parse.y (parse_or_identifiers_1): Handle `error' in here, not in
+	callers notype_declarator etc.  Also read the closeparen here.
+
+Thu Apr 28 12:43:52 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* expmed.c (expand_shift): In extzv strategy, handle the operand
+	predicates for operands 0, 1 and 3.  (Not needed for 2.)
+	* vax.md: extzv pattern for SImode op1 must recognize general_operand
+	since the pattern named "extzv" allows them.
+
+Wed Apr 27 00:52:44 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* expr.c (emit_call_1): New arg NEXT_ARG_REG describes # regs
+	used for passing args.
+	(emit_library_call, expand_call): Provide that argument.
+
+	* explow.c (round_push): New fn: round arg up to STACK_BOUNDARY.
+	* expr.c (expand_builtin): Use round_push on size for __builtin_alloca.
+	* stmt.c (expand_decl): Likewise for variable-size objects.
+	* expr.c (expand_call): Likewise for args_size.var.
+	Also use STACK_BOUNDARY to round a constant arg-block size.
+	Pass emit_call_1 that rounded value.
+	(emit_library_call): Round arg_size with STACK_BOUNDARY.
+	* tm-spur.h: Define STACK_BOUNDARY instead of ROUND_CALL_BLOCK_SIZE.
+	* tm-m68k.h: Define STACK_BOUNDARY as 16.
+
+	* expr.c (emit_call_1): Don't change current_args_size.
+	(emit_library_call, expand_call): Always restore current_args_size
+	to ambient value, after calling emit_call_1.
+
+	* tm-hp9k320.h: Don't define USG here.
+	* config-hp9k3.h: New file.  USG defined here.
+
+	* tm-3b1.h: #undef ASM_OUTPUT_ASCII (a defn came from tm-hp9k320.h).
+
+	* decl.c (grokdeclarator primarily): Cast all RID_... to (int) before
+	using them in arithmetic.  Placates CC on Sequent.
+
+	* emit-rtl.c (emit_jump_insn): Return proper value, for a SEQUENCE.
+	* emit-rtl.c (emit_call_insn): Handle SEQUENCE like emit_jump_insn.
+
+Tue Apr 26 02:41:26 1988  Richard Stallman  (rms at lucky-charms.ai.mit.edu)
+
+	* cccp.c (macroexpand): If traditional, don't disable called macro.
+	(macarg1): Was failing to count backslash-newline inside a string
+	in a macro arg as part of file's linenumber.
+
+Mon Apr 25 18:46:53 1988  Richard Stallman  (rms at lucky-charms.ai.mit.edu)
+
+	* jump.c (jump_optimize): Don't do April 20 optimization on first
+	iteration; let other simpler opts be done before this is considered.
+
+Sun Apr 24 02:45:28 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* tree.c (staticp): a CONSTRUCTOR can be static.
+
+	* varasm.c (output_constant_def): Always return memref, not address.
+
+	* decl.c (complete_array_type): New fn, make an array type complete
+	based on an initializer.
+	(finish_decl): Use complete_array_type.
+	* parse.y (expr_no_commas): When parsing a constructor,
+	Use complete_array_type	on constructors for incomplete array types.
+
+	* typecheck.c (digest_init, store_init_value,process_init_constructor):
+	It's now TREE_STATIC, not TREE_ADDRESSABLE, that records that all elts
+	in a CONSTRUCTOR are simple constants.
+	(digest_init): A CONSTRUCTOR with non-null type is treated as ordinary
+	expression, not as a braced initializer.
+	Allow init of an array from an array-valued expr; warn if pedantic.
+	* expr.c (expand_expr, CONSTRUCTOR case): Put in memory only if static.
+	Was making an extraneous level of MEM; output_constant_def does it all.
+
+	* typecheck.c (build_unary_op): Allow ADDR_EXPR of static CONSTRUCTOR.
+	(default_conversion): Likewise.
+	(initializer_constant_valid_p): Constructor is ok if static.
+
+	* gcc.c: Change -fnostd... to -nostd...
+	* cccp.c (main): Likewise.
+
+	* Everywhere: Use REG_NOTE_KIND to get the kind of a reg note.
+
+	* rtl.c (find_regno_note): New function.
+	* flow.c (flow_deadp): Deleted; caller uses find_regno_note.
+	* global-alloc.c (reg_dead_p): Deleted.
+	(global_conflicts): Use find_regno_note instead of reg_dead_p.
+
+	* final.c (final) Use find_reg_note to look for a REG_INC.
+	* combine.c (insn_has_inc_p): deleted; callers use find_reg_note.
+	(try_combine): Use find_reg_note whenever looking for a REG_INC.
+	(regno_dead_p, remove_death): Check the REG_NOTE_KIND before assuming
+	that the datum in it is a REG.
+	* reload1.c (reload): Use find_reg_note to find a REG_EQUIV.
+
+	* gcc.c: Don't delete .o files if not all compilations succeed.
+	(record_temp_file): New arg SUCCESS_ONLY--delete file only if succeed.
+	(delete_temp_files): New arg SUCCESS says compilation succeeded.
+	(store_arg): Now 3 possibilities for arg TEMPNAMEP; 2 = del on success.
+	(do_spec_1): For %d, set delete_this_arg to 2.
+
+	* decl.c (poplevel): Warn about any still-incomplete type-tags.
+
+Sat Apr 23 02:54:16 1988  Richard Stallman  (rms at rice-krispies.ai.mit.edu)
+
+	* expr.c (expand_builtin): For alloca, round arg up to multiple
+	of PARM_BOUNDARY.  Also to convert it to Pmode unless it already is.
+
+	* stor-layout.c (layout_union): Bug in 14 April change:
+	use caller-specified alignment as minimum, not as maximum.
+
+	* parse.y (skip_white_space): Avoid infinite loop on unterm. comment.
+
+Fri Apr 22 00:22:59 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* cccp.c: Text following #else or #endif is just a warning.
+	(rescan): Digit-case was dropping into the $-case; reorder.
+
+	* cccp.c (rescan): Comment start when -traditional was output as
+	`/*'; should be nothing.
+
+	* jump.c (jump_optimize): Fix prev change:
+	do nothing if range1end == range2end;
+	don't lose any NOTEs when splicing.
+
+	* flow.c (propagate-block): For CALL_INSN, clobber the call-used regs
+	only after mark_set_regs is done; avoids confusion about lifespan
+	of function value reg.
+
+	* gcc.c: Pass -Wcomment to cpp.
+
+	* cccp.c (main, rescan): If -Wcomment, warn if `/*' inside comment.
+
+	* decl.c (duplicate_decls): Ignore `inline' decl following definition.
+
+	* m68k.md (casesi): Split it up into subroutines, so insns emitted
+	by the call to memory_address (on 68000) come in the right place.
+
+	* combine.c (record_dead_and_set_regs): Notice storing in a SUBREG.
+
+	* integrate.c (expand_inline_function): Insn to copy a subroutine's
+	return-value was being output twice, once incorrectly.
+
+	* reload.c (find_equiv_reg): A stack-push insn does not invalidate
+	an equiv for a goal in memory.
+	Any other write to memory does invalidate any goal in memory
+	(PARALLEL case failed to check for this).
+
+	* expmed.c (expand_shift): In the extzv clause, force shifted value
+	out of memory if -fforce-mem.
+
+	* print-tree.c (prtypeinfo): Some attributes were missing.
+	(dump): In ..._TYPE nodes, ignore the TREE_CHAIN field.
+
+	* cse.c (note_mem_written): Pushing on stack does not invalidate mem.
+
+	* vax.md (extv/andl peephole opt): Made incorrect code if output was
+	pushed on stack.  Added special case code.
+	(extv, extzv for SImode operand): Require register_operand.
+
+Thu Apr 21 00:24:52 1988  Richard Stallman  (rms at corn-chex.ai.mit.edu)
+
+	* stmt.c (assign_parms): Round current_function_pretend_args_size up.
+
+	* integrate.c: `pushlevel' arg was missing.
+
+	* dbxout.c (dbxout_type): Undo rest of March 29 change:
+	When a named type is first seen inside another type, output an xref
+	and let the real definition come out later.
+	It is strange that Sun dbx has sometimes appeared to demand
+	one strategy and sometimes appeared to demand the other.
+
+	* typecheck.c (convert_for_assignment): Allow conversion to or from
+	`const void *', etc., unless pedantic.
+
+	* decl.c (get_parm_types): For `foo (void){}', set last_function_parms
+	to nil so store_parm_decls won't lose.
+
+	* combine.c (subst): (plus (plus X N) -N) => X.
+
+	* explow.c ({anti_,}adjust_stack): Don't make a copy of
+	`stack_pointer_rtx'.
+
+	* integrate.c (expand_inline_function): Typo testing for the
+	USE that indicates a CALL_INSN's value is being returned.
+
+	* expr.c (expand_builtin, alloca case): Copy arg to reg before
+	adjusting stack, to avoid invalid insns on some machines.
+
+Wed Apr 20 00:15:14 1988  Richard Stallman  (rms at rice-krispies.ai.mit.edu)
+
+	* typecheck.c (build_binary_op_nodefault): When shortening,
+	get_narrower may make no change because ARGn is already narrow.
+	In this case, set UNSIGNEPn from ARGn's type.
+
+	* typecheck.c: Rename ARG1,ARG2 to ARG0,ARG1, etc. in several fns.
+
+	* tm-vax.h: Turn off continuation on DBX output.
+
+	* typecheck.c (build_function_call): Don't change __builtin_ffs to an
+	FFS_EXPR.  Note that __builtin_alloca has always made a CALL_EXPR.
+	* expr.c (expand_builtin): New function expands all CALL_EXPRs that
+	are really built-in functions.
+	(preexpand_calls): Do nothing to a CALL_EXPR for a built-in function.
+
+	* loop.c (count_loop_regs_set): Don't move a reg that is in a CLOBBER.
+
+	* stupid.c (stupid_mark_refs): Was getting hard reg's mode from
+	the wrong place.
+
+	* rtl.c (note_stores): Typo in checking vector elt for SET vs CLOBBER.
+
+	* stmt.c (expand_end_bindings): If restoring stack level, 
+	first do pending stack adjust (so it won't be done erroneously after).
+	(expand_goto): likewise.
+
+	* rtl.h: LABEL_NUSES was an rtx.  It should be an int.
+	* stmt.c (expand_label, expand_goto): Delete frobbing with LABEL_NUSES;
+	the value stored there was the same as the CODE_LABEL rtx.
+
+	* jump.c (jump_optimize): Detect  if (foo) ...; else { ... break;}
+	and change to  if (! foo) { ... break;} else ...; so can drop out.
+	(next_label): New fn returns the next label after given insn.
+
+Tue Apr 19 21:30:05 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* flow.c (insn_dead_p): Delete special handling for stack ptr.
+	(mark_set_regs, mark_used_regs): Likewise.
+	(life_analysis): Mark stack ptr live at end of fn if necessary.
+	(propagate_block): Mark stack ptr live leading up to a CALL_INSN.
+
+	* jump.c (jump_optimize): #if 0 around stack-adjust-deletion code.
+
+	* cse.c (fold_rtx): Change const_arg from an array to 3 separate
+	scalars for the first three operands.
+	Handle SIGN_EXTEND and ZERO_EXTEND.
+
+	* integrate.c (copy_rtx_and_substitute): If arg is 0, return 0.
+	(expand_inline_function): Separate vars for old pattern and new insn.
+
+	* expr.c (expand_call): Set TREE_ADDRESSABLE if call is not inlined.
+
+Tue Apr 19 02:25:22 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* Version 1.20 released.
+
+	* tm-ns32k.h: Define new reg class GEN_OR_FLOAT_REGS
+	so that GENERAL_REGS and FLOAT_REGS have a union.
+
+	* tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): Recognize a stack-push.
+	* ns32k.md: Many constraints must now allow or reject pushes.
+	Delete the special patterns for pushing.
+
+Mon Apr 18 06:02:39 1988  Richard Stallman  (rms at rice-krispies.ai.mit.edu)
+
+	* reload1.c (forget_old_reloads): For a multiword hard reg,
+	forget old reloads for each word.
+
+	* reload.c (find_reloads): Typo in calling push_replacement.
+
+	* tm-ns32k.h (HARD_REGNO_MODE_OK): Failed to allow fp regs for SFmode.
+
+Sun Apr 17 01:21:35 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* tm-sequent.h (PRINT_OPERAND): Handle absolute integer memaddress.
+
+	* ns32k.md: Add DImode push insns.  Add QImode and HImode push insns.
+	Supply missing statement in movsf.
+
+	* dbxout.c (dbxout_type): Don't contin before 1st field of struct.
+
+	* dbxout.c (dbx_continue): Use DBX_CONTIN_CHAR instead of backslash.
+
+	* loop.c (scan_loop): Ov vax, the "loop-entry jump" can be a return,
+	in which case perhaps there is no label following it.
+	Detect phoniness of loop before looking for that label.
+
+	* decl.c (init_decl_processing): Builtin fn names start with `__'.
+
+	* typecheck.c (shorten_compare): Warn about constant result only in
+	cases like (char)x < 0x80, where old C compilers made it -0x80.
+
+	* vax.md: All jbs/jbc/jlbs/jlbc patters with op0 in SImode
+	must reject mode-dependent memory addresses.
+
+	* recog.c (mode_independent_operand): Test for general operand
+	that doesn't have a mode-dependent memory address.
+
+	* varasm.c (assemble_function): ASM_DECLARE_FUNCTION_NAME, if def,
+	is now responsible for outputting the function name as a label.
+
+Sat Apr 16 05:02:55 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* cccp.c (do_xifdef): Warn about punctuation or other junk in argument.
+	Warn about no argument.  If pedantic, warn if arg starts with digit.
+	If traditional, ignore all after first non-idchar and never warn.
+
+Thu Apr 14 01:12:59 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Typo for addressable parms.
+
+	* cse.c (insert_regs): Copying half a DImode into half of another
+	does not make the two DImode regs equivalent.
+
+	* recog.c (general_operand): Was failing to accept symbol_ref:SI
+	when MODE arg was VOIDmode.
+
+	* expr.c (preexpand_calls): For RTL_EXPR, do nothing.
+
+	* decl.c (start_enum, build_enumerator): Remember default for next one
+	as a tree node (so the high-half isn't lost in a negative one).
+
+	* stor-layout.c (layout_{record,union}): Pay attn to initial value
+	of TYPE_ALIGN in computing final alignment.
+	(layout_union): Round size up to multiple of the alignment.
+
+	* decl.c (finish_struct): Don't alter size after type is laid out.
+	Instead, set TYPE_ALIGN before layout_type.
+
+	* reload1.c (choose_reload_targets): Introduce reg_has_output_reload.
+	If there are two separate reloads (one in and one out)
+	for the same (hard or pseudo) reg, always set reg_last_reload_reg
+	based on the output reload.
+
+Wed Apr 13 21:26:16 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* reload.c (find_reloads_address_1): Always barf if a "constant"
+	register is autoincremented.
+
+	* parse.y (structsp): suspend_momentary before start_enum;
+	else some nodes made by start_enum might be momentary.
+
+	* stmt.c (expand_start_case): New arg is nominal type for comparison
+	(which is the promoted type of the index expression).
+	(pushcase): Always convert VALUE to that nominal type
+	before validating it.
+	* parse.y (case stmt): Promote each case-value before pushcase.
+	* typecheck.c (c_expand_start_case): Promote the index-expr
+	to determine the nominal type, before get_narrower.
+
+Wed Apr 13 12:43:08 1988  Chris Hanson  (cph at kleph)
+
+	* tm-hp9k320.h: Define ASM_FORMAT_PRIVATE_NAME.  HPUX asm forbids
+	`.' in identifiers, so use `___' (there is some danger in this choice).
+
+Tue Apr 12 23:26:48 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* local-alloc.c (block_alloc): Make 1 extra slot in regs_live_at.
+
+	* stmt.c (optimize_bit_field): Function moved from reload1.c.
+	When need to generate a SIGN_EXTEND or ZERO_EXTEND, make it a separate
+	insn and use gen_extend_insn to make it.
+	* optabs.c (gen_extend_insn): New fn, construct body of an insn
+	to extend Y and store in X.
+
+Mon Apr 11 19:20:57 1988  Richard Stallman  (rms at rice-krispies.ai.mit.edu)
+
+	* decl.c (finish_decl): Error if static var has variable size.
+
+	* parse.y (yylex): Warn if int const is out of range.
+
+	* parse.y: New keyword __alignof.
+	* typecheck.c (c_alignof): Given a type, return its alignment in bytes.
+
+	* typecheck.c (c_sizeof{,_nowarn)): Don't return integer_one_node;
+	use build_int to make sure we get something with type `sizetype'.
+
+	* Support variable-sized structures (containing var-sized arrays).
+
+	* stmt.c (assign_parms): Handle parms whose size varies.
+	Use `memory_address' when constructing memrefs to args;
+	no need to set `invalid_stack_slot'.
+	Don't make a REG_EQUIV note for a scalar arg at variable offset.
+	* stor-layout.c (genop, build_int): No longer `static'.
+
+	* stor-layout.c (convert_units): Optimize ceil (ceil(x,2)*2, 4) etc.
+
+	* stmt.c (expand_decl): Don't abort if var-sized object has init.
+	Convert variable size from units of DECL_SIZE_UNIT to units of bytes.
+
+	* expr.c (emit_push_insn): Arg ARGS_SO_FAR is now an rtx.
+	Pay attention to ARGS_ADDR even if machine has push insns.
+	(expand_call): Handle variable-sized arguments.
+	If have any such, push entire arg-block in advance.
+	Record each arg's offset during first loop and don't change args_size
+	during the actual pushing loop; this way the actual pushing loop
+	works regardless of arg-order if arg-block was pushed in advance.
+	(push_block): Copy SIZE to reg unless it's a reg or constant.
+
+	* expmed.c (expand_divmod): If converting CEIL_DIV to FLOOR_DIV,
+	make new pseudo for incremented value, to help cse understand.
+
+Sun Apr 10 00:07:45 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* expr.c (emit_library_call): Two dumb bugs calling emit_call_1.
+
+	* dbxout.c (dbxout_symbol): Handle case of (MEM (REG frameptr)).
+
+	* cccp.c (skip_if_group): Ignore quote-chars if -traditional.
+	(rescan): If -traditional, don't output a space for a comment.
+	(handle_directive): If not -traditional, output a space for a comment.
+
+Sat Apr  9 21:26:51 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* decl.c (get_parm_types): `void' type is error, except as entire list.
+	* parse.y (parmlist_1): `void,...' is error.
+
+	* typecheck.c (pointer_int_sum, pointer_diff):
+	Use an integer type with at least POINTER_SIZE bits.
+	* expr.c (expand_expr, ARRAY_REF): Likewise.
+	* tree.c (type_precision): Prec of a pointer is POINTER_SIZE.
+	(convert_to_pointer): Directly convert any int w/ width==POINTER_SIZE.
+	Other int types convert via an int of that width.
+	(convert_to_integer): Pointers convert via an int of that width.
+
+	* decl.c (init_decl_processing): Use INT_TYPE_SIZE, if def,
+	to set width of `int' and `unsigned int'.
+	(make_index_type): Give new type the width of a long int.
+
+	* tm-m68k.h: Add new -mshort which controls TARGET_SHORT.
+	* tm-m68k.h: Define INT_TYPE_SIZE depending on TARGET_SHORT.
+
+Fri Apr  8 05:02:59 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* typecheck.c (require_complete_type): Fix typo in detection of `void'.
+	(build_function_call): Fix backward test to allow `void' values.
+
+	* dbxout.c (dbxout_tags): Output each tag once even if type is defined.
+
+	* m68k.md (movstrictqi): Reject addr-reg always, for both operands.
+
+	* tm-vax.h (STRUCTURE_SIZE_BOUNDARY): Make this always 8, for BSD.
+	* tm-ultrix.h: New file, overriding STRUCTURE_SIZE_BOUNDARY.
+	[This change has been taken out; tm-ultrix.h is now equivalent to
+	tm-vax.h.  I must have been confused when testing PCC.]
+
+	* integrate.c (expand_inline_function): Don't let inline_target
+	be nonzero in BLKmode.
+
+	* decl.c (grokdeclarator): Const array parm becomes ptr-to-const.
+
+Thu Apr  7 05:02:41 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* genoutput.c (bcopy, bzero): Renamed to mybcopy, mybzero
+	so variation in C library and config.h won't affect the results.
+	* genrecog.c (bzero): likewise.
+	* genextract.c (bcopy): Fn deleted; used only in a string constant. 
+
+	* varasm.c (force_const_mem): Fix typo in arg decl.
+
+	* toplev.c (compile_file): init_file with main_input_filename
+	so dbx output doesn't lack N_SOL symbols.
+
+	* cccp.c (rescan) [CPLUSPLUS]: Put out // comments as // comments.
+
+Wed Apr  6 14:06:38 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* expr.c: Delete SLOW_ZERO_EXTEND conditionals added March 3.
+	Now that enums types can be unsigned, this isn't needed.
+
+	* emit-rtl.c (emit_jump_insn): Handle SEQUENCEs.
+
+	* genemit.c (gen_expand): Use emit_jump_insn, emit_label, emit_barrier
+	when the insn rtl requires it.
+
+	* m68k.md (subsi3): Prefer to avoid reverse-subtraction alternative.
+
+	* stmt.c (expand_end_case): Let CASE_DROPS_THROUGH control what to
+	emit after the table.
+	* tm-vax.h: Define CASE_DROPS_THROUGH.
+
+Tue Apr  5 15:47:10 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* genemit.c (gen_exp): Handle vectors within exprs.
+
+	* stmt.c (expand_end_case): Pass 5th arg (default_label) to gen_casesi.
+	* m68k.md: Define casesi insn rather than tablejump insn.
+
+	* cccp.c (skip_if_group): For validate_else, pass BP (end of cmd name).
+	Don't call validate_else if do_else or do_endif will detect error.
+
+	* Bug: inline fcns can refer to the return reg with a strict_low_part
+	which confuses expand_inline_function.  Fix is to change return reg
+	into inline_target *everywhere* except in or right after a call.
+	* integrate.c (copy_rtx_and_substitute): Delete special case for SET.
+	Replace return-value hard regs with INLINE_TARGET in all contexts.
+	(expand_inline_function): special handling for insn after a CALL_INSN
+	if it copies the function value out.
+	Allow notes and stack adjust insns to intervene
+	between the CALL_INSN and the value-copy.
+
+	* expr.c (emit_call_1): New name for gen_call_1.
+
+	* Bug: ({...}) insns were in wrong place for a subexpression
+	after a sequence point, as in x ? y : ({...}).
+	* tree.def: New tree-code RTL_EXPR holds a sequence.
+	* expr.c (expand_expr): Handle RTL_EXPR by emitting the sequence.
+	* stmt.c (expand_{start,end}_stmt_expr): Use emit_to_sequence
+	to make a sequence from everything within the ({...}).
+	(expand_{start,end,emit}_delayed_expr): Delete these functions.
+	* parse.y (`for'-statements): Don't call them; nothing special needed.
+
+	* parse.y (yylex): Handle syntax L"..." and L'...'
+	(combine_strings): Handle wide strings being combined.
+	* typecheck.c (digest_init): Reject wide string as init for char array.
+	Allow it for an int array, but don't allow a narrow string.
+	* decl.c (init_decl_processing): New var int_array_type_node.
+
+	* parse.y: Define keyword `noalias'.
+	* parse.h: Define RID_NOALIAS.
+
+	* typecheck.c (compparms): Not all parmlists match an empty one;
+	call `compparms1' to filter them.
+
+	* decl.c (groktypename): Remove special case for `void' as parameter.
+	(get_parm_types): Special case for list of one decl with type void.
+
+	* decl.c (build_enumerator): Give enum constants the type `int'.
+	Variable `current_enum_type' eliminated.
+	(finish_enum): No need to repeat `fixup_unsigned_type'
+	since the precision has not changed.
+	* stor-layout.c (layout_type): Allow enum types to be unsigned.
+
+	* emit-rtl.c (unshare_all_rtl): Unshare contents of all reg-notes.
+
+	* parse.y (check_newline): filename is optional in #-lines.
+
+Mon Apr  4 14:36:54 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* typecheck.c (shorten_compare): When data type determines the value,
+	eval the nonconstant arg anyway if it has side effects.
+	(build_conditional_expr): When merging `foo *' with `void *',
+	also allow `const void *'.  Result type has merged set of qualifiers.
+	(qualify_type): Merge qualifiers of two types.
+
+	* decl.c (get_parm_types): Store any tags defined in parmlist
+	into `last_function_parm_types'.
+	(store_parm_decls): Add those tags into the current binding level.
+
+	* parse.y (parmlist, parmlist_or_identifier): Pass 0 to pushlevel;
+	no binding levels in C should be transparent to tags.
+
+	* 3b1 support:
+	* tm-3b1.h: New file.
+
+	* m68k.md: Add HPUX_ASM conditionals for shift-by-24-and-compare.
+	In one of the dbra patterns, a HPUX_ASM conditional was backwards.
+	(movhi) [SGS_3B1]: Define the LI... label as in MIT syntax.
+	(addsi3) [SGS]: Syntax for base-displacement differs from MOTOROLA.
+	(subsi3) [SGS]: likewise.
+	(tablejump) [ASM_OUTPUT_CASE_LABEL]: Use 6, not 2, as displacement.
+	This assumes ASM_OUTPUT_CASE_LABEL on 68k is used for a `swbeg'.
+
+	* final.c (final): Use ASM_OUTPUT_CASE_LABEL (if defined) to output
+	any CODE_LABEL followed by an ADDR_VEC or ADDR_DIFF_VEC.
+	It has 4 args; 4th is the insn which is the ADDR_VEC or ADDR_DIFF_VEC.
+
+	* tm-*.h for 68000 (PRINT_OPERAND_ADDRESS): For unscaled indexing in
+	fetch from a branch table, use L and LI symbols as in the scaled case.
+
+	* cccp.c: If SCCS_DIRECTIVE, define #sccs as no-op.
+
+	* integrate.c (output_inline_function): Real start of function
+	is FIRST_PARM_INSN, not FIRST_FUNCTION_INSN.
+
+	* tree.c (build_string): String contents must be saveable (for
+	inline fcn).
+
+	* cse.c (cse_insn): Don't forget to set dest_hash_code when dest
+	is a stack slot (and so its address is not being optimized).
+
+	* emit-rtl.c (restore_reg_data_1): reg_rtx_no must be 1+ largest REGNO.
+
+	* m68k.md (non-SImode bit-field insns): Change constraint to "o,d"
+	so a nonoffsetable memref is handled by reloading its address
+	but a register can still be handled.
+
+	* toplev.c (main): Execute OVERRIDE_OPTIONS, if it's defined.
+
+Sat Apr  2 00:55:21 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (convert_move): Handle a SUBREG in direct truncation case.
+
+	* cse.c (lookup_for_remove): Don't test machine mode of registers:
+	Storing in (REG:SI 0) invalidates (REG:DF 0).
+
+	* decl.c (pushlevel): New arg, nonzero means this level is for
+	variables only, not for tags.  All calls changed.
+	(lookup_tag): Even if THIS_LEVEL_ONLY, skip variables-only levels.
+	(pushtag): Define it in the first non-variables-only level.
+
+	* dbxout.c (dbxout_type): Undo Mar 29 change, in the DBX_NO_XREFS case.
+	So now each struct or union will contain only nameless cross-refs
+	to any others it uses.  The prior change is still in effect when
+	DBX_NO_XREFS is not defined.
+
+	* Implement variable array bounds for parameters.
+	* decl.c (poplevel): Don't crash if DECL_NAME gives 0.
+	* typecheck.c (comptypes): A variable array bound matches anything.
+	* parse.y (parmlist): Call pushlevel, then pushdecl each parm as it
+	is parsed; then poplevel after using get_parm_types to extract the
+	results of the parmlist.
+	* decl.c (get_parm_types): New function; reverse the current decls,
+	put them in last_function_parms, and return a list of their types.
+	(grokparms): Arg is now an idlist or a typelist.  Do nothing if latter.
+	(push_parm_decl): New function, like {start,finish}_decl combined
+	for a parm in a parmlist.
+
+	* dbxout.c (dbxout_symbol): Ignore sym if its DECL_RTL is 0.
+
+	* symout.c (symout_block_symbols): Ignore sym if type is error_mark.
+
+Fri Apr  1 11:41:21 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (prepare_call_address): New function; given two rtx's
+	for function and context, copy the context to the right hard reg,
+	put the function address in the right place and return an rtx for it.
+	(gen_call_1): No longer do those things.  Delete args CONTEXT, PROTECT.
+	(emit_library_call, expand_call): Call `prepare_call_address'.
+	In between that and `gen_call_1', USE the parm registers.
+
+	* tm-hp9k320.h (ASM_OUTPUT_*): Flush uses of output_arith_constant.
+
+	* varasm.c (assemble_variable): Use ASM_FORMAT_PRIVATE_NAME
+	to make the name for a local static variable.
+	* tm-m68k.h, tm-vax.h, tm-ns32k.h, tm-spur.h:
+	Define ASM_FORMAT_PRIVATE_NAME.  Use `.', not `$', to separate.
+
+	* tm-m68k.h, tm-ns32k.h (FIX_FRAME_POINTER_ADDRESS):
+	To refer to stack ptr, use stack_pointer_rtx, not a copy.
+
+	* tree.c (build_real_from_string): Function deleted.
+	* parse.y (yylex): Use build_real and atof.
+
+	* parse.y: Allow string concatenation in arg of asm.
+
+	* parse.y (yylex): Always allow `$' in ident, but warn if pedantic.
+	* tm-vms.h: Delete DOLLARS_IN_IDENTIFIERS (no longer tested).
+
+	* cccp.c (rescan, do_define, initialize_random_junk):
+	Always allow `$', but warn if pedantic.
+	(main): If -t, set `traditional'.
+	(collect_expansion): If `traditional', no special handling for quotes
+	and no whitespace added at end of macro definition.
+
+	* expr.c (compare, compare1): Last arg to compare_constants
+	must be a size in bits.
+
+Thu Mar 31 00:31:52 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expmed.c (expand_mult, expand_divmod, extract_fixed_bit_field):
+	Reject function return register as target if may need to read it.
+	(Reading the return register in an inline function doesn't work.)
+
+	* decl.c (start_function): Delete extra arg to `error'.
+
+	* emit-rtl.c (last_parm_insn): Delete this unused var.
+
+	* make-cc1.com: New version from Kashtan.
+
+	* integrate.c (expand_inline_function): Always set up an INLINE_TARGET
+	for a function that returns a nonvoid nonBLK value.
+	Since `pushlevel' and `poplevel' are called, must also call
+	`expand_{start,end}_bindings' to make a pair of NOTEs.
+	Let them handle USEs at end of scope of formal parameter copies.
+
+	* integrate.c (expand_inline_function): In a new-style CALL_INSN,
+	don't change the result reg into INLINE_TARGET.  Also,
+	generate a move insn after the call only if INLINE_TARGET is non-0.
+
+	* integrate.c (copy_decl_tree): Don't crash if DECL_RTL is 0.
+
+	* integrate.c (copy_for_inline): Don't treat `return' rtx's specially.
+
+	* stmt.c (expand_{start,end,emit}_delayed_expr):
+	New fns to handle ({...})'s in expressions output not where parsed
+	(such as third expression in a `for' statement).
+	* parse.y: Call them to handle third expression in a `for'.
+
+	* decl.c (duplicate_decls): Result is `inline' if either OLD or NEW is.
+
+	* emit-rtl.c (emit_note): Return the note, or 0 if none.
+	* stmt.c (expand_start_bindings): Use emit_note's value.
+
+Wed Mar 30 12:48:22 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* obstack.c (_obstack_begin): If ALIGNMENT is 0, use default.
+	Compute default for the alignment of a `double'.
+	* obstack.h (obstack_{begin,init}): Pass 0 for the alignment.
+
+	* flow.c (mark_used_regs): Discard multiple SUBREGs, STRICT_LOW_PARTs.
+
+	** Call insns that return values are now represented as
+	(set (reg ...) (call ...)), not just (call ...).
+
+	* *.md: Define a "call_value" insn pattern.
+
+	* tm-m68k.h, tm-vax.h, tm-ns32k.h: (NOTICE_UPDATE_CC):
+	These insns invalidate the CC.
+
+	* local-alloc.c (combine_regs): #if 0 special treatment of
+	function value hard reg.
+	(wipe_dead_reg): If hard reg, call reg_is_born so that the death
+	will not be ignored.
+	(reg_is_set): For reg that dies in this insn, mark it dead from now on
+	and post_mark it live after this insn only.
+
+	* combine.c (try_combine): Don't allow a call insn as I1 or I2.
+
+	* loop.c (count_loop_regs_set): Move CALL_INSN into a separate
+	clause.  When finding regs that are function addresses, handle
+	both old and new format call insns.
+
+	* flow.c (insn_dead_p): A SET that contains a CALL can't be dead.
+	(volatile_refs_p): Any CALL constitutes a volatile ref.
+	(mark_used_regs): If setting a reg from a volatile ref,
+	treat it like setting a reg whose value will be used.
+
+	* expr.c (gen_call_1): New arg VALREG if nonzero means generate
+	a call_value insn which stores in VALREG.
+	(expand_call): Use `hard_function_value' to make the VALREG arg
+	unless expression has type `void'.
+
+	* expr.c (emit_library_call): New 2nd arg OUTMODE is mode of result.
+	(So can give gen_call_1 the proper value-register.)
+	All callers (here and optabs.c) pass this arg.
+
+	* cse.c (canon_hash): Consider all CALL rtx's volatile.
+
+	** end of change in representation of call insns.
+
+	* stmt.c (expand_asm_operands): Replace complex lvalues with
+	SAVE_EXPRs here
+	* typecheck.c (c_expand_asm_operands):  rather than here.
+
+	* typecheck.c (pointer_diff): Fix typo preventing use of FLOOR_DIV_EXPR
+	when dividing by power of 2.
+	(build_c_cast): Flush unused locals.
+	(store_init_value): likewise.
+	(process_init_constructor): Delete unused 4th arg `for_static'.
+
+	* toplev.c (fatal_io_error): Arg to fprintf was missing.
+
+	* tm-m68k.h (LEGITIMIZE_ADDRESS): Flush extra arg to `emit_move_insn'.
+
+	* decl.c: Delete some unused local vars.
+
+	* stor-layout.c (layout_decl): `packed_size' now unsigned.
+
+Tue Mar 29 14:47:07 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* Version 1.19 released.
+
+	* loop.c (may_trap_p): Nonzero if X is a division that might trap.
+	(scan_loop): If insn might trap, move only if loop always executes it.
+
+	* dbxout.c (dbxout_type): Never output a cross-ref for
+	a type whose definition is known.  Sun dbx won't accept them.
+
+Mon Mar 28 12:34:46 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* tm-vms.h (TARGET_DEFAULT): Default is PCC alignment.
+	The VMS compile driver controls the real default.
+
+	* typecheck.c (c_expand_return): Don't ignore return value
+	when its type is void.
+
+	* final.c (final): Forget the condition codes after an `asm'.
+
+	* typecheck.c (build_binary_op_nodefault): Warn about ptr < 0
+	even if not pedantic, but not if traditional.
+
+	* typecheck.c (convert_for_assignment): Don't warn about
+	pointers volatile * vs nonvolatile * if -fvolatile specified.
+
+	* decl.c (store_parm_decls): Among the old-style parm decls
+	there can legitiately be other decls!  For example, if a parm
+	is declared `enum {foo, bar} x;', there are decls for `foo' and `bar'.
+	Don't let anything but a PARM_DECL match a parm name;
+	pass all the other decls through into the lexical context.
+
+	* jump.c (jump_optimize): When deleting stack adjusts before a
+	jump-to-return, don't be fooled by intervening NOTEs.
+
+	* tm-sequent.h (PRINT_OPERAND): Output (MEM (MEM (REG))) properly.
+	* output-ns32k.c (print_operand_address): Output (MEM (REG))
+	properly; output stack-pointer as `tos'.
+
+	* flow.c (find_use_as_address): Reject uses within operand 0
+	of a ZERO_EXTRACT or SIGN_EXTRACT reference.  It's hard to reload
+	an autoincrement inside these because they can refer to multiple bytes.
+
+	* reload.c (find_reloads): `o' in constraint means any memref
+	(except auto-increment) is acceptable with reloading.
+	Braino: Clear BADOP, not BAD.
+
+	* reload.c (push_reloads): Use rtx_equal_p (via macro MATCHES)
+	when considering reuse of an old reload.  Otherwise equal values
+	may get reloaded into different registers, and two MEMs that
+	originally matched may fail to match once reloaded.
+
+	* m68k.md (sign_extract and zero_extract insns):
+	If operand 0 is QI or HImode, don't allow register--only `o'
+	(except in some bftst patterns where bitpos is < 8).
+	And change `m' to `o' in all these patterns.
+
+Sun Mar 27 15:32:54 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (expand_expr, case CONSTRUCTOR):
+	Not all aggregates are BLKmode; use the type's mode.
+
+	* gcc.c: Pass -y* to ld.
+
+	* cse.c (struct hash): New member `equivalence_only'.
+	(insert): Initialize it.
+	(cse_insn): Set it to 1 when src_eqv is inserted.
+	When finding cheapest equivalent of something,
+	skip elts that are marked with `equivalence_only'.
+
+	* decl.c (duplicate_decls): Don't call `layout_type'
+	if the type is `error_mark_node'.
+
+	* decl.c (implicitly_declare): If decl will be file-scope,
+	make sure it's a permanent node, and its associated data too.
+
+Sat Mar 26 15:48:50 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* flow.c (insn_dead_p, mark_used_regs): Storing a reg via a
+	ZERO_EXTRACT or SIGN_EXTRACT is dead if the reg isn't needed afterward.
+
+	* stmt.c (expand_start_function): Set current_function_name
+	to the name of this function.
+	* tm-vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Use current_function_name.
+
+	* expr.c (expand_increment): A SUBREG in op0 can also a be a copy.
+
+	* ns32k.md: Correct range of args for `adjspb' insn.
+	Use `adjspw' when appropriate.
+	New pattern for `lprd' insn.
+	Change some `const_int' predicates to GET_CODE tests.
+
+	* expr.c (expand_call): Eval function before copying args to hard regs.
+
+	* tree.c (make_node, copy_node): Don't get length of a REAL_CST
+	from tree_code_length.
+
+	* expmed.c (extract_fixed_bit_field): In memory-word case, abort
+	if tm.h parms say word could fail to be well-aligned.
+	* tm-ns32k.h: Define STRUCTURE_SIZE_BOUNDARY so they will be aligned.
+	* tm-vax.h: Define STRUCTURE_SIZE_BOUNDARY since Unix CC seems to.
+
+	* tm-vms.h (CPP_PREDEFINES): Predefine __GNU__ and __GNUC__.
+
+Fri Mar 25 13:23:27 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* gcc.c (main): Handle SIGHUP, SIGTERM.
+
+	* expmed.c (expand_bit_and): Don't clobber OP1 when trying andcb.
+
+Thu Mar 24 21:59:09 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* stmt.c (assign_parms): Get size of BLKmode local from the type,
+	not the mode.
+	(expand_function_start): Init frame_offset before calling assign_parms.
+
+Wed Mar 23 23:50:37 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (emit_push_insn): When making a move insn,
+	go via emit_move_insn; else fails to put constants into memory.
+
+Tue Mar 22 15:45:10 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (expand_increment): Flush special case for register_operand;
+	actually call the predicate whatever it is.
+
+	* genemit.c (gen_expand): Make `operands' a local variable,
+	not a global static one, in the `gen_...' function.
+	Avoids lossage when one `gen_...' fcn calls another indirectly.
+
+	* genoutput.c (output_epilogue): Don't give printf a null string.
+
+Mon Mar 21 15:41:42 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expmed.c (store_bit_field) [HAVE_insv]:
+	Force VALUE1, not VALUE, into a register.
+
+	* expmed.c (store_fixed_bit_field): Width of mask for clearing
+	the bit-field depends on mode of OP0.
+
+	* ns32k.md (branch and store-flag insns):
+	Test cc_prev_status, not cc_status.
+
+	* expmed.c (extract_bit_field): Delete unused var `omode'.
+
+	* dbxout.c (dbxout_type, dbxout_tag): Use the main variant
+	of the specified type.
+
+	* reload.c (find_reloads): When an alternative succeeds without reload,
+	initialize goal_alternative_matches from this_alternative_matches.
+
+Sun Mar 20 17:58:00 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* tm-sun*.h: Don't predefine `m68k'; Sun's compiler does not.
+
+Fri Mar 18 13:48:29 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* reload.c (find_reloads): Set up goal_alternative_matches
+	*after* the label `finish'.
+
+	* stmt.c (assign_parms): GET_MODE_SIZE needs a mode, not an rtx.
+
+	* recog.c (constrain_operands): Set global var `which_alternative'
+	to indicate which of the alternatives this insn matches.
+
+	* typecheck.c (commontype): long int vs unsigned int
+	gives long unsigned, if long and int are the same width.
+
+Thu Mar 17 15:39:45 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* emit-rtl.c, tree.c: include local version of varargs.h.
+
+	* decl.c (start_function): Clear TREE_EXTERNAL and set TREE_STATIC
+	here rather than in finish_function.  Affects the case of
+	   `extern foo ();  static foo (a) {...}'
+
+	* gcc.c: Handle -fnostdinc and -fnostdlib switches in specs.
+
+	* cccp.c (main): Handle -fnostdinc: don't put default dirs
+	on the chain to be searched.
+
+	* cccp.c (error, warning, error_with_line): No longer print
+	charpos within file; lineno is enough.
+
+Wed Mar 16 16:56:36 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expmed.c (expand_inc, expand_dec): Handy new subroutines
+	to generate x+=y or x-=y, given x and y as rtl.
+	* expmed.c (expand_divmod): Use them instead of gen_{add2,sub2}_insn.
+
+	* expr.c (emit_move_insn): Return the move insn emitted.
+	Eliminate the code here to move a DImode or DFmode by pieces.
+
+	* emit-rtl.c (emit_insn): Return-value was wrong if emit_to_sequence;
+	cannot use `last_insn' in that case.
+
+	* regclass.c, stupid.c, local-alloc.c, global-alloc.c:
+	Some vars of type HARD_REG_SET should be `register' only
+	if HARD_REG_SET is a macro (ie a scalar).
+
+	* expr.c (move_block_from_reg): New function, converse of
+	move_block_from_reg.
+	* stmt.c (assign_parms): If a BLKmode arrives in regs,
+	copy to a stack slot using move_block_from_reg.
+
+Tue Mar 15 17:33:22 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* regclass.c (regclass): Don't convert to two-operand insns
+	unless optimizing.
+
+	* varasm.c (decode_rtx_const, const_hash_rtx): Fix typos.
+
+	* stmt.c (fixup_var_1): Don't alter insn moving VAR to or from
+	a subreg of a register.
+
+	* cse.c (fold_rtx): Don't fold if result is not LEGITIMATE_CONSTANT_P.
+	Construct all results in new local variable NEW; then test that
+	and decide whether to return it or the original rtx.
+
+	* cse.c (cse_insn): When SRC_EQV is non-0 but set[0] has been
+	cleared, don't insert SRC_EQV in hash table.
+
+	* All insns emitted by a define_expand become part of the SEQUENCE:
+	* SEQUENCE now contains a vector of insns, not of bodies.
+	* insn-emit.c (add_insn): If `emit_to_sequence' nonzero, add the
+	insn to a separate chain, `sequence_first_insn'.
+	(gen_sequence): Take everything on that chain and make a SEQUENCE.
+	(emit_insn): Handle SEQUENCE differently since elts are now insns.
+	(emit_insn_{before,after}): Handle SEQUENCE.
+	(classify_insn): #if 0.
+	* genemit.c (gen_expand): emit all the insns, then call gen_sequence
+	to make the return value.
+	Define two macros DONE and FAIL for use in a DEFINE_EXPAND:
+	Use DONE to inhibit emission of the pattern of the DEFINE_EXPAND.
+	Use FAIL to make the gen_... function return 0.
+
+Mon Mar 14 12:47:28 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (expand_expr): Extend the don't-sign-extend-enums hack
+	to COMPONENT_REF.  (See 3 March.)
+
+	* tm-*.h (FUNCTION_ARG, etc.) New argument NAMED
+	is nonzero for a named arg, zero for an anonymous extra arg.
+	* expr.c (expand_call): Pass 1 for NAMED if appropriate.
+	* expr.c (emit_library_call): Pass 1 for NAMED.
+	* stmt.c (assign_parms): Pass 1 for NAMED.
+
+	* cccp.c: Test __GNUC__, not __GNU__.
+
+	* integrate.c (copy_and_substitute_rtx):
+	Replacing a MEM parm with the parm value, convert mode if mismatch.
+	Always use VOIDmode when generating SETs.
+	Take heed of FIRST_PARM_OFFSET and distinguish arg-pointer
+	from frame-pointer when they are different.
+	(expand_inline_function): Handle (RETURN) insns, by creating a
+	return_label which is output after the integrated code.
+
+	* parse.y (yylex): Condition for ignoring `inline' was backwards.
+
+	* flow.c (mark_used_regs): Ignore STRICT_LOW_PART, so that
+	an insn that sets STRICT_LOW_PART (and its source values) may be dead.
+	(propagate_block): Always pass 1 for strict_low_ok to insn_dead_p.
+
+	* optabs.c (emit_unop_insn): Don't make a REG_RETVAL note.
+	Change above deletes dead STRICT_LOW_PART stores without one.
+
+	* optabs.c (expand_binop, expand_unop): If the library address
+	is to be put in a pseudoreg, do it here, and make the REG_RETVAL
+	note point after that.
+
+	* expr.c (emit_library_call): Never defer stack-pops.
+	Deletion of the library call by flow.c loses if they are deferred.
+
+	* cse.c (cse_insn): Handling of 68k's zero-extend was broken:
+	it made the actual source and the REG_EQUAL source equivalent.
+	* If dest is a STRICT_LOW_PART, ignore the actual source and use
+	the REG_EQUAL source in its place.  src_eqv's mode may be different
+	from src's, so use proper mode in lookups or inserts for src_eqv.
+	* Don't forget to set src_eqv_elt if src_eqv already has an elt.
+	* On use_related_value for src_eqv, use src_eqv_elt.
+
+	* toplev.c (main_input_filename): Name of file mentioned in first
+	#-line in the input.
+	(compile_file): Pass it to dbxout_init as 2nd arg.
+	* dbxout.c (dbxout_init): Use 2nd arg to make the N_SO symbol.
+	* parse.y (check_newline): Store main_input_filename.
+
+	* expr.c (move_block_to_reg): New function, copies a MEM:BLK
+	to consecutive registers.
+	(use_regs): New function to emit a USE for each reg in a series.
+	(expand_call): Use the two new functions when a precomputed BLKmode
+	arg is passed entirely in regs.
+	(emit_push_insn): Use move_block_to_reg when PARTIAL > 0.
+	Also, don't subtract USED from SIZE twice.
+	Use plus_constant to add ARGS_SO_FAR so can use indexing on stack ptr.
+
+	* varasm.c (assemble_integer_zero): Use rtx 0, not tree 0,
+	to go with prev change in ASM_OUTPUT_INT.
+
+Sun Mar 13 01:16:17 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* varasm.c (const_hash, compare_constant_1, record_constant_1):
+	Handle NOP_EXPR and CONVERT_EXPR in constant expressions.
+
+	* optabs.c (expand_binop, expand_unop): When widening operands,
+	those with VOIDmode (like CONST_INT) may be left alone.
+
+Sat Mar 12 01:09:24 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* varasm.c (assemble_variable): When making a .comm or .lcomm,
+	round size up to multiple of BIGGEST_ALIGNMENT.
+
+	* obstack.c (_obstack_newchunk): Eliminate fencepost causing copying
+	to access the word past the end of the existing object.
+
+	* tm-vax.h, tm-ns32k.h: Define {INIT_,}CUMULATIVE_ARGS
+	and upgrade FUNCTION_ARGS for new calling convention.
+
+	* gcc.c: If -O, define __OPTIMIZE__.
+	(do_spec_1): %c now scans SIGNED_CHAR_SPEC: define __CHAR_UNSIGNED__
+	when appropriate whether or not it is the default.
+
+Fri Mar 11 16:49:25 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* parse.y: Define YYDEBUG.
+
+	* rtl.c (rtx_unstable_p): New function, same as old rtx_varies_p.
+	* explow.c (stabilize): Use rtx_unstable_p.
+	* rtl.c (rtx_varies_p): Ignore `unchanging' (undoing previous change
+	in this function) because `unchanging' doesn't enable cse to compare
+	the value with any particular constant value.
+	* rtl.c (insn_store_addr_varies_p): Delete, since not used.
+
+	* hard-reg-set.h (COPY_HARD_REG_SET, etc.) non-scalar case:
+	Rename and rearrange temp variables to avoid name conflicts with args.
+
+	* regclass.c (reg_class_record): Don't smash class to GENERAL_REGS
+	and don't exit prematurely, when `r' or `g' is seen.  Must merge
+	GENERAL_REGS with previously determined desired class.
+
+	* expr.c (expand_call) [no PUSH_ROUNDING]: When pushing the arg
+	block, try to reuse some of the pending_stack_adjust.
+
+	* cse.c: qty_const can now hold values (PLUS frame_pointer integer).
+	Effect is that storing into a structure doesn't invalidate
+	mem refs to scalar stack variables via addresses in registers.
+	(insert): Load such values into qty_const, like true constants.
+	(fold_rtx): Ignore qty_const if it isn't really a constant.
+
+	* expr.c (expand_expr) VAR_DECL: Copy DECL_RTL before calling
+	change_address, so it isn't permanently clobbered.
+
+	* stmt.c (fixup_var_refs_1): Make sure the stack slot address
+	is valid by calling fixup_stack_1 each time it is substituted.
+
+	* stmt.c (fixup_stack_1): Return the altered rtx.
+	If it's a MEM in the stack, return a copy of it.
+
+	* stmt.c (fixup_stack_slots): #if 0.
+	* stmt.c (expand_finish_function): Don't call fixup_stack_slots
+	because fixup_stack_1 is called elsewhere when necessary.
+
+	* reload.c (find_reloads_address): New arg is location of the MEM
+	whose address is being reloaded.  So we copy the MEM if it
+	is one that can be shared.  New arg 0 means no need to copy the MEM.
+	All callers pass the new arg.
+
+	* stmt.c (assign_parms): Determine parm stack-size from
+	the DECL_ARG_TYPE, not from the TREE_TYPE.
+	Else loses when parm is declared `float' but passed as `double'.
+
+	* emit-rtl.c (make_safe_from): Constants are already safe.
+	Use proper machine mode for temp reg when needed.
+
+Thu Mar 10 14:35:14 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (emit_push_insn): Don't pass wrong type to plus_constant
+	(case where there is no PUSH_ROUNDING).
+
+	* expr.c (expand_call): Round partial[i] down to multiple of
+	PARM_BOUNDARY before subtracting it from arg size on stack.
+	Compute these sizes just once and keep them in vector `arg_size'.
+	* expr.c (emit_push_insn): Handle `partial' uniformly, in accord
+	with this new convention for how it affects the stack size.
+	* stmt.c (assign_parms): Round NREGS down to PARM_BOUNDARY likewise.
+
+	* obstack.h (obstack_free macro) [Not __GNUC__ but __STDC__]:
+	Don't cast result of (obstack_free) to (int); just ignore it.
+
+	* reload.c (find_reloads): Initialize operand_reloadnum.
+
+	* optabs.c (emit_unop_insn): New argument CODE, used to make
+	a REG_EQUAL note from operand OP0 if more than one insn results.
+	Also a REG_RETVAL note.
+	* expr.c (convert_move): Pass CODE arg to emit_unop_insn.
+	* flow.c (propagate_block): Use insn_dead_p to decide whether
+	to handle a REG_RETVAL note by skipping some insns.
+	Always pass 1 for STRICT_LOW_OK for an insn that has a REG_RETVAL note.
+	Handle case where REG_RETVAL points at an insn that's deleted.
+	* flow.c (insn_dead_p): New operand STRICT_LOW_OK says an insn
+	that sets STRICT_LOW_PART may be considered dead.
+
+	* expr.c (expand_expr): Once again canonicalize X-C to X+(-C).
+	Change on March 1 made it stop doing this.
+
+Wed Mar  9 01:25:35 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* loop.c (move_movables): Don't always mark the moved reg
+	as equivalent to a constant value: not if it is being cleared
+	to zero-extend something or if it is used outside the loop.
+
+	* expr.c (move_by_pieces_1): Finish last change.
+
+	* stmt.c (assign_parms): Update stack_args_size properly.
+	Figure FIRST_PARM_OFFSET when making the stack mem refs.
+
+	* cse.c (insert): Build the related_value lists in the opposite order
+	so that the oldest element in the chain is the one that follows
+	the most basic element.
+
+	* expr.c (expand_expr): COMPONENT_REF case: criterion for
+	converting the the result is if MODE1 (its mode of arrival) isn't
+	a mode we want.
+
+	* toplev.c (rest_of_compilation): Fix typo setting TREE_ASM_WRITTEN.
+
+Tue Mar  8 13:18:37 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* cse'ing of library calls.
+
+	* expr.h: type `optab' is now a ptr to a struct.
+	The old contents are now the `handlers' element.
+	The `code' element gives the RTL code for the kind of expression
+	this optab makes (PLUS for add_optab, etc.)
+	Every var formerly declared `struct optab *' is now just `optab'.
+
+	* optabs.c (init_optab, init_optabs): New function to init an optab
+	and set its `code'.  Used in init_optabs.
+
+	* optabs.c (expand_binop, expand_unop): Use the `code' field
+	to add a REG_EQUAL note to the insn that copies a libcall's
+	value into a pseudo.  Also a REG_RETVAL note pointing at the
+	first insn for setting up args for the call.
+
+	* cse.c (cse_insn): Process REG_EQUIV and REG_EQUAL datum almost like
+	another set-src; put the actual src into the equivalence class of that.
+
+	* flow.c (propagate_block): If a dead insn has a REG_RETVAL reg-note,
+	either ignore or delete all the insns back to the insn the REG_ARG
+	note points to.
+
+	* local-alloc.c (block_alloc): Don't refrain from allocating a
+	"constant" register if the constant value isn't ok for an immediate op.
+
+
+	* dbxout.c (CONTIN): If DBX_CONTIN_LENGTH is <= 0, do nothing.
+
+	* cccp.c: Extra default include dirs for C++.
+	* cccp.c (main): For -M, strip dirs from object file name.
+
+	* rtl.c (find_reg_note): New function.
+
+	* expmed.c (store_fixed_bit_field): Don't AND with VALUE
+	if VALUE's original mode had no more bits than we want.
+
+	* expr.c (emit_library_call): Use varargs.
+
+	* integrate.c (copy_and_substitute_rtx): Recognize arg_pointer_rtx
+	and translate it just like frame_pointer_rtx.
+
+Mon Mar  7 00:48:33 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expmed.c (extract_fixed_bit_field):
+	Shift counts were wrong for narrow MODE in signed case.
+	Do the sign-extending shifts in the narrowest mode possible.
+	Reduce big-endian case to little-endian case.
+	Delete SLOW_ZERO_EXTEND conditional.
+
+	* Implement constants in memory for RISC machines
+	with limited abilities for immediate args and constant addresses.
+
+	* genoutput.c (output_epilogue): Empty predicate-name
+	is output as 0 in insn_operand_predicate.
+
+	* expr.c (expand_expr): Change 4th arg to an `enum expand_modifier'
+	Value EXPAND_SUM corresponds to old nonzero 4th arg.
+	Value EXPAND_CONST_ADDRESS means ok to return an invalid MEM
+	whose address is a constant.  Changes for this case in ADDR_EXPR,
+	COMPONENT_REF and ..._DECL.
+
+	* varasm.c (output_arith_constant): Function deleted.
+	* tm-*.h: (ASM_OUTPUT_{INT,SHORT,CHAR}): 2nd arg is now an RTX
+	and output it using `output_addr_const'.
+	* varasm.c (output_constant): Change uses of those macros.
+
+	* varasm.c (init_const_rtx_hash_table): Initialize constant pool
+	for a new function.  Called from `expand_function_start'.
+	* varasm.c (force_const_mem): Turn a constant rtx into a MEM rtx
+	which refers to the constant pool.  Other new subroutines too.
+	(force_const_double_mem): Use force_const_mem to make the MEM.
+	(immed_real_const): No longer record the REAL_CST node in the rtx.
+
+	* explow.c (force_reg): If arg is a constant and not legitimate,
+	put it in the constant pool with force_const_mem.
+	Mark the register as equivalent to the constant value.
+	* expr.c (emit_move_insn): Likewise.
+	* explow.c (break_out_mem_refs): Use force_reg to put into a reg.
+	* explow.c (memory_address): Likewise.
+	* expr.c (expand_expr): ADDR_EXPR case: likewise.
+
+	* expr.c (expand_call): Do force_reg on each register-operand
+	so it will go through a pseudo and can be cse'd.
+
+	* recog.c (immediate_operand, nonmemory_operand, general_operand):
+	For constant operands, use LEGITIMATE_CONSTANT_P to decide value.
+	* tm-*.h: Define LEGITIMATE_CONSTANT_P.
+
+	* reload1.c (reload): Invalid constants can't go in reg_equiv_constant.
+
+Sun Mar  6 22:49:06 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* reload.c (push_reloads): If IN occurs within OUT,
+	don't reuse an existing input-only reload.  Otherwise would lose on
+	(set (mem (plus R C)) (plus R C1)) if R is available in a spill reg.
+
+	* reload1.c (choose_reload_targets): Don't choose an inherited
+	reload register that's in use for another reload.
+	Without this, above change doesn't have an effect.
+
+	* Implement the `unchanging' flag in MEM and REG rtx's.
+	Also simplify code with a new subroutine `change_address'.
+
+	* emit-rtl.c (change_address): Return new memory ref like an old
+	one but with specified mode and address.
+	* expmed.c (extract{,_split,_fixed}_bit_field): Use change_address.
+	(store{,_split,_fixed}_bit_field): Likewise.
+	* expr.c (store_expr, expand_expr): Likewise.
+
+	* expr.c (move_by_pieces): Args now memrefs, not addresses.
+	Eliminate the FROM_VOL and TO_VOL args since the memrefs indicate.
+	Change the structure `struct move_by_pieces' similarly.
+	(move_by_pieces_1): Same changes; use change_address.
+	(emit_block_move, emit_push_insn): Calls to move_by_pieces changed.
+
+	* integrate.c (copy_rtx_and_substitute): Use change_address;
+	handle ->unchanging field.
+
+	* rtl.c (rtx_varies_p): Regs or memrefs with ->unchanging don't vary.
+	(copy_rtx): Perserve ->unchanging.
+	(print_rtx): Print ->unchanging as /u.
+
+	* stmt.c (expand_decl): Set ->unchanging on `const' decls.
+	(fixup_memory_subreg): Use change_address.
+	(assign_parms): Record in the rtl which parms are volatile or const.
+
+	* varasm.c (assemble_variable): Set ->unchanging on `const' decls.
+	(output_constant_def): Always set ->unchanging for constant refs.
+
+	* cse.c (canon_hash): Don't treat a MEM as "in memory"
+	if its ->unchanging bit is set.
+
+	* loop.c (invariant_p): A REG or MEM with ->unchanging is invariant
+	(for a MEM, the address must be invariant).
+
+Sat Mar  5 13:22:11 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* genconfig.c (walk_insn_part): DO consider MATCH_DUPs
+	when calculating MAX_RECOG_OPERANDS.
+	(gen_expand): define_expand is now different from define_insn.
+	Compute max # SETs or CLOBBERs for any one sub-insn in a define_expand,
+	instead of summing them all.  And don't count the MATCH_DUPs at all.
+
+	* genemit.c (max_operand_1): Record largest opno in a MATCH_DUP
+	separately from largest in a MATCH_OPERAND.
+	(gen_expand): An operand # with only MATCH_DUPs gets
+	a local variable in the gen_ function we output.
+
+	* integrate.c (save_for_inline): Delete vestige of NOTE_INSN_IS_DECL.
+
+	* cse.c (invalidate): Handle subregs.
+	(cse_ins, invalidate_from_clobbers): Do call `invalidate' for subregs.
+	(insert_regs): When assigning one subreg from a like one,
+	make the two regs equivalent.
+	(cse_insn): Do call insert_regs when dest is a subreg.
+
+	* expr.c (expand_call): Precompute all args going via hard regs
+	since even arithmetic could require a library call.
+
+Fri Mar  4 15:48:17 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* stor-layout.c (layout_parms): Function deleted.
+	* stmt.c (expand_function_start): Don't call it.
+
+	* stmt.c (assign_parms):
+	stack_args_size counts size of args so far passed on stack.
+	Use PARM_BOUNDARY when counting it; derive stack offsets from it.
+	Set current_function_args_size from it.
+
+	When an arg is split between regs and stack, make stack space
+	for the rest of it, and count it.
+	In a varargs function, push the last arg onto the stack.
+	When an arg is passed in regs alone, don't remember a stack slot
+	for it, and if it needs one, use assign_stack_local.
+
+	Set DECL_OFFSET to the stack offset, or -1 if parm came in regs.
+
+	* expr.c (expand_call): Anonymous args of a varargs function
+	are always passed on the stack.
+
+	* varasm.c (force_const_double_mem): Copy the MEM rtx
+	if it may need to be smashed by reloading.
+
+	* genemit.c (gen_expand): define_expand must have nonempty pattern
+	even though, due to `return' statements in the code-to-run,
+	that pattern may not be used to generate code.
+
+Thu Mar  3 17:08:43 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (expand_expr): If supposed to sign-extend an enum
+	which is never negative, zero-extend instead (unless SLOW_ZERO_EXTEND).
+	(store_expr): Likewise.
+
+	* reload.c (find_reloads): 'm' for CONST_DOUBLE: clear BADOP, not BAD.
+	After force_const_double_mem, do find_reloads_toplev on the MEM.
+	(find_reloads_address): Handle constant addresses (on machines
+	that don't allow them).
+
+	* final.c (set_current_gdbfile): New fn, get the gdbfile structure
+	for specified filename.
+	(output_source_line): Use set_current_gdbfile for the file.
+	* varasm.c (assemble_variable): Call set_current_gdbfile
+	for the declaration's source file, so GDB won't ignore the file.
+
+	* varasm.c (force_const_double_mem): Build a new REAL_CST node
+	and get its data type from the machine mode of the CONST_DOUBLE.
+	(immed_real_const): Don't save the REAL_CST tree node.
+	* typecheck.c (get_floating_type): Return float type for given mode.
+
+	* integrate.c (expand_inline_function): Ignore the (USE (REG...))
+	(for the return-register) at the end of the inline function.
+	After a CALL_INSN, imagine the (SET (REG ...) (REG ...)) for
+	the return-register if the return-register isn't explicitly used.
+
+Wed Mar  2 22:08:49 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* typecheck.c (build_array_ref): Do default_conversion on INDEX.
+
+Tue Mar  1 15:49:34 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (expand_call): Always get a SYMBOL_REF for a fixed function.
+	If may be alloca, set may_call_alloca.
+	(gen_call_1): Never put a SYMBOL_REF through `memory_address';
+	but if function cse is wanted, just copy it to a register.
+	If NO_FUNCTION_CSE is defined, never do function cse.
+
+	* expr.c (init_expr): New function, does init_queue and inits
+	other things.
+
+	* stmt.c (expand_function_start): Call init_expr, not init_queue.
+
+	* optabs.c (expand_binop): Don't clobber OP0 and OP1
+	if may call delete_insns_since later.
+
+	* expr.c (emit_library_call): PUSH_ARGS_REVERSE test was backwards.
+
+	* cse.c (cse_insn): Do canon_reg on the size and position operands
+	in a ZERO_EXTEND or SIGN_EXTEND that is a destination.
+
+	* tm-*.h: Define SLOW_BYTE_ACCESS.
+	* expmed.c ({store,extract}_fixed_bit_field):
+	If SLOW_BYTE_ACCESS, get/set all bit fields from full words.
+
+	* combine.c (subst): Simplify
+	(zero_extend:SI (subreg:QI (zero_extract ...))).
+	* combine.c (simplify_and_const_int): Simplify
+	(and (zero_extract ...) (const_int ...)).
+
+	* local-alloc.c (qty_compare{,_1}): Test of qty_phys_sugg was reversed.
+	(combine_regs): If one pseudo gets two suggested hard regs
+	(one at birth and one at death), prefer the one from birth
+	unless we see at death that it's no good.
+
+	* expr.c (expand_expr): Ignore sum_ok unless mode is Pmode.
+	Don't use force_operand unless sum_ok is set.
+
+Mon Feb 29 19:23:50 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (emit_move_insn): When a CONST_DOUBLE needs moving
+	by pieces, force it into memory, unless it is dconst0_rtx,
+	in which case each piece is const0_rtx.
+	(emit_push_insn): Likewise.  Also, write code for pushing a
+	non-BLK mode which has no "mov" insn defined, but only
+	in the case where there is no PUSH_ROUNDING.
+
+	* expr.c (do_tablejump): Put constant term in address last.
+
+	* toplev.c (xrealloc): On error, call fatal instead of abort.
+
+	* optabs.c (emit_cmp_insn): If genning from tst_optab,
+	make the operand fit its predicate.
+
+	* optabs.c (expand_float): Don't adjust stack between cmp and jump.
+
+	* optabs.c (expand_binop): Recursive calls can return 0; handle
+	that event by deleting any preparatory insns.  Also don't smash
+	TARGET when this happens.
+
+	* reload.c (push_reload): If IN != *INLOC, set reload_nocombine.
+	(combine_reloads): Don't combine an input reload with reload_nocombine.
+
+	* jump.c (jump_optimize): Don't delete stack adjusts unless
+	EXIT_IGNORE_STACK is nonzero.
+	* expr.c (clear_pending_stack_adjust): Likewise.
+	* tm-*.h: When EXIT_IGNORE_STACK is defined, give it `1' as defn.
+
+	* expr.c (expand_call): Initialize args_size.
+	Don't push a block if args_size is 0.
+	(emit_library_call): Don't include register-args (or reg-parts
+	of partial ones) in args_size.
+	Don't push a block if args_size is 0.
+
+	* expr.c (expand_expr): For DECLs in memory, check the address
+	validity with memory_address_p, and preserve volatility info.
+
+	* stmt.c (expand_function_end): fixup_gotos needs 2 args.
+
+	* jump.c (mark_jump_label): If INSN is 0, don't set its JUMP_LABEL.
+	Inside an ADDR_VEC or ADDR_DIFF_VEC, recurse with 0 for INSN.
+
+	* varasm.c (force_const_double_mem): Must zero TREE_CST_RTL
+	before output, or nothing will happen.
+
+Sun Feb 28 01:08:53 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* optabs.c (emit_unop_insn): Generate and emit an insn
+	given the insn-code and the two operands (one out, one in).
+	Can move the operands into registers when needed for various
+	reasons.
+	* expr.c (convert_move): Use emit_unop_insn for outputting the
+	conversion insns.
+
+	* expr.c (emit_library_call): Use arg's nominal mode to choose
+	a reg to pass it in, not actual mode (which can be VOIDmode).
+
+	* insn-emit.c (emit_insn): If arg is empty SEQUENCE, do nothing.
+
+	* genemit.c (gen_expand): Scan the rtl-pattern for predicates
+	and machine modes of the operands.
+
+	* m68k.d (dbra patterns): Add HPUX_ASM conditionals.
+
+	* rtl.c (reg_mentioned_p): Use "equal", not "eq", when
+	REG isn't a register.
+	* reload.c (combine_reloads): Verify not reg_mentioned_p even if
+	the input reload's value isn't a register.
+
+	* reload.c (operands_match_p): If successful and 2nd arg
+	has a pre-increment that matches a non-increment, return 2.
+
+	* reload1.c (reload): At end, clobber a pseudoreg to a MEM
+	even if it's an out-of-range address.  It doesn't affect the
+	assembler code in this case, but it makes the dbx output correct.
+
+	* recog.c (constrain_operands): When operands_match_p returns 2,
+	in the constraint alternative that is ultimately successful,
+	copy the output operand from the input that it matched
+	so that the assembler insn that is output shows the pre-increment.
+
+Sat Feb 27 15:16:47 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* combine.c (subst): When optimizing
+        (set (zero_extract ...) (and (zero_extract ...) const))
+        must arrange to have 1's, not 0's, shifted into low bits of const.
+
+	* decl.c (grokdeclarator): When return-type defaults to int,
+	don't warn, just set warn_about_return_type.
+	(start_function): See that variable and warn, after starting function.
+
+	* toplev.c (count_error): No longer print newline if not quiet.
+	(report_error_function): If not quiet, print a newline if
+	printing anything, and don't print the function name.
+
+	* reload1.c (choose_reload_targets):
+	Fix the loop that checks for consecutive available spill regs.
+	Set `have_groups' nonzero if any reload wants a group.
+	In that case, for non-group reloads, prefer a reg that can't be in
+	group, or else one that has only one available neighbor.
+
+	* reload1.c (reload): Find separately the max need for each class
+	for single registers, groups of registers, and single registers
+	not in any group.  (The last one counts non-group reloads
+	in insns that have at least one group reload.)
+	Then make sure enough of each kind are found.
+
+	* expmed.c: Now needs flags.h and recog.h (therefore insn-config.h).
+
+	* expmed.c (store_bit_field):
+	Delete redundant protect_from_queue.
+	Force VALUE out of memory if -fforce-mem.
+	If insv's predicate for VALUE wants a register, put it there.
+
+	* expmed.c (extract_bit_field):
+	Force TARGET out of memory if -fforce-mem.
+	If insv's predicate for TARGET wants a register, put it there.
+
+Fri Feb 26 00:12:48 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* reload1.c (eliminate_frame_pointer): Don't check for pushes
+	unless PUSH_ROUNDING is defined.
+
+	* reload.c: Don't define REG_OK_FOR_{INDEX,BASE}_P
+	(since the tm file is supposed to do it).
+
+	* expr.c (emit_push_insn, expand_call):
+	Don't use PUSH_ROUNDING if it's not defined.
+
+	* expr.c (preexpand_calls): Do nothing for constants and decls.
+
+	* expr.c (expand_call, emit_library_call): When PUSH_ROUNDING
+	is not defined, use ROUND_CALL_BLOCK_SIZE to round the size
+	of the block of arguments.
+
+	* expr.c (expand_call): Don't count register-args in ARGS_SIZE.
+
+	* rtl.h, emit-rtl.c: Create static_chain_incoming_rtx
+	and struct_value_incoming_rtx.
+	* stmt.c (expand_function_start): Use ..._incoming_rtx where needed.
+
+	* expr.c (expand_call): Use new macros INIT_CUMULATIVE_ARGS,
+	CUMULATIVE_ARGS and FUNCTION_ARG_ADVANCE to update data
+	on args scanned so far.
+	(emit_library_call): Likewise.
+	* stmt.c (assign_parms): Likewise.
+	* tm-spur.h, tm-m68k.h: Define these macros.
+
+	* rtl.h (NUM_MACHINE_MODES): NUM_MACHINE_MODE renamed.
+	* rtl.c, genrecog.c: Change places it is used.
+
+	* cccp.c (output_line_command): line_cmd_buf should be chars, not ints.
+
+Thu Feb 25 13:33:29 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* genemit.c (gen_expand): Don't lose if pattern is empty-vector.
+
+	* genconfig.c (gen_insn): Don't lose if pattern is empty-vector.
+
+	* expr.c (expand_expr): For COMPONENT_REF, don't convert to tmode
+	unless the mode we get is unacceptable.
+
+	* loop.c (scan_loop, move_movables): New field `partial' is 1 for
+	zero-extending clr insn; don't make the reg invariant when it's moved.
+
+	* optabs.c (expand_unop, expand_binop, emit_cmp_insn):
+	mode-argument to predicates was missing.
+
+	* optabs.c (expand_binop): If gen-function returns 0, this means
+	the insn wasn't available.
+
+	* reload.c (find_reloads): Don't make optional reloads for operands
+	that match other operands.
+
+	* reload.c (combine_reloads): Reject optional output reload.
+
+	* reload.c (find_equiv_reg): Know that CALL_INSNs clobber memory.
+
+	* typecheck.c (build_binary_op_nodefault):
+	If doing a short shift, leave the shift-count as a fullword.
+
+Tue Feb 23 14:43:46 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* combine.c (subst): Count, in n_occurrences, # times FROM is seen.
+	(try_combine): Refuse to combine x=*y++ into z = x*x.
+
+	* loop.c (invariant_p): Frame pointer and arg pointer are invariant.
+	(move_movables): Don't forget to set ->done!
+	When moving the matching movables, don't forget to set n_times_set.
+
+	* expmed.c (expand_shift): Reorder strategies for logical shift;
+	if widening, try all ashift strategies before extzv.
+
+	* typecheck.c (build_binary_op_nodefault):
+	Always return error_mark if either operand is one.
+
+	* recog.c (nonmemory_operand): New predicate.
+
+	* optabs.c (expand_unop, expand_binop, emit_cmp_insn):
+	Don't treat `register_operand' as special.  Apply the predicate
+	to the rtx; if the predicate fails, use a register instead.
+
+Mon Feb 22 22:37:32 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* expr.c (expand_calls): Preexpand all calls in arguments
+	that are passed in regs before copying any of them into the regs.
+
+	* expr.c (emit_push_insn): Three more args.
+	EXTRA for extra space to leave.
+	ARGS_ADDR and ARGS_SO_FAR for using move-insns on machines
+	that lack true push insns.
+
+	* expr.c (emit_library_call, expand_call):
+	Use the new arguments of `emit_push_insn'.
+
+	* expr.c (PUSH_ARGS_REVERSED): defined if handle args last-to-firs.
+
+Sun Feb 21 12:17:59 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* toplev.c (rest_of_compilation): Set TREE_ASM_WRITTEN
+	when a function is really output as assembler code.
+	Don't do inlining of a function that is already made inline;
+	instead, output it as assembler code, because this must be
+	the second call for that function.
+
+	* decl.c (finish_compilation): Delete it.
+	* toplev.c (compile_file): Output pending inline functions at the end
+	in the same way tentative-defined variables are output.
+
+	* emit-rtl.c (restore_reg_data): New fn: given chain of insns,
+	restore emit-rtl's data on registers from the regs they use.
+
+	* integrate.c (output_inline_function): Use restore_reg_data.
+	(fill_regno_reg_rtx_as_needed): Now restore_reg_data_1 in emit-rtl.c.
+
+	* tree.c (build_decl): Function moved from decl.c.
+	No longer set attributes of function decls specially.
+
+	* decl.c (implicitly_declare, builtin_function, grokdeclarator):
+	Don't expect build_decl to set attributes of FUNCTION_DECL.
+
+	* tree.c (preserve_data): New fn, make all data now on
+	maybepermanent_obstack last permanently.
+
+	* cse.c (cse_insn): Remove a STRICT_LOW_PART from the dest rtx
+	before putting it in the hash table.
+
+	* symout.c (symout_block): Fix the args to `symout_block_symbols'.
+
+Sat Feb 20 00:07:52 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+    Start of changes for inline functions.
+    Changes received from Tiemann, then slightly rearranged for simplicity.
+
+	* integrate.c: New file (Tiemann's rtl2.c).
+	* integrate.c (function_cannot_integrate_p):
+	New fn, only checks whether current fn is safe and good to inline.
+	Returns an error message string if not.
+
+	* expr.c (current_args_size): Var made static.
+	(store_expr): Fn no longer static.
+	(stack_pointer_rtx): Use this var for all refs to the stack pointer.
+	(struct_value_rtx, static_chain_rtx): Likewise
+
+	* expr.c (expand_call): Detect calls to integrable functions
+	and integrate them.
+	**If fn is not named "alloca" then assume it is not `alloca'. **
+
+	* emit-rtl.c (max_label_num): New fn, returns number for next label.
+	(get_first_label_num): New fn, returns first label of current fn.
+	(init_emit): Save first label number of this fn.
+
+	* emit-rtl.c (gen_inline_header_rtx): New fn, make an INLINE_HEADER.
+
+	* emit-rtl.c (emit_declaration): New fn to emit new kind of NOTE.
+
+	* emit-rtl.c (init_emit_once): New fn.
+	Move inits of unique rtl objects here, from init_emit.
+
+	* decl.c (finish_compilation): New fn to compile separately
+	any nonglobal inline functions that need to be addressable.
+
+	* decl.c (grokdeclarator): Handle `inline' kwd among the declspecs.
+	Set TREE_INLINE if it's safe.
+
+	* decl.c (finish_function): If fn was inlined, don't clear
+	the DECL_ARGUMENTS or DECL_RESULT or DECL_INITIAL.
+
+	* gen*.c: Provide rtl_obstack, not current_obstack.
+
+	* rtl.c (rtl_obstack): Variable: ptr to obstack to use for making rtl.
+	* rtl.c (rtx_alloc, rtvec_alloc): Use that obstack.
+	* rtl.c (copy_rtx): Copy the `integrated' flag.
+	* rtl.c (print_rtx): Print that flag as `/i'.
+
+	* rtl.def: New rtx code	INLINE_HEADER.
+
+	* rtl.h (struct rtx_def): Add `integrated' field.
+	* rtl.h: Define macros for fields in an inline_header rtx.
+
+	* stmt.c (max_parm_reg_num, get_first_function_insn):
+	New fns, return info on parm regs and the insns that init them.
+
+	* stmt.c (expand_decl): Simplify with new local `type'.
+
+	* stmt.c (stack_pointer_rtx): Replace all refs to stack pointer
+	with this shared rtx.
+	* stmt.c (struct_value_rtx): Likewise.
+
+	* stmt.c (expand_start_function): Call init_pending_stack_adjust
+	instead of clear_pending_stack_adjust.
+	If not using a return-label, set `return_label' to 0.
+
+	* stmt.c (expand_null_return, expand_end_function):
+	Call clear_pending_stack_adjust unconditionally.
+
+	* expr.c (clear_pending_stack_adjust): Move the conditionals here.
+	For now, this fn is a no-op, since it's not safe in an inline fn
+	and the stack adjusts are deleted by jump.c in if optimizing.
+
+	* expr.c (init_pending_stack_adjust): New fn.
+
+Fri Feb 19 14:30:13 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* toplev.c (main): Decode -finline-functions, -fkeep-inline-functions.
+
+	* toplev.c (rest_of_compilation):
+	At start, save the rtl if function should be inline.
+	For inline function, if we don't yet know whether it should be
+	compiled on its own, don't do so.
+
+	* toplev.c (compile_file): Clear, and later print, `integration_time'.
+	Call `init_emit_rtl' when starting.
+	Call `finish_compilation' at the end.
+
+	[Add an extra arg to the error and warning functions?]
+
+	* tree.c ({push,pop,clear}_momentary):
+	Change momentary_stack from a char ** to a struct momentary_level *.
+
+	* tree.c (build_pointer_type): Put temporary type in `saveable_obstack'
+	* tree.c (build_type_variant): Likewise.
+	* tree.c (make_node): Likewise.  Also put decls and LET_STMTs there.
+	* tree.c (type_hash_canon): Free a temporary type in `saveable_obstack'
+
+	* tree.c (perm_tree_cons): Like `tree_cons' but on perm. obstack.
+
+	* tree.c (init_tree, {{end_,}temporary,permanent}_allocation):
+	Handle `maybepermanent_obstack' and `saveable_obstack' and
+	`rtl_obstack'.
+
+	* tree.h (TREE_INLINE): New attribute macro.
+	* tree.h (DECL_SAVED_INSNS, DECL_FRAME_SIZE):
+	New components in a FUNCTION_DECL.
+	Delete the `unused` slot in a `struct tree_decl'.
+
+	* typecheck.c (mark_addressable): Set TREE_ADDRESSABLE
+	even in FUNCTION_DECLs.
+
+	* typecheck.c (build_function_call):
+	If function is a FUNCTION_DECL, avoid setting TREE_ADDRESSABLE
+	when taking its address.
+
+	* parse.h: Define RID_INLINE.
+	* parse.y: Define keyword `inline'; set up ridpointers for it.
+	(yylex): Don't recognize `inline' of -fno-asm or -ftraditional.
+
+	* flags.h: New vars flag_inline_functions
+	and flag_keep_inline_functions.
+
+  End of changes for inline functions.
+	
+	* tree.c (convert): If EXPR's type is an error_mark, return error_mark.
+
+	* Makefile (install): Don't strip the executables.
+
+	* jump.c (delete_insn): Deleting a label's target
+	can delete either NEXT and PREV!  So must search for a
+	following nondeleted insn to return.
+
+	* typecheck.c (build_function_call): Typo in validating
+	data type of function.
+
+	* genoutput.c (gen_expand): Must create a `struct data' even
+	for a define_expand, so we can output the proper insn_gen_function
+	and leave zeros in the other tables.
+
+	* loop.c (scan_loop): Replace the code for handling zero-extends
+	with unconditional code that checks for a pair of insns.
+
+	* m68k.md: Do zero-extend using define_expand to generate
+	a pair of insns, to set all to zero and then copy the low part.
+
+Thu Feb 18 15:54:00 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* emit-rtl.c (emit_insn): If arg is a SEQUENCE, emit several insns.
+	* emit-rtl.c (classify_insn): Given an RTX, return the rtx-code for
+	an insn containing it: CODE_LABEL, INSN, JUMP_INSN or CALL_INSN.
+
+	* rtl.def: New RTX types DEFINE_EXPAND and SEQUENCE.
+	* gen*.c: Handle DEFINE_EXPAND.  Only genemit.c does real work.
+
+	* make.com, make-cc1.com, make-cccp.com: New, VMS command files.
+
+	* tm-vms.h: New file, used as tm.h to generate VMS code.
+
+	* tm-vax.h (FUNCTION_PROLOGUE): Turn off no bits in the mask;
+	let call_used_registers alone control this.
+	Call MAYBE_VMS_FUNCTION_PROLOGUE, and define that as no-op.
+
+	* tm-vax.h (TARGET_VAXC_ALIGNMENT): New target-flag bit.
+	BIGGEST_ALIGNMENT, EMPTY_FIELD_BOUNDARY and POINTER_BOUNDARY use it.
+
+	* varasm.c (assemble_function): Use ASM_DECLARE_FUNCTION_NAME
+	if it is defined.
+
+	* varasm.c (assemble_variable): On an external,
+	use ASM_OUTPUT_EXTERNAL if defined.  Default is do nothing, as before.
+
+	* toplev.c:
+	Use FATAL_EXIT_CODE and SUCCESS_EXIT_CODE.
+	Don't include time.h and resource.h on VMS.
+	(main) Define __VERSION__ if not already defined.
+	Conditionalize setrlimit on RLIMIT_STACK.	
+	Test __GNUC__, not __GNU__.
+	Don't do `ps v' on VMS.
+	(gettime): Conditional code for VMS.
+
+	* gcc.c: Define __GNUC__ as well as __GNU__.
+	__GNU__ will be deleted in a future version.
+
+	* symout.c (symout_finish) [VMS]: Don't refer to `getwd' on VMS.
+	* symout.c (symout_init) [VMS]: Fatal error; GDB syms not supported.
+
+	* parse.y (yylex): Handle DOLLARS_IN_IDENTIFIERS.
+
+	* genoutput.c (gen_insn): Workaround for VMS printf %s bug.
+
+	* gen*.c: Include config.h.  Whenever exiting, use
+	SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
+
+	* config-*.h: Define SUCCESS_EXIT_CODE and FATAL_EXIT_CODE.
+	* config-vms.h: New file, mostly like config-vax.h.
+
+Wed Feb 17 13:35:34 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* cccp.c: VMS support from Kashtan.
+	Some #include files are conditional.
+	Use file_size_and_mode instead of fstat.
+	When reading file contents, the size we get from that
+	is just an upper bound; don't assume it must match.
+	Replacement definitions of read and write for VMS.
+	Different default include directories.
+	Conditionalize the setrlimit code on RLIMIT_STACK.
+	Use SUCCESS_EXIT_CODE when exiting if no errors;
+	both that and FATAL_EXIT_CODE are not #defined if already defined.
+
+	Treat $ as an identifier-character if DOLLARS_IN_IDENTIFIERS.
+	Rename the `delete' function as `delete_macro'
+	to avoid VMS name conflict.
+
+	* cexp.y: Treat $ as an identifier-character if DOLLARS_IN_IDENTIFIERS.
+
+	* stmt.c (fixup_memory_offset): Do big-endian compensation
+	only within a word, not for DImode vs SImode.
+
+	* stmt.c (fixup_var_refs): Don't fix up the insn to load the var
+	from its own stack slot; delete it instead.
+
+	* tm-ns32k.h (MODES_TIEABLE_P): DImode is like DFmode.
+
+	* tree.c (MAX_HASH_TABLE): 1009 (more prime) instead of 1008.
+
+	* decl.c (duplicate_decls): If merged type is OLD's type,
+	keep OLD's DECL_SIZE and DECL_SIZE_UNIT.
+
+	* gen*.c (xmalloc, xrealloc): Call `fatal' if memory is full.
+
+	* reload1.c (choose_reload_targets): If a mode doesn't fit the
+	reload register, and the insn is an ASM_OPERANDS, ignore the reload.
+	Otherwise, final would crash.
+
+	* expmed.c (expand_shift): Two new strategies for lshr on short/char:
+	widen and do ashr, or widen and do extzv.
+
+	* vax.md (peepholes): Use dead_or_set_p to check for eliminable
+	intermediate result, rather than requiring a match with final result.
+
+	* local-alloc.c (block_alloc): Testing frame_pointer_needed is
+	enough; no need to test FRAME_POINTER_REQUIRED, etc.
+	* global-alloc.c (find_reg): Likewise.
+	* reload1.c (reload): Likewise for flag_omit_frame_pointer
+
+	* jump.c (delete_insn): If not `optimize', don't complain
+	about finding an already-deleted insn in the chain.
+
+Tue Feb 16 17:14:54 1988  Richard Stallman  (rms at wheaties.ai.mit.edu)
+
+	* final.c: Don't define N_SOL and N_SLINE if already defined.
+
+	* final.c (output_source_line):
+	Typo calling ASM_OUTPUT_SOURCE_FILENAME.
+
+	* flow.c (INSN_VOLATILE): fix a typo.
+
+Fri Feb 12 16:48:16 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* final.c (final): for `asm' without operands, output literally.
+
+Thu Feb 11 12:44:41 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* symout.c (symout_record_fields): Handle nameless fields.
+	* symout.c (symout_record_field_names): Likewise.
+
+	* typecheck.c (require_complete_type): `void' is a complete type.
+	* typecheck.c (build_function_call): Don't complain if result is void.
+
+	* tm-hp9k320.h: Change definition of ASM_SPEC to +X, not -X.
+
+	* cccp.c (main): Expected object file name for foo.cc is foo.o.
+
+Wed Feb 10 16:04:58 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* reload1.c (reload): Initialize `regmask' to zero.
+	Class number is in I, not in CLASS, when setting its elements.
+	Don't let J+K be too large.
+
+	* reload1.c (potential_reload_regs): Make it a `short'
+	since that can't be unsigned.
+
+	* cccp.c (warning): New function, called like `error'.
+	* cccp.c (do_define): Make redefinition just a warning.
+
+Tue Feb  9 13:28:00 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* decl.c (grokdeclarator): Don't be fooled by ERROR_MARK as a declspec.
+
+	* toplev.c (compile_file): Strip final .c or .co from .sym file name.
+
+	* gcc.c: When running `as', specify the .sym file if -gg.
+
+Mon Feb  8 11:26:26 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* expmed.c (store_fixed_bit_field): Don't try gen_lowpart on VALUE
+	if it's a subreg since it might lose; use convert_to_mode instead.
+
+	* tm-hp9k320.h: Define TARGET_MEM_FUNCTIONS.
+	* expr.c (emit_block_move, emit_push_insn, clear_storage):
+	If TARGET_MEM_FUNCTIONS, generate calls to memcpy and memset
+	instead of bcopy and bzero.
+	* optabs.c (emit_cmp_insn): Likewise for memcmp vs bcmp.
+
+	* stmt.c (expand_goto): New temp var to avoid RT/PC compiler bug.
+
+Sun Feb  7 12:20:23 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* flow.c (mark_used_regs, mark_set_regs):
+	Handle hard regs in multiword modes: set the bits for each
+	distinct register-number that makes up the multiword mode.
+	Necessary because function arg registers can inevitably
+	live across basic blocks.
+
+	* cse.c (canon_hash): Function arg and value registers no longer
+	considered volatile, because flow should now handle the code that
+	can result from cse'ing them.
+
+	* cse.c (make_regs_eqv): Abort if OLD is invalid.
+	* cse.c (reg_invalidate): Abort if reg already invalid has eqvs.
+
+Sat Feb  6 16:25:32 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* gcc.c (main): Specific error msg if no input files.
+
+Fri Feb  5 17:56:00 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* stmt.c (expand_decl, put_var_into_stack, assign_parms):
+	Set in_struct on a MEM if the variable is an aggregate or union.
+	* varasm.c (assemble_variable): Set in_struct on aggregate vars.
+
+Thu Feb  4 11:52:30 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* m68k.md (movsf): Correct two fmove.x to fmove.s.
+
+	* expmed.c (extract_fixed_bit_field):
+	Must always generate an `and' to mask the bitfield
+	unless its width is the same as the output machine mode.
+
+	* version 1.18 released.
+
+Wed Feb  3 08:41:20 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* fold-const.c (fold): Convert EXPR's operands before returning them.
+
+Tue Feb  2 15:35:18 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* reload.c (find_reloads_address_1):
+
+	* typecheck.c (default_conversion): Handle COMPOUND_EXPR arrays.
+
+Mon Feb  1 18:53:05 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* ns32k.md: operand 0 of all unsigned divide/modulus insns
+	is now register_operand.
+
+	* stdarg.h: Make va_list be char *, not char *[1].
+	Latest draft doesn't say it must be an array type.
+
+Sun Jan 31 11:14:07 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* flow.c (find_basic_blocks): Add temp var to avoid Sequent
+	compiler bug.
+
+	* tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): Don't allow pushes or pops
+	since there are special insn patterns for them.
+	Resubroutinize and add temp vars to make expressions smaller.
+	* ns32k.md: Add a few more special stack insns; now there are enough.
+
+	* tm-sequent.h: Definitions of DBX_NO_XREFS and DBX_CONTIN_LENGTH.
+
+	* reload1.c (choose_reload_targets): Handling of reload_strict_low
+	is needed for input reloads as well as output, since a strict_low_part
+	operand is normally a read-write operand.
+
+	* reload1.c (reload): The mode a reload needs is the wider of
+	the input and output modes--just as it is in choose_reload_targets.
+
+	* reload.c (find_dummy_reload): If IN and OUT have different widths
+	and one of them exceeds a word, don't find any dummy reload.
+
+	* toplev.c (compile_file): Allocate enough space for .jump2 filename.
+
+Sat Jan 30 10:35:46 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* output-ns32k.c (print_operand_address):
+	Print addresses of the form C1+(N*REG+C2) which currently
+	are accepted as legitimate memory addresses.
+
+	* tm-sequent.h: Simple bugs in PRINT_OPERAND, TARGET_DEFAULT
+	and SEQUENT_ADDRESS_BUG.
+
+	* gen*.c: Must explicitly exit; returning from `main' fails
+	to indicate nonzero status due to bug in Unix.
+
+	* parse.y (check_line_number): Ignore entire line of unrecognized
+	#-directive; no error if it is `pragma'.
+
+Fri Jan 29 06:46:01 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* genrecog.c, genextract.c, genoutput.c: Define bcopy and/or bzero.
+
+	* cccp.c (do_define): Make defn->argnames long enough in no-args case.
+
+	* reload1.c (reload): Make basic_block_needs 0 until after the
+	frame pointer reg is spilled, so that ALL pseudos in it are spilled.
+
+	* typecheck.c (truthvalue_conversion):
+	Strip a NOP_EXPR only if it extends, not if it truncates.
+	(build_unary_op): For TRUTH_NOT_EXPR, call invert_truthvalue
+	to simplify.
+
+	* Fixes for HPUX support from cph:
+	* tm-hp9k320.h: Correct names of floating-point registers.
+	Fix typos in ASM_OUTPUT_OPCODE; also convert `fmove' to `fmov'.
+	* Makefile (comments for HPUX):
+	cph says -Wd,-X isn't needed in CFLAGS, nor -lBSD in CLIB.
+	Also that -g can't be used in CFLAGS with HP's pcc.
+	* conf-hp9k320.h: New file, like config-m68k.h but with
+	#defines for the bstring functions.
+	* m68k.md: Add else-clauses to the HPUX_ASM conditionals on cmp insns.
+	Reinsert mistakenly-deleted MOTOROLA conditionals around
+	some OUTPUT_JUMPs.
+
+Thu Jan 28 09:51:41 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* jump.c (jump_back_p): If TARGET is unconditional, return 0.
+
+Wed Jan 27 04:18:29 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* combine.c (subst): Simplify (plus (plus x c1) c2).
+
+	* expr.c (emit_push_insn): Don't use small-block push-insns for BLKmode
+	when one of them would be affected by PUSH_ROUNDING.
+	Instead, make all the space and then copy.
+	* expr.c (expand_call): Don't apply PUSH_ROUNDING if BLKmode.
+
+	* Allow `asm' with operands to be marked volatile.
+	* cse.c (canon_hash): Don't record ASM_OPERANDS that has `volatil'.
+	* loop.c (invariant_p): ASM_OPERANDS with `volatil' can't be invariant.
+	* flow.c (volatile_refs_p): Note ASM_OPERANDS that are volatile.
+	* stmt.c (expand_asm_operands): New arg VOL; mark ASM_OPERANDS as vol.
+	* typecheck.c (c_expand_asm_operands): New arg VOL.
+	* parse.y: allow a TYPE_QUAL after ASM.
+
+	* Make cse handle `asm' with operands:
+	* cse.c (canon_hash): Hash string operands by contents, not address.
+	* cse.c (exp_equiv_p): Compare string operands with strcmp.
+	* rtl.c (rtx_equal_p): Compare string operands with strcmp.
+
+	* decl.c (init_decl_processing): Once sizetype is set,
+	correct the type of the sizes of types already made.
+
+	* cccp.c (do_defines): Don't reject #define foo{a}.
+
+Tue Jan 26 04:53:16 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* reload.c (find_reloads): Now that `asm' is limited to
+	MAX_RECOG_OPERANDS, eliminate dynamic allocation of `constraints'
+	and `constraints1', and go back to `recog_operand' instead of
+	`operands'.
+
+	* typecheck.c (c_expand_asm_operands): New fn to handle `asm' for C.
+	Calls expand_asm_operands, and handles output operands that
+	the other function cannot handle.
+
+	* parse.y: Call that function.
+
+	* stmt.c (expand_asm_operands): Error if too many operands.
+	#include insn-config.h to get MAX_RECOG_OPERANDS.
+
+	* expr.c (expand_assignment): Use store_field to handle
+	structure fields and array elements.
+
+	* output-m68k.c (output_move_double): PUSHOP and POPOP were swapped.
+	Handle insns that push an sp-relative address onto sp;
+	these can arise with -fomit-frame-pointer.
+	BUG? Do unoffsetable mem refs using sp and fp lose?
+
+	* m68k.md (movdi,movdf): Allow unoffsetable mem refs
+	only if the other operand is a register.
+
+	* m68k.md (zero_extendqisi2): SGS conditionals deleted.
+	Supposedly the MOTOROLA syntax works for those addresses.
+
+	* typecheck.c (default_conversion):
+	If flag_traditional, preserve unsignedness when promoting ints,
+	and promote float to double.
+
+	* typecheck.c (build_binary_op_nodefault):
+	Allow comparisons between pointers and ints.
+	If not -traditional, warn about them.
+
+Mon Jan 25 02:11:18 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* expmed.c ({extract,store}_split_bit_field):
+	Functions {extract,store}_split_reg_bit_field now work for memory
+	also, and therefore are renamed.
+	* ({extract,store}_fixed_bit_field): Call those fns when a field
+	is split across two words.
+	Also, preserve the `volatil' bit on memory refs.
+
+	* output-m68k.c (output_move_double): Handle nonoffsetable mem refs.
+	* m68k.md: Relax constraints on movdi, movdf.
+
+	* decl.c (init_decl_processing): Define `int' and `char' first.
+	Set `sizetype' explicitly.
+
+	* stmt.c (fixup_var_refs_1): May not just return when a SET
+	doesn't have VAR as its src or dest.
+
+	* varasm.c: Don't include c-tree.h.
+
+	* decl.c (build_struct): Split this function into three:
+	`xref_tag', `start_struct' and `finish_struct'.
+	`xref_tag' subsumes `xref_enum'.
+
+	* parse.y (structsp): When parsing `struct foo {...}', define the tag
+	as a cross-ref before parsing the components.  Use the three new fns.
+
+	* regclass.c (regclass): Recognize new-format ASM_OPERANDS insns
+	with `asm_noperands', and scan their operands as usual.
+
+	* cse.c: In numerous functions such as canon_hash, rtx_cost, etc.
+	that do tree-walk on rtx, handle vectors of subexpressions.
+
+	* loop.c (invariant_p): Likewise.
+
+	* jump.c (delete_insn): Two bugs:
+	If insn already deleted, return the first following nondeleted.
+	Deleting a jump's label can delete NEXT.  Make sure return value
+	is always the first insn following INSN and not yet deleted.
+
+Sun Jan 24 02:27:49 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* rtl.def (ASM_OPERANDS): Change the rtl expression of an
+	`asm' with operands so it looks like this for one output operand:
+	(set OUTPUT (asm_operands:OUTPUTMODE INSNSTRING OUTPUTCONSTRAINT
+					     0 INPUTS INPUTCONSTRAINTS)).
+	and like this for multiple outputs:
+	(PARALLEL [
+	  (set OUTPUT0 (asm_operands:OUTPUTMODE INSNSTRING OUTPUTCONSTRAINT
+					        0 INPUTS INPUTCONSTRAINTS)).
+	  (set OUTPUT1 (asm_operands:OUTPUTMODE1 INSNSTRING OUTPUTCONSTRAINT1
+					        1 INPUTS INPUTCONSTRAINTS))])
+
+	* parse.y: Change parsing of `asm' to distinguish input and output
+	operands.  Separate them with colon; separate the string with colon.
+
+	* stmt.c (expand_asm_operands): Receive inputs and outputs separately.
+	Generate the new rtl format.
+
+	* recog.c (asm_noperands, decode_asm_operands): New fns
+	for extracting the operands and constraints from these insns.
+
+	* final.c (final): Recognize and output the new rtl format
+	using those new functions.
+
+	* reload.c (find_reloads): Recognize and get constraints
+	from the new rtl format using those new functions.
+	New variable `operand_modes' holds the machine modes of the
+	operands, obtained one way for ASM_OPERANDS insns and another
+	for other insns.
+
+	* rtl.c (note_stores): Calling convention
+	is changed: the first arg FUNCTION now receives as its 2nd arg
+	1 if clobbering, 0 if setting.  Used to be the CLOBBER or SET rtx.
+
+	* local-alloc.c (reg_is_set): This fn is called from note_stores;
+	change its arguments.
+
+	* tm-m68k.h (FIXUP_FRAME_POINTER_ADDRESSES):
+	Use frame_pointer_rtx to recognize intended frame-pointer refs
+	and not recognize pseudo-regs that were allocated to the frame
+	pointer register.
+
+	* emit-rtl.c: All refs to frame pointer use a single rtx, in
+	frame_pointer_rtx.  Likewise arg_pointer_rtx for the arg pointer.
+	If they are the same register, these are the same rtx.
+	Initialize them in init_emit.
+	* rtl.h: Declare these vars.
+
+	* stmt.c (assign_parms, assign_stack_local): Use those rtx's.
+
+Sat Jan 23 00:32:10 1988  Richard Stallman  (rms at frosted-flakes.ai.mit.edu)
+
+	* reload.c (find_reloads): Don't combine_reloads if `&' constraint
+	was used.
+
+	* parse.y: Parse `asm' with operands.
+	* stmt.c (expand_asm_params): New fn: generate an ASM_OPERANDS for
+	`asm' with operands.
+	* final.c (final): Output an ASM_OPERANDS insn-body.
+	* regclass.c (regclass): Ignore ASM_OPERANDS, like ASM_INPUT.
+
+	* reload.c (find_reloads): Handle reloading of ASM_OPERANDS.
+	The number of operands can no longer be bounded.
+	For example we can't always put the operands in recog_operands.
+
+	New locals OPERANDS and OPERAND_LOCS point to alloca'd vectors of
+	operands and their locations.  New locals CONSTRAINTS and CONSTRAINTS1
+	hold alloca'd vectors of constraints.
+
+	Unfortunately this isn't enough; every vector with length
+	MAX_RECOG_OPERANDS needs to be dynamically allocated.
+	Would this be too slow?  For now, a cheap "solution" is to delete
+	any insn that has too many operands.
+
+	* rtl.def: Delete VOLATILE, UNCHANGING and UNDESCRIBED.
+	Add ASM_OPERANDS.
+
+	* regclass.c (reg_class_record): Delete ref to UNCHANGING.
+	* loop.c (invariant_p):
+	* rtl.c (rtx_varies_p):
+
+	* cccp.c: Define __VERSION__.
+
+	* decl.c (shadow_tag): TYPE_NAME doesn't work to get the tag-name
+	of a struct, so use new function lookup_tag_reverse.
+	* decl.c (lookup_tag_reverse): Given a type, return its tag name.
+
+	* symout.c (symout_source_file): Output one `struct source'.
+	* symout.c (symout_lines): Output all of them, and the sourcevector.
+	* gdbfiles.h: New file for communication between final.c and symout.c.
+
+	* final.c (output_source_line): New arg WRITE_SYMBOLS says write
+	new GDB-format linenumber info.  Assigns a filenum to each source
+	file name and keeps track of the correspondence.
+
+	* cccp.c (do_include): Output the -M info after searching the dirs;
+	include the actual dir name.  Don't generate "./" for current dir.
+
+Fri Jan 22 04:10:10 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* tm-news800.h: Delete override of INDIRECTABLE_1_ADDRESS.
+	Output is faster if it doesn't use 32-bit displacements.
+
+	* reload.c (combine_reloads): New function.
+	If possible, find an input reload
+	and an output reload that can be turned into one input-output reload.
+	The old output-reload is marked as inoperative: reload_out
+	and reload_in both zero.  This is called from find_reloads.
+
+	* reload1.c (reload, choose_reload_targets): Ignore inoperative
+	reloads.
+
+	* Print warnings for variables that could be clobbered by `longjmp'.
+	* expr.c (expand_call): Generate a NOTE_INSN_SETJMP whenever
+	`setjmp' or `_setjmp' is called.
+	* flow.c (propagate_block): When NOTE_INSN_SETJMP is seen,
+	record the live regs in `regs_live_at_setjmp'.
+	* stmt.c (uninitialized_vars_warning): Warn about vars that have regs
+	that are set more than once and are marked in `regs_live_at_setjmp'.
+	Works through function `regno_clobbered_by_longjmp'.
+	* rtl.h: Define NOTE_INSN_SETJMP.
+
+	* genrecog.c (try_merge_2): When enforce_modes, keep all the
+	alternatives segregated by modes and keep the modes in numerical order.
+	* genrecog.c (write_tree): Make conditions for switch-on-modes
+	know what difference enforce_mode makes.
+
+Thu Jan 21 00:12:35 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* tm-ns32k.h: Use Stein's definitions of PRINT_OPERAND{,_ADDRESS};
+	move the Sequent definitions info tm-sequent.h.
+	Handle %$ in both old and new PRINT_OPERAND.
+	Define CPP_PREDEFINES.
+
+	* ns32k.md: Merge some features from Jan Stein's port:
+	strict_low_part insns, smart output of booleans with small
+	constant args, acbd insns generalized for other increments.
+	Use %$ wherever there is an explicit immediate.
+	Fix shortcomings of adjsp insns: use adjspd in general,
+	and use adjspb in all the cases that allow it.
+	Don't bother explicitly clearing CC_REVERSED.
+	For tstsf/tstdf, output the floating-zero constants
+	using {f,d}const0_rtx.
+
+	A problem still remains, which is that the Sequent and the
+	other ns32k assembler syntax require different 
+
+	* typecheck.c (unary_complex_value): Use correct datatype for
+	compound-exprs.
+
+	* gen*.c (main): Use obstack_init instead of obstack_begin.
+
+	* vax.md: define_peephole for  andl3 x,y,z; extzv z,....,z
+
+	* m68k.md (tstsi): Use cmpw instead of cmpl to test addr reg.
+
+	* tm-m68k.h: Bugs for 68000 when frame size is over 64k.
+	For FUNCTION_PROLOGUE, just subtract from sp instead of fp.
+	For FUNCTION_EPILOGUE, must put the size into a0 and then
+	all insns must be indexed by a0.  And do this even on 68020.
+
+	* tm-isi68.h: Similar changes.
+	* tm-news800.h, tm-hp9k320.h: Similar changes.
+
+Wed Jan 20 04:38:21 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* cccp.c (error_with_line): New function.
+	Use it to report the "unterminated whatever" errors.
+
+	* typecheck.c (build_unary_op): Recursive call had missing arg.
+
+	* m68k.md (movhi): If MOTOROLA, the insn that fetches from a
+	case-dispatch table now defines the LI label as .+2.
+	* tm-news800.el, tm-hp9k320.h (PRINT_OPERAND_ADDRESS):
+	Don't subtract 2 when outputting the address in that insn.
+
+Tue Jan 19 00:02:33 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* cse.c (cse_basic_block): Abort if more qtys were used than allocated.
+
+Mon Jan 18 04:44:28 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* cccp.c (special_symbol): tm_mon is origin-0, not origin-1.
+
+	* final.c (output_asm_insn): If %LETTER with no digits,
+	pass null pointer as the operand.
+
+	* output-m68k.c (singlemove_string): Get rid of %e.
+
+	* stmt.c (fixup_memory_subreg): Convert (SUBREG (MEM a)) to (MEM a').
+	* stmt.c (fixup_var_ref_1): Use that fn for operands of
+	SIGN_EXTRACT and ZERO_EXTRACT, since (SUBREG:SI (REG:QI...))
+	could have turned into (SUBREG:SI (MEM:QI...)), which is unsafe.
+
+	* rtl.c (debug_rtx): Print an rtx on stderr, for debugging.
+
+Sun Jan 17 04:37:20 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* gcc.c: options -M* treated like -M.
+
+	* stmt.c (pushcase): Do nothing if the case index has error_mark type.
+
+	* expr.c (expand_increment): Don't use queue for post-inc on memory
+	if the add insn requires register args.  (Better code for RISCs.)
+
+Sat Jan 16 02:10:22 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* ns32k.md: Change register_operand to general_operand.
+	* ns32k.md (udivmoddisi4): Use match_dup where required.
+	Comment it out because it can't accept two independent output args.
+
+Fri Jan 15 00:02:35 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* toplev.c: Include sys/time.h only for BSD.  For USG, use time.h.
+	This is correct for HPUX; don't know about others.
+
+	* gcc.c (execute): Eliminate `union wait'.  Make `status' an int.
+	* gcc.c (execute) [USG]: Use fork instead of vfork.
+
+	* final.c (output_source_line): Use ASM_OUTPUT_SOURCE_{FILENAME,LINE}
+	if they are defined.
+
+	* tm-hp9k320.h: New name for tm-hpux.h.
+	* tm-hp9k320.h (ASM_OUTPUT_LOCAL): Add 3rd arg to `lcomm' statements.
+	* tm-hp9k320.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Use `double' and `float'.
+	* tm-hp9k320.h (CALL_USED_REGISTERS): Don't save any 68881 regs.
+	* tm-hp9k320.h (CPP_PREDEFINES): different names defined.
+	* tm-hp9k320.h (HPUX_ASM, NO_DBX_FORMAT, ASM_SPEC): define these.
+	* tm-hp9k320.h (ASM_OUTPUT_OPCODE): Convert `ftst' to `ftest'.
+	* tm-hp9k320.h: Define ASM_OUTPUT_SOURCE_{FILENAME,LINE}.
+
+	* m68k.md: Rename `hpux' conditionals to `HPUX_ASM'.
+	* m68k.md: Reverse `fcmp' args if HPUX_ASM.
+
+	* cccp.c (print_deps): 2 means give all files, 1 means only user files.
+	* cccp.c (do_include): Support that.
+	* cccp.c (main): -MM sets 1, -M alone sets 2.
+	* cccp.c (main): Give fatal error if I/O error in writing.
+
+	* toplev.c (fatal_io_error): Report I/O error on given filename,
+	and exit.
+
+	* toplev.c (compile_file): Detect error writing asm_out_file.
+	Always put asm file's name in asm_file_name for err msg.
+	* symout.c (symout_finish): Detect error writing symfile.
+	* symout.c (symout_init): Save filename in symfile_name for err msg.
+
+	* gen*.c: Return 1 if ferror (stdout)--in case disk is full.
+
+	* local-alloc.c (block_alloc): Don't crash if 1st rtx
+	in a PARALLEL is not a SET.
+
+	* tm-m68k.h, tm-news800.h (PRINT_OPERAND).  Eliminate code `%e'.
+	* m68k.md: Change `%e' to `e' everywhere.
+	* tm-hpux.h (ASM_OUTPUT_OPCODE): Output `move' as `mov'.
+
+	* tm-m68k.h, tm-news800.h, tm-hpux.h (PRINT_OPERAND):
+	New code `%!' is output as the name for the cc register.
+	* m68k.md (insns that use andi to ccr): Use `%!' to avoid
+	conditionals.
+
+	* cse.c: Record in qty_const_insn the insn that stored the
+	constant value of a qty.  When making a REG_WAS_0 note,
+	store in it the insn that established the value 0.
+
+	* vax.md (movsi): When checking a REG_WAS_0 note,
+	verify that the insn it points to hasn't been deleted or made a NOTE.
+
+Thu Jan 14 00:01:35 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* toplev.c: Eliminate error_with_line and warning_with_line.
+	* parse.y, decl.c: Change remaining calls to those two.
+
+	* tree.c (get_unwidened, get_narrower): To see if a COMPONENT_REF
+	is unsigned, look at the FIELD_DECL, not at the COMPONENT_REF.
+
+	* rtl.c (print_rtx): Print /v for the `volatil' bit.
+	* expr.c (expand_assignment expand_expr): If handling a COMPONENT_REF,
+	note whether it is volatile.
+
+	* fold-const.c (fold): a call to split_tree missed an argument.
+
+	* flow.c (volatile_refs_p): Scan an rtx for volatile mem refs.
+	* flow.c (life_analysis): Record in INSN_VOLATILE which insns
+	have any volatile mem refs.
+	* flow.c (mark_used_regs): Always mark an insn with volatile mem refs.
+	Always pass INSN as an arg.  New arg FINAL now says whether
+	this is the last time scanning.
+	* flow.c (propagate_block): Don't delete insns with volatile mem refs.
+
+	* flow.c: Remove all refs to `obey_regdecls'.
+	Calling this with -noreg just doesn't help -W.
+
+Wed Jan 13 01:13:07 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* decl.c (finish_decl): Error if auto var's size isn't known.
+	Change type to error_mark_node to avoid crash if the var
+	is used in an expression, since it has no DECL_RTL.
+
+	* output-m68k.c (output_move_const_single): % -> %% for sprintf.
+
+	* parse.y (yylex): Store token_buffer properly after ellipsis.
+
+	* decl.c (duplicate_decls): Don't call layout_decl
+	for FUNCTION_DECL or TYPE_DECL.
+
+	* toplev.c (warning_with_decl): New warning function with decl as arg.
+	* (error_with_decl): similar.
+
+	* decl.c: Replace most `yylinerror' calls with `error_with_decl'.
+
+	* decl.c (build_struct): Reform code to detect erroneous bit-fields.
+	All such errors are now detected here.
+	Promote bit-fields to int if appropriate.
+	If traditional, make all int bit-fields unsigned.
+	Set DECL_ALIGN for members that are not bit-fields.
+
+	* decl.c (grokfield): Don't set DECL_ALIGN here.
+
+	* stor-layout.c (layout_decl): Don't promote the type of a bit-field.
+	Use TREE_PACKED to distinguish a bit-field.
+	Don't check the width because build_struct did that.
+
+	* m68k.md (cmpm): Reject if either operand (address) is a constant.
+
+Tue Jan 12 15:11:20 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* cse.c (canon_reg): Never replace ANY hard reg from reg_rtx
+	because that could alter the machine mode.
+
+	* tm-news800.h: Redefine INDIRECTABLE_1_ADDRESS only if MOTOROLA.
+
+Mon Jan 11 13:15:45 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* jump.c (follow_jumps): If we find a cycle, make it a jump to self.
+
+	* cse.c (predecide_loop_entry): Give up if chase more than 10 jumps.
+
+Sun Jan 10 14:52:42 1988  Richard Stallman  (rms at frosted-flakes)
+
+	* reload1.c (reload): basic_block_needs (new vector) gets 1
+	for each basic block that needs a reload.
+	* reload1.c (spill_hard_reg): Don't spill pseudos that are
+	confined to a basic block which has no need for any reloads.
+	* reload1.c (reload): Each cycle that any element of basic_block_needs
+	changes from 0 to 1, must re-spill all previously spilled regs.
+
+	* regclass.c (record_address_regs):
+	Skip the charging of ICOST if it is 0.
+
+	* flags.h, toplev.c: New flag -fvolatile.
+	* typecheck.c (build_indirect_ref): If flag_volatile,
+	every INDIRECT_REF is marked with TREE_THIS_VOLATILE.
+
+	* fold-const.c (fold): Test in TRUTH_NOT_EXPR case was backward.
+	Also result type is always `int'.
+
+Sat Jan  9 04:16:11 1988  Richard Stallman  (rms at rice-krispies)
+
+	* flags.h (flag_traditional): New flag.
+	* toplev.c: recognize -ftraditional and -traditional.
+	* parse.y (yylex): If flag_traditional, don't recognize
+	`signed', `const' or `volatile'.
+
+	* decl.c (pushdecl): If flag_traditional, any extern decl
+	takes effect at top level.
+
+	* tree.c (lvalue_or_else): New 2nd arg for use in error message.
+	* typecheck.c: All callers pass 2nd arg.
+
+	* global-alloc.c: allocno_preferred_reg can specify a preferred
+	hard reg for each allocno.  If so, try it first (new call to find_reg).
+
+	* global-alloc.c (find_reg): New arg PREFREG specifies reg to try
+	first.
+
+	* decl.c (build_struct): if :0 bit field at the end, round the
+	structure size to multiple of EMPTY_FIELD_BOUNDARY.
+
+	* cse.c (make_regs_eqv): Was testing for reg_next_eqv[lastr] == 0
+	and should be == -1.
+
+	* reload1.c (reload_as_needed): Fix invalid optimization deleting
+	the previous store into a pseudo-reg that feeds an input-reload.
+	It is not safe because a later insn may look in the pseudo's stack
+	slot for the value.  Delete the store only if we can eliminate the
+	pseudo entirely or if the current insn stores a new value there.
+	Also verify that reload_in[j] is a REG.
+
+	* reload1.c (reload_as_needed): When doing an input reload from a
+	pseudo that was stored by the previous insn (not as a reload),
+	redirect the previous insn into the reload register, if this lets
+	us eliminate the pseudo entirely.
+
+	* reload1.c (reload_as_needed): In both of the above cases, it's
+	impossible to prevent a stack slot since one was already assigned,
+	so don't alter reg_n_refs.  Instead, set reg_renumber to record
+	that this pseudo did get a hard reg.
+
+	* stmt.c: Set `volatil' in pseudo-regs for the user's variables.
+
+	* jump.c (delete_insn): Do nothing if insn already deleted.
+
+	* tm-sun{2,3}.h: #define STRUCTURE_SIZE_BOUNDARY 2
+	for compatibility with Sun PCC.  Note that 4.3 vax PCC
+	does not want this.
+
+	* fold-const.c: Replace truncate_unsigned with force_fit_type
+	which truncates unsigned types and sign-extends signed types.
+
+	* expr.c (do_jump): emit_queue before outputting the jump insns
+	that use the comparison.
+
+	* stmt.c: Error message for any goto that jumps into a
+	binding contour that restores a stack level.
+
+	TREE_PACKED (label) means label was defined inside
+	such a binding contour that is now exited.  Using such a label
+	is an error.
+
+	TREE_ADDRESSABLE (label) means label was used from a place
+	outside all such binding contours.  If this is 1 when
+	TREE_PACKED is set to 1, it is an error.
+
+	Any other invalid goto must have a fixup.  fixup_gotos detects
+	such invalid gotos.  fixup_gotos takes a second arg, which
+	is the first insn of the contour now being exited.
+
+	* GNU C version 1.17.
+
+Local Variables:
+mode: indented-text
+left-margin: 8
+fill-column: 76
+version-control: never
+End:
diff --git a/gcc/ChangeLog.1 b/gcc/ChangeLog.1
new file mode 100644
index 0000000..b0f29ab
--- /dev/null
+++ b/gcc/ChangeLog.1
@@ -0,0 +1,9207 @@
+Thu May 10 22:48:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.def (DEFINE_DELAY): Change description to describe annulling.
+
+	* genattr.c (main): Write out definitions for annulling, if present.
+
+	* genattrab.c (expand_delays): Build internal attributes for
+	which insns can be annulled in a delay slot.
+	(gen_delay): Validate number of elements in DEFINE_DELAY list.
+	(write_eligible_delay): Write out routines for validating annulled
+	insns as well as those in normal delay slot.
+	(main): Call write_eligible_delays to output annulling information,
+	if it exists for this machine.
+
+	* out-m68k.c (not_sp_operand): New function.
+	* m68k.md (andsi3): Don't allow sp as ourput to avoid reload
+	inefficiency.
+
+	* calls.c (struct arg_data): Delete field STORED; add fields
+	PASS_ON_STACK and SAVE_AREA.
+	(prepare_call_address): Static chain value can't have QUEUED.
+	(expand_call): Rework to support additional calling sequence options.
+
+	Major changes include:
+	Call FUNCTION_ARG_PASS_BY_REFERENCE to determine whether an 
+	object should be passed by invisible reference.
+	Handle arguments passed both on stack and in a register; this can be
+	used to allow arguments that are hard to compute directly into
+	registers to be passed.
+	Support option (ACCUMULATE_OUTGOING_ARGS) where the largest amount
+	of stack for outgoing arguments is computer and pushed during the
+	function prologue.  Stack space usage is tracked and any location
+	that would need to be reused will be saved and restored.
+	If preallocating arg block, compute address where each arg will be
+	placed and pass it as target to expand_expr.
+
+	Other changes:
+	Use virtual regs to see if structure value address isn't stable.
+	If inlined, return TARGET if TARGET and TEMP are equivalent.
+	UNNAMED_ARGS_IN_REGISTERS is redundant with the NAMED parameter to
+	FUNCTION_ARG and has been deleted.
+	Use virtual_outgoing_stack_rtx instead of FIRST_PARM_CALLER_OFFSET.
+	Use locate_and_pad_parm to compute any needed padding for argument.
+	If REG_PARM_STACK_SPACE is defined, allocate backing stack locations
+	for args passed in registers; these are not included in the length
+	of stack space required unless OUTGOING_REG_PARM_STACK_SPACE is also
+	defined.
+	When precomputing register parameters, can stop computation when we
+	obtain any rtx, not necessarily a register.
+	No longer need code to protect data written below bottom of stack;
+	this is taken care of by preexpanding calls in argument.
+	target_for_arg no longer needed; its function is performed by
+	store_one_arg.
+	Always copy function return result to our target since they cannot
+	possibly be the same.
+	(target_for_arg): No longer used.
+	(store_one_arg): Save and restore in-use argument list location.
+	Support args passed both in register and on stack.
+	No need for explicit code for preallocated area; now pass location
+	as target to expand_expr; only copy if result in different place.
+	Put sequence point after expanding one value.
+
+	* cse.c (struct write_data): Add bit to indicate stack pointer changed.
+	(canon_hash): Allow recording of stack pointer.
+	(cse_insn): Indicate stack pointer invalidated by subroutine calls.
+	Pass stack push and pop operations to note_mem_written.
+	Process stack pointer assignment as normal operation.
+	Finish change of April 7th that excludes ap and fp from being marked
+	as clobbered by calls.  Also exclude sp; if it is clobbered by a
+	call, an explicit CLOBBER will be written.
+	(note_mem_written): Look for adjustment of stack pointer.
+	(invalidate_from_clobbers): Invalidate stack pointer, if required.
+
+	* emit-rtl.c (gen_inline_header_rtx): Add field for outgoing args size.
+	(copy_rtx_if_shared): Check for any virtual register instead of frame
+	or argument pointer.
+	(init_emit): Start normal pseudos after virtual pseudos.
+	Copy the unique virtual regs into regno_reg_rtx.
+	(init_emit_once): Incoming and outgoing static chain can be the same;
+	inlining of nested functions won't need the distinction.
+	Create unique copies of virtual registers.
+
+	* explow.c (memory_address): Don't worry about refs to fp or ap;
+	force_reg knows how to handle them correctly.
+	(fix_lexical_addr): Moved to function.c
+	(adjust_stack, anti_adjust_stack): Do nothing for adjustment of zero.
+	(allocate_dynamic_stack_space): New function copied from
+	expand_builtin.  Handle STACK_POINTER_OFFSET via
+	virtual_stack_dynamic_rtx.  When STACK_POINTER_OFFSET is defined,
+	perform alignment by always reserving a multiple of STACK_BOUNDARY
+	stack bits.  This avoids concern about whether sp itself or the top of
+	stack needs to be aligned; if we start with an aligned stack, we keep
+	it aligned.
+	(round_push): Use ADD and AND rather than DIV and MULT.
+
+	* expr.c (init_expr): Initialize some more vars.
+	(push_block): Use virtual_outgoing_args_rtx so don't need
+	STACK_POINTER_OFFSET here.
+	Merge extra and size more efficiently; no need to call force_operand
+	since memory_address is called.
+	(emit_push_insn): Pass type for FUNCTION_ARG_PADDING.
+	Use REG_PARM_STACK_SPACE instead of FIRST_PARM_CALLER_OFFSET.
+	To see if must copy address, check if it is a virtual register that
+	will be mapped to sp; only need check if not accumulating space
+	space for outgoing parms.
+	Ignore EXTRA if argument block has already been allocated.
+	(emit_library_call): Major rework to support calling sequences similar
+	to expand_call in calls.c, but only support a very small subset of
+	the conventions; abort if something outside our subset occurs.
+	Abort if incorrect mode is passed; we can't convert here since we don't
+	know the signedness.
+	(store_field): Check for virtual registers instead of hard registers
+	when seeing if stable.
+	(safe_from_p): Location in outgoing stack area is known to be safe.
+	(expand_builtin, BUILT_IN_ALLOCA): Use allocate_dynamic_stack_space.
+
+	* expr.h: Define current_function_outgoing_args_size and
+	locate_and_pad_parm; delete definition of get_structure_value_addr.
+	(ARGS_SIZE_RTX): Always return a valid operand.
+	(ARGS_SIZE_TREE): New macro.
+	(FUNCTION_ARG_PADDING): Accept MODE and TYPE like other
+	FUNCTION_ARG_... macros.
+	(FUNCTION_ARG_BOUNDARY): Provide default for new macro.
+	(MUST_PASS_IN_STACK): New macro.
+	(allocate_dynamic_stack_space): New function.
+	* tm-3b1.h, tm-3b1g.h, tm-apollo68.h, tm-crds.h, tm-mot3300.h:
+	Change definition of FUNCTION_ARG_PADDING to use TYPE instead of SIZE.
+
+	* function.c (current_function_outgoing_args_size): New var.
+	(arg_pointer_save_area, virtuals_instantiated): Likewise.
+	(invalid_stack_slot): No longer used.
+	(push_function_context, pop_function_context): Save and restore
+	outgoing args size and arg pointer save area.
+	No longer save or restore invalid_stack_slot.
+	(pop_function_context): Set up variables whose value is constant
+	throughout rtl generation.
+	(get_frame_size): No longer adjust by STARTING_FRAME_OFFSET.
+	(assign_stack_local): Use virtual_stack_vars_rtx instead of fp
+	until virtuals have been instantiated, then use fp.
+	Remove reference to obsolete invalid_stack_slot.
+	Can no longer be called with size == 0.
+	(assign_outer_stack_loc): Use virtual_stack_vars_rtx instead of fp.
+	Remove references to obsolete invalid_stack_slot.
+	Push to obstack of containing function when allocating rtx.
+	(put_var_into_stack): Only switch obstacks around making of
+	queue entry.
+	Replace call to parm_stack_loc with reference to info in proper
+	function.
+	(fixup_stack_1): Handle any virtual register instead of handling
+	just fp.
+	(instantiate_virtual_regs, instantiate_virtual_regs_1): New functions.
+	(use_variable, use_variable_after): Check for virtual register
+	instead of checking against ap and fp.
+	(parm_stack_loc): Function deleted.
+	(assign_parms): No longer need internal_arg_pointer.
+	Accept SECOND_TIME argument that suppresses rtl generation and
+	assignments to DECL_RTL.  Used by integrate.c to recompute vars.
+	Don't use FIRST_PARM_OFFSET here; use virtual_incoming_args_rtx.
+	Replace test for nonstable incoming arg pointer.
+	If structure value address is treated as the first argument, add
+	it into the list of arguments; this means we can have a RESULT_DECL
+	in with the PARM_DECL's.
+	DECL_OFFSET is no longer needed by integrate.c.
+	Handle args passed by invisible reference.
+	Support new macro, SETUP_INCOMING_VARARGS, to save all registers used
+	for args including and beyond those for the current arg.  Used for
+	non-ANSI varargs.
+	Pass locate_and_pad_parm data it needs to handle reg->stack boundary
+	if register parameters have assigned stack space.
+	If we received the function's incoming structure pointer as a
+	normal argument, update DECL_RTL of DECL_RESULT.
+	Round total argument size if required; similarly, always use at
+	least REG_PARM_STACK_SPACE bytes if defined.
+	(locate_and_pad_parm): Do not need PARM.
+	Major rework to do much of the job of aligning and padding stack
+	location.  Now a void function wich is passed pointers to struct 
+	args_size vars that are set to the argument position, size, and
+	initial offset.
+	Accept flag denoting if a parm was passed in a register and also
+	the current function declaration.
+	If register parameters are assigned stack locations and there is a
+	minimum required size for the area assigned to register parameters,
+	pad the stack position when a parameter not assigned to a register
+	is encountered.
+	Remove redundant code in MAX_PARM_BOUNDARY case.
+	(lookup_static_chain): Use virtual_stack_vars_rtx instead of fp.
+	(fix_lexical_addr): Move from explow.c.
+	If referencing variable that lives in the incoming argument area
+	of its parent and a separate ap is required, allocate a save area in
+	the parent for it and use it here.  If no separate ap is require,
+	compute offset between ap and fp.
+	(trampoline_address): No need to push obstacks here.
+	(init_function_start): Initialize new vars; delete obsolete vars.
+	(expand_function_start): Don't need to handle case where incoming
+	structure return address is passed as hidden parameter here; now done
+	completely in assign_parms.
+	(expand_function_end): Save ap if a save area was made for it.
+	Set REG_FUNCTION_VALUE_P when copying address of returned
+	structure.
+	Be consistent in use of FUNCTION_... macros vs. hard_function_value.
+
+	* function.h (outgoing_args_size, arg_pointer_save_area): New fields.
+	(invalid_stack_slot): Obsolete, deleted.
+
+	* integrate.c: Major rework and simplification.
+	Split up vars into two classes.  Those used for expand_inline_function
+	and children are now part of struct inline_remap.  Most of the others
+	are for save_for_inline and its children.
+	(function_cannot_inline_p): The only type of arguments that will
+	cause us to reject inlining are variable-sized arguments; also
+	reject functions that return variable-sized objects.
+	For now, don't inline a nested function.  We'll support this shortly.
+	Use current_function_returns_pcc_struct instead of duplicating test.
+	(save_for_inline): No need to set TREE_VOLATILE for parms.
+	Save outgoing args size in header.
+	Use unique copy of virtual reg rtx's.
+	Handle any required fixups for INSN_LIST forward-references.
+	Don't bother resetting dead static vars when we are done.
+	Need not save current_function_pretend_args_size.
+	(copy_for_inline): First copy all insns, then all REG_NOTES to avoid
+	problems with forward references.
+	(struct inline_remap): Move all previously-static vars used by
+	expand_inline_function and children into this structure.  This avoids
+	potential problems due to recursive calls to expand_inline_function.
+	(expand_inline_function and children): Allocate a struct inline_remap
+	and pass to all children.
+	(expand_inline_function): Rework parameter handling by looking at
+	DECL_RTL and using it to determine what types of mappings need to be
+	done.  Support objects passed by invisible reference.  Put any
+	constant memory addresses into const_equiv_map.  parm_map is no longer
+	used.
+	Likewise for the return value: consult DECL_RTL (DECL_RESULT)).
+	Don't allocate space for called function's frame until referenced.
+	No longer need special handling for insn following CALL.
+	Ignore USE whose argument has REG_FUNCTION_VALUE_P true.
+	Ignore setting function register if we don't have a mapping for it
+	(e.g., we are ignoring the result of the call).
+	Look at new SET_SRC for constant equivalences.  Some new ones may
+	have resulted from constant folding.
+	Pass both new and old rtx to try_constants.
+	Discard NOTE_INSN_DELETED notes.
+	Copy insns first, then REG_NOTES, to avoid problems with forward refs.
+	(copy_parm_decls): Compute new address of parameter using the
+	constant equivalence map, which will contain the remapping of
+	the frame and argument pointer.
+	(copy_decl_tree): Likewise.
+	(copy_rtx_and_substitute): Handle references to frame and argument
+	pointers by allocating a space equal to the size of the frame and
+	incoming arguments, respectively, and setting a pseudo to point to
+	the start of each area.  Set up an equivalence in CONST_EQUIV_MAP
+	between fp or ap and the actual address.  Return the pseudo.
+	Don't need to deal with possibility of (SUBREG (CONST_INT)) since
+	we are only replacing register with other registers here.
+	No longer need to special-case PLUS and MEM;  subst_constants will do
+	this work.
+	Update detection of sets of ap and fp.
+	(try_constants, subst_constants): Accept old and new rtx.  They will
+	be isomorphic, with only register numbers changed.  Use old rtx to
+	look up register in CONST_EQUIV_MAP and new rtx for substitution.
+	Correctly handle SUBREG of CONST_INT and CONST_DOUBLE.
+	Fix typos in handling of PLUS.
+	(access_parm_map, copy_address): Delete functions.
+	(try_fold_cc0): Handle both compare and test.
+	(fold_out_cnst_cc0): Rework to simplify and remove dubious cases.
+	(output_inline_function): Call assign_parms to perform any needed
+	setups.
+	Need not restore pretend arg size (will be computed by assign_parms).
+	Restore outgoing argument size.
+
+	* output.h (current_function_outgoing_args_size): New var.
+
+	* rtl.h (OUTGOING_ARGS_SIZE): New field in INLINE_HEADER.
+	(PRETEND_ARGS_SIZE): No longer needed.
+	(virtual_..., VIRTUAL_...): Define virtual register numbers and rtx.
+
+	* rtlanal.c (rtx_equal_p): Update comment on use of
+	REG_FUNCTION_VALUE_P.
+
+	* stmt.c (expand_goto): Just restore fp; non-local goto handler
+	will restore ap if needed.
+	(expand_return): Don't use STARTING_FRAME_OFFSET here.
+	(expand_end_bindings): Adjust fp in nonlocal-goto handler.  If needed,
+	reload ap from its save area in the frame; allocate save area if none.
+	(expand_decl): Use new function allocate_dynamic_stack_space.
+
+	* toplev.c (rest_of_compilation): Instantiate virtual registers.
+	Clear rtx_equal_function_value_matters immediately after possibly
+	saving current routine for inlining.
+
+	* stupid.c (stupid_life_analysis): Don't try to allocate virtual
+	registers (which don't exist any more).
+
+Thu May 10 13:59:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (modes_equiv_for_class_p): Don't compare HARD_REGNO_NREGS.
+
+	* combine.c (subst): Simplify
+	(sign_extend:M (subreg:N (ashiftrt:M (sign_extend:M (any:N ...))))).
+
+	* fixincludes: Verify that a link leads back to /usr/include
+	by checking name of dir it arrives in.  If so, use rest of dirname
+	as target for new link.
+
+	* Makefile.in (tmpgnulib): Put dummy entry in loop with LIBFUNCS_EXTRA
+	so loop is never null.  Then ignore that entry when it comes up.
+
+	* gcc.c (default_compilers): Add explicit suffix to arg of -dumpbase.
+
+Tue May  8 13:54:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-ultrix.h: New file.
+
+Mon May  7 18:47:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (test... recognizers): Output symbolic constant first.
+
+Sun May  6 22:51:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* function.c (fixup_memory_subreg): Make a sequence if -fforce-addr.
+
+	* fixincludes: When going to directory of link name, don't lose  
+	if name has no directory.
+	Move the code to fix netinet/ip.h; was in the middle of something.
+
+	* Makefile.in (tmpgnulib): Test LIBFUNCS_EXTRA for nonempty.
+
+Sun May  6 08:29:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (LIBFUNCS): Remove extraneous "\".
+
+	* Makefile.in (stamp-gnulib2): Move "-" to proper line.
+
+	* gnulib2.c (clear_cache): Ignore routine unless INSN_CACHE_SIZE
+	is defined (avoids cpp-detected divide-by-zero).
+
+	* expr.c (safe_from_p): Don't blow up when passed a null tree.
+
+	* varasm.c (get_pool_size): New function to return constant pool size.
+
+Fri May  4 16:11:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (safe_from_p): If EXP has some rtx, just check it.
+	Handle TREE_LIST, RTL_EXPR, and WITH_CLEANUP_EXPR.
+	Note that CALL clobbers memory and hard registers.
+	Look at enclosed object for SUBREG, but SUBREG of a hard reg is unsafe.
+
+	* expr.c (store_constructor): Now that safe_from_p has been applied
+	to the target, need not avoid hard register targets.
+	Abort if called with neither ARRAY_TYPE or RECORD_TYPE.
+
+	* reload.c (find_equiv_reg): Handle goal of (plus (sp) (const)).
+
+	* Makefile.in (STAGESTUFF): Include hard-params.
+
+Fri May  4 15:33:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (add_prefix): New arg WARN.  Record in prefix_list.
+	(main): Calls changed.  Pass nonzero for -B prefixes.
+	Later, call unused_prefix_warning.
+	(unused_prefix_warning): Warn about prefixes never used.
+
+Thu May  3 16:56:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* print-tree.c (print_node): Align the `align' line with the others.
+
+	* expmed.c (store_bit_field): Maximum size for loading mem struct
+	into reg comes from the mode of the value to be stored.
+	Alignment is no restriction if it matches BIGGEST_ALIGNMENT.
+	Always do the real work in SImode if couldn't use MEM.
+	(extract_bit_field): Likewise.
+
+	* combine.c (subst): Handle (sign_extend:M (subreg (sign_extract:M)))
+	on big-endian machine like corresponding zero_extend case.
+
+	* combine.c (try_combine): Use rtl_equal_p instead of == when
+	testing for sources and destinations that match.
+
+	* pyr.md (bitw recognizer): Set CC_NO_OVERFLOW.
+
+Thu May  3 13:03:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Can always use original
+	target if specified.
+	In "X ? A + B : A" case, use safe_from_p to see if target conflicts
+	with B.
+
+	* cse.c (cse_insn): Don't rewrite (set REG0 REG1) if REG1 is a hard
+	register even if is REG0 cheaper.
+
+Thu May  3 12:04:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (reload): Handle multiple size groups for one class.
+
+	* stdarg.h: Typo in conditional.
+
+Wed May  2 16:34:25 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sun3.h (CC1_SPEC): Ignore -target.
+	(WORD_SWITCH_TAKES_ARG): Define it.
+	* tm-sparc.h (CC1_SPEC): Ignore -target and -dalign.
+	(WORD_SWITCH_TAKES_ARG): Define it.
+
+Wed May  2 09:38:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Always replace registers with oldest equivalent,
+	including the case when the destination is present in the source.
+
+Tue May  1 15:55:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (__adddi3, __subdi3): New, simpler algorithm.
+
+Tue May  1 14:48:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in: Insert "else true;" in *_ALLOCA macros.
+
+	* stor-layout.c (mode_for_size): No longer static.
+	Accept LIMIT parameter to limit mode to MAX_FIXED_MODE_SIZE.
+	(layout_decl, layout_type): Pass appropriate limit parameter to
+	mode_for_size.
+
+Tue May  1 13:09:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (assign_parms): Don't make entry_parm and stack_parm valid.
+	Leave them explicit stack slots.
+	* explow.c (validize_mem): Copy it, don't alter it.
+
+	* out-m68k.c (standard_68881_constant_p): Handle HOST_WORDS_BIG_ENDIAN.
+
+	* integrate.c (save_for_inline): Copy reg notes after all insns.
+
+	* combine.c (subst): When checking reg_last_set, verify nonzero.
+
+	* gcc.c (default_compilers): Use %b, not %i, after -dumpbase.
+
+	* stor-layout.c (make_unsigned_type): Change like make_signed_type.
+
+Tue May  1 07:36:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-m68k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Allocate space
+	for local variables even if no frame pointer; adjust size to account
+	for place where old frame pointer would have been placed.
+	(INITAL_FRAME_POINTER_OFFSET): Add frame size instead of subtracting
+	it and perform adjustment described above.
+
+	* expr.c (validate_subtarget): Deleted.
+	(expand_expr): Replace calls to validate_subtarget with safe_from_p.
+
+Mon Apr 30 01:39:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (install-headers): Simplify loop by cd'ing to srcdir.
+
+	* stor-layout.c (layout_type): Get alignment of all scalar types
+	from the mode.
+	(make_signed_type): Get rid of ptr_size_node, function_size_node.
+	* tm-*.h (POINTER_BOUNDARY): Deleted.
+
+	* c-typeck.c (build_unary_op): For ADDR_EXPR of COMPONENT_REF,
+	mark the PLUS_EXPR constant if appropriate.
+	(parser_build_binary_op): Record C_SET_EXP_ORIGINAL_CODE here.
+	(build_binary_op): Not here.
+
+	* fold-const.c (size_int): Make arg unsigned.
+
+	* varasm.c (output_addressed_constants): Fixed typo.
+
+	* cccp.c (macarg1): `\' not special outside strings.
+
+	* c-typeck.c (build_unary_op): In increment ops,
+	typo checking for ptr to void/function.
+	Check original type for this and for amount of increment.
+
+Sat Apr 28 16:43:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (build_indirect_ref): Error if target is incomplete type.
+
+Fri Apr 27 13:56:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (order_regs_for_reload): Count multi-word pseudos right.
+
+Thu Apr 26 17:52:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (handle_directive): Don't pass directive through if no_output.
+
+	* c-parse.y (yylex): Large hex constants are signed if -traditional.
+
+Tue Apr 24 13:57:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i860.md, m88k.md: Add missing = in some output constraints.
+
+	* tm-ns32k.h (POINTER_BOUNDARY): Now 32.
+
+	* out-*.c (output_move_double): Use split_double.
+	* final.c (split_double): New function, handles byte-order differences.
+
+	* stmt.c (expand_decl): Check size for integer, not "constant".
+	* stor-layout.c (layout_decl, layout_type): Likewise.
+	* c-decl.c (finish_decl): Likewise.
+	* c-typeck.c (digest_init): Likewise.
+	* varasm.c (assemble_variable, output_constructor): Likewise.
+	(decode_addr_const): Distinguish getting rtl by code alone.
+	(output_addressed_constants): No need to abort.
+	In ADDR_EXPR case, check TREE_CODE_CLASS.
+
+	* c-tree.h (C_DECLARED_LABEL_FLAG): New flag.
+	* c-parse.y (label declarations): Set it.
+	* c-decl.c (pop_label_level, lookup_label): Use it.
+
+	* expr.c (string_constant): Accept variable offsets.
+	(expand_expr): Check for explicit integers, not constants, in sizes.
+	(safe_from_p): No need to check TREE_CONSTANT.
+
+	* Makefile.in (prefix): Now replaces /usr/local instead of adding on.
+
+Mon Apr 23 02:01:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cplus-tree.h (DECL_FRIENDLIST): Use DECL_INITIAL.
+
+	* expr.c (expand_assignment): Use expr_size to compute size.
+
+Sun Apr 22 21:53:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_assignment, expand_expr): Check for COMPONENT_REF
+	before testing DECL_BIT_FIELD.
+
+	* stor-layout.c (convert_units): Deleted.  All calls eliminated.
+
+	* TREE_CONSTANT renamed from TREE_LITERAL.
+	* TYPE_READONLY split off from TREE_READONLY.
+	* TREE_SIDE_EFFECTS renamed from TREE_VOLATILE.
+	* TYPE_VOLATILE split off from TREE_VOLATILE/TREE_THIS_VOLATILE.
+
+Sun Apr 22 15:26:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (strength_reduce): Avoid problems in biv elimination by not
+	being forced to use giv's that have complex new_reg values while the
+	underlying giv is marked maybe_dead; clear maybe_dead in this case.
+
+	* loop.c: Make verification of loops take linear, not quadratic, time.
+	(verify_loop, can_jump_in_range_p): Deleted.
+	(prescan_loop): New function, contents are from old verify_loop.
+	(scan_loop): Call prescan_loop.
+	(find_and_verify_loops, mark_loop_jump): New functions.
+	(loop_optimize): Allocate new tables and call find_and_verify_loops
+	once instead of calling verify_loop for each loop.
+	Use data from find_and_verify_loops instead of scanning all insns.
+
+	* expr.c (safe_from_p): New function.
+	(validate_subtarget): Use safe_from_p.
+	(expand_expr, case CONSTRUCTOR): Likewise.
+
+	* expr.c (store_expr): Handle cases where EXP is a compound
+	or conditional expression specially to avoid unnecessary temporaries.
+
+Sun Apr 22 00:15:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (struct tree_type): Delete size_unit.
+	(struct tree_decl): Delete size_unit and voffset_unit.
+	Reduce lang_flags to save 1 word.
+
+	* function.c (init_function_start): Don't use DECL_RESULT_TYPE.
+	* integrate.c (expand_inline_function): Likewise.
+	* c-decl.c (start_function, duplicate_decls): Likewise.
+	* tree.h (struct tree_decl): Delete voffset.
+	(DECL_RESULT_TYPE): Deleted.
+
+	* objc-actions.c (encode_field_decl, objc_copy_list):
+	Switch to DECL_FRAME_SIZE.
+	* cplus-class.c (finish_struct): Likewise.
+	* cplus-decl2.c (grokbitfield): Switch to DECL_BIT_FIELD.
+	* c-parse.y, cplus-parse.y, objc-parse.y: Likewise.
+
+	* tree.h (TYPE_NO_FORCE_BLK): New flag in types.
+	* stor-layout.c (layout_type): Use it.
+	* tree.h (DECL_TOO_LATE): New flag.
+	* stmt.c (expand_end_bindings, expand_goto_internal): Use it.
+	* tree.h (TREE_PACKED): Deleted.
+
+	* cplus-typeck.c (unary_complex_lvalue): Confusing use of
+	DECL_SIZE_UNIT; not clear what to do.
+	* cplus-tree.c (layout_vbasetypes): Likewise.
+	* cplus-class.c (modify_vtable_entry): Likewise.
+
+	* cplus-parse.y (YYDEBUG): Force it on.
+	(print_parse_statistics, init_parse): No-op if not YYDEBUG.
+
+	* fold-const.c (fold): REAL_INFINITY affects reals, not ints.
+
+	* protoize.c (edit_fn_declaration): Make arg volatile to stop warning.
+
+Sat Apr 21 03:04:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (store_bit_fields): Adjust for elimination of BImode.
+
+	* c-parse.y (simple_if, stmt): Store stmt_count in proper place,
+	which is slot 1 of the if.
+	(simple_if, lineno_stmt, stmt): Output the note at beginning of
+	stmt, not in lineno_stmt.  Use emit_line_note.
+	(simple_if): Set if_stmt_*, then use lineno_stmt directly.
+	(lineno_stmt): Before most uses, call skip_white_space.
+	(finput): Move to top of file.
+
+	* cplus-class.c (build_instantiated_decl): Fix typo.
+
+	* cplus-tree.h (C_TYPE_FIELDS_READONLY): Use lang_flag_1.
+	(TYPE_HAS_CONSTRUCTOR, TYPE_HAS_DESTRUCTOR, TYPE_NEEDS_CONSTRUCTOR):
+	(TYPE_NEEDS_DESTRUCTOR): Advance each to next lang_flag.
+	* tree.h (TREE_LANG_FLAG_5, TREE_LANG_FLAG_6): Define them.
+
+	* config.gcc: Delete ./Makefile.in iff not in the source dir.
+
+	* Makefile.in (for-bootstrap): New target.
+
+	* dbxout.c (dbxout_finish_symbol, dbxout_type, dbxout_prepare_symbol):
+	Add temporary conditionals on WINNING_GDB.
+
+	* print-tree.c (print_node): Print the TYPE_SYMTAB_ADDRESS.
+
+	* Makefile.in (protoize.o, unprotoize.o, SYSCALLS.c.X):
+	Include from or look in dir $(srcdir).
+
+Fri Apr 20 16:30:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (output_constructor): Backward test for bit-field.
+
+	* Makefile.in (stamp-*): Delete .c or .h from these names.
+
+Fri Apr 20 15:56:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cplus-typeck.c (compparms, comp_target_parms,	build_modify_expr_1):
+	(build_modify_expr): Clean parens in complicated if.
+	* cplus-decl.c (finish_decl, grokdeclarator): Likewise.
+
+Fri Apr 20 14:42:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-3b1.h (ASM_SPEC, PRINT_OPERAND_ADDRESS): Support 68020, 68881.
+	Useful even though this isn't one.
+	(ASM_OUTPUT_OPCODE): Convert fbne to fbneq.  Don't change ftst.
+	(REGISTER_NAMES): Define it.  Fpreg names not same as hp.
+
+	* stor-layout.c (mode_for_size): Don't check MAX_FIXED_MODE_SIZE.
+	(layout_type): Check it here when appropriate.
+
+	* loop.c (strength_reduce): Clean parens in complicated if.
+
+	* fold-const.c (mul_double, const_binop): Add parens around shifts.
+
+Thu Apr 19 03:03:39 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* machmode.def: Delete unused modes.
+
+	* stor-layout.c (mode_for_size): Accepts mode class as arg.
+	Calls changed.
+	(layout_type): Can now use mode_for_size for floating types.
+
+	* stor-layout.c (layout_type): Get mode of function type from size.
+	* c-decl.c, cplus-decl.c (grokdeclarator): Don't worry about
+	mode of a function type.
+	* calls.c (prepare_call_address): No values contain static chains.
+
+	* tree.h (struct tree_decl, struct tree_common): Rename the flag bits.
+	* cplus-tree.h: References here changed.
+
+	* tree.h (DECL_BIT_FIELD): New macro, with new flag.
+	* print-tree.c: Print it.
+	* stor-layout.c (layout_decl): Use on input instead of TREE_PACKED.
+	Clear it if field happens to be aligned.
+	* expr.c, tree.c, varasm.c, symout.c, objc-actions.c, c-typeck.c:
+	Use this to distinguish bit-fields.
+	* c-decl.c, cplus-class.c (finish_struct): Set this for bit-fields.
+
+	* c-typeck.c (build_binary_op): Make NON_LVALUE_EXPR, not NOP_EXPR.
+
+	* out-sparc.c (find_addr_reg): Avoid using frame pointer. 
+
+	* config.gcc: Delete all formfeeds from Makefile.
+
+	* stor-layout.c (layout_decl): Delete `bitsize'.
+	(layout_record): Test size for CONST_INT, not TREE_LITERAL.
+	(layout_type): Simplify array case.
+
+	* fold-const.c (size_binop): Division not special case.
+
+Wed Apr 18 16:05:23 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (datatype): Function deleted.
+	(build_binary_op_nodefault, pointer_int_sum, pointer_diff):
+	Don't use it.
+	* cplus-typeck.c (build_binary_op_nodefault, pointer_int_sum):
+	(pointer_diff): Likewise.
+	(convert_for_assignment): Likewise.  Took some work.
+	(datatype): Function deleted.
+
+	* c-typeck.c (common_type): Renamed from commontype.
+	(function_types_compatible_p): New function.
+	(compparms): Deleted.
+	(self_promoting_args_p): Renamed from compparms1.
+	* cplus-typeck.c (common_type, self_promoting_args_p): Likewise.
+	* c-typeck.c (build_function_call): Eliminate local value_type.
+
+	* c-typeck.c (parser_build_binary_op): Detect +/- within boolean.
+
+	* c-typeck.c (convert_arguments): Renamed from actualparameterlist.
+	Push results on front, and reverse at end.
+	* cplus-typeck.c: Likewise.  All calls changed.
+
+	* tree.h (STMT_BIND_SIZE): Deleted.
+	(struct tree_bind_stmt): Deleted that slot.
+	* tree.c (build_let_stmt): Don't set it.
+
+	* print-tree.c (print_node): Call print_lang_identifier.
+	* c-decl.c, cplus-ptree.c (print_lang_identifier): New function.
+
+	* gnulib2.c (__clear_cache): New function.
+
+Tue Apr 17 16:57:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cplus-tree.c (build_member_type): Use TYPE_HASH, not TREE_UID.
+	(TYPE_HASH): Use the address.  Delete the duplicate definition.
+
+	* c-typeck.c (build_unary_op): Bug in pedantic warning about ++.
+
+	* tree.h (TYPE_SEP, TYPE_SEP_UNIT): Deleted.
+	* stor-layout.c (layout_type): Don't set them.
+	(mode_for_size): New name for agg_mode; code cleaned up.
+	* c-tree.h (C_TYPE_FIELDS_READONLY): Use TREE_LANG_FLAG_1.
+
+	* fold-const.c (size_int, size_binop): New names for build_int
+	and genop, moved here.  All callers changed.
+	(const_binop): New name for combine, and now static.
+	* stmt.c (expand_end_case, group_case_nodes, node_has_low_bound):
+	(node_has_high_bound): Don't call `combine' directly.
+
+	* tree.h (DECL_VOFFSET, DECL_VOFFSET_UNIT): Deleted.
+	* tree.c (staticp): Don't use DECL_VOFFSET.
+	* stor-layout.c (layout_*): Don't use it or set it.
+	(layout_record): Simplify: Keep all sizes in units of 1.
+
+	* tree.c (debug_tree, print_node, print_node_brief, indent_to):
+	New functions to print a tree.
+	* c-decl.c (print_lang_decl, print_lang_type): Define as no-op.
+	* cplus-ptree.c (print_lang_type): Complete rewrite.
+	Most other functions deleted.
+	* tree.c (print_node): Call print_lang_* unconditionally.
+
+	* tree.c (TYPE_HASH): Now use the address.
+
+Mon Apr 16 16:27:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c: Check LEAF_REGISTERS, not LEAF_REGS.
+
+	* real.h (*_FLOAT_FORMAT): Change enums to macros.
+	(REAL_INFINITY): Define it if IEEE format.
+
+	* c-decl.c (c_decode_options): Handle -Wconversion here.
+	* toplev.c (main): Not here.
+
+	* tm-*.h (INITIAL_FRAME_POINTER_OFFSET): Count get_frame_size.
+
+Mon Apr 16 15:05:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (eliminate_biv): Build COMPARE with VOIDmode, not mode
+	of operands.
+
+Mon Apr 16 14:55:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c: Include real.h.
+
+Sun Apr 15 20:30:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (pedantic_lvalue_warning): New function.
+	(build_component_ref): Handle COMPOUND_VALUE and COND_EXPR by moving
+	reference inside it and calling pedantic_lvalue_warning.
+	(build_unary_op): Incrementing a cast-expression is warning, not
+	error; call new pedantic_lvalue_warning.
+	(unary_complex_lvalue): Use of compound or conditional expression as
+	lvalue is warning, not error.
+	(build_modify_expr): Likewise.
+	* cplus-typeck.c: Likewise.
+
+Sun Apr 15 12:27:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (fold_rtx, fold_cc0): Check TARGET_FLOAT_FORMAT,
+	not FLOAT_NOT_IEEE.
+	* jump.c (jump_back_p): Likewise.  FLOAT_NOT_IEEE is now gone.
+
+	* cccp.c (collect_expansion): Handle warn_stringify.
+	(main): Set it for -Wtraditional.
+
+	* function.c (init_function_start):
+	Set current_function_returns_pointer here.
+	(expand_function_start): Not here.
+
+	* expr.c (emit_library_call): Precompute reg and partial of all parms,
+	to do it in proper order.
+
+	* final.c (final_scan_insn): Typo in deleting obvious no-ops.
+
+	* expr.c (emit_push_insn): Change #if to ordinary if.
+
+Sat Apr 14 13:20:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (do_jump): In COMPONENT_REF, check TYPE is nonzero.
+
+	* tm-i386.h (ASM_OUTPUT_ADDR_DIFF_ELT): Delete spurious `abort ()'.
+
+	* emit-rtl.c (reverse_comparison): New function.
+	(get_last_insn_anywhere): New function.
+	* i386.md (ble, blt): New define_expands.
+
+	* Makefile.in (LANGUAGES): New parameter chooses languages to build.
+	(native): Use that.
+	(c, c++, objc): Targets for use in LANGUAGES.
+
+	* Makefile.in (install): Split up.
+	(install-cross, install-headers, install-gnulib, install-proto):
+	(install-man, $(libsubdir)): New targets.
+
+	* Makefile.in (native): New target, split from start.encap.
+	(tmpgnulib): Split out from gnulib.portable.
+	(gnulib.convert): Makes tmpgnulib, then converts.
+	(LIBCONVERT): New parameter.
+	(GCC_FOR_TARGET): New parameter.
+	(hard-params.o, hard-params, stamp-gnulib2): Use that.
+
+	* cse.c (fold_cc0): Compare equivalence classes of non-constants.
+	Waiting for papers from Steven McCanne.
+
+Fri Apr 13 14:12:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_type): If record is BLKmode because not
+	aligned, set TREE_PACKED.  Don't force BLKmode due to field
+	with TREE_PACKED. 
+
+	* cse.c (fold_rtx): Use dconst1, not atof.
+	* varasm.c (output_constant): Likewise.
+
+	* c-parse.y (yylex): Handle SIGFPE in atof.
+
+	* tm-tti68k.h: New file.
+
+	* toplev.c, flags.h (flag_pretend_float): New flag.
+
+	* regclass.c (reg_class_record): Handle `E' constraint, for float
+	constants but only if can examine their bits.
+	* reload.c (find_reloads): Likewise.
+	* recog.c (constrain_operands): Likewise.
+	* out-m68k.c (output_move_double): Abort on float constant
+	if can't examine the bits.
+	(standard_68881_constant_p): Fail if can't examine the bits.
+	(standard_sun_fpa_constant_p): Likewise.
+
+	* m68k.md (DFmode move recognizers): Use `E', not `F'.
+	* tm-m68k.h (PREFERRED_RELOAD_CLASS): Handle float constants.
+
+	* tm-next.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
+	(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND): Use REAL_VALUE_ISINF.
+	* tm-sun3.h, tm-sparc.h: Likewise.
+
+	* xm-vax.h (HOST_FLOAT_FORMAT): Define it.
+	* tm-vax.h (TARGET_FLOAT_FORMAT): Define it.
+
+	* real.h (enum float_format): Define codes for formats.
+	(HOST_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): New macros, defaulted here.
+	(REAL_IS_NOT_DOUBLE, REAL_VALUE_TYPE): Override if formats differ.
+	(REAL_VALUE_ISINF): New macro.
+	* xm-vax.h (isinf): Define as macro.
+
+	* Makefile.in (LIBFUNCS_EXTRA): New variable.
+	(gnulib.portable): Compile those files.
+
+	* Makefile.in (AUX_OUTPUT2): New variable.
+	(OBJS): Use it.
+	(aux-output2.o): New target.
+
+	* Makefile.in (RANLIB, RANLIB_TEST): New variables.
+
+	* Makefile.in (AR_FLAGS, OLDAR_FLAGS): New variables.
+	(gnulib.portable, stamp-gnulib2): Use them.
+
+	* i386.md: Add patterns for `bt' insns.
+
+Fri Apr 13 12:54:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (builtin_function): Now returns decl that was made.
+
+	* config.gcc: Support both -host= and +host=.
+
+Thu Apr 12 22:39:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Changes from Data General.
+
+	* syms.h: New file.
+	* sdbout.c: Include that if not USG.
+
+	* tree.h (enum built_in_function): Added BUILT_IN_STRCPY and
+	BUILT_IN_STRCMP.
+	* c-decl.c (init_decl_processing): Create additional pointer and
+	function types.  Declare strcpy, strcmp, memcpy, memcmp built-in.
+	* expr.c (expand_builtin): Support strcpy, strcmp, memcpy, memcmp.
+	If special handler breaks out of switch, do library call.
+	By default, print error message and do library call.
+	(get_pointer_alignment, string_constant): New functions.
+
+	* dbranch.c: Put entire contents in conditional on HAVE_DELAYED_BRANCH.
+	(init_flags, enote): Clear and set memr.
+	(enote): Don't move a store across a fetch.
+	(insn_eligible_p): Check enote before volatility and dependencies.
+	Check for volatility if memw or memr.
+	(loads_from_mem_p): New function.
+
+	* Makefile.in (dbranch.o): New target.
+	(OBJS): Add dbranch.o.
+
+Thu Apr 12 22:39:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* calls.c (expand_call): Count args in order written, with argpos.
+
+Thu Apr 12 22:01:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (synth_mult): Ensure OPS is always valid in returned alg.
+
+	* local-alloc.c (block_alloc): If we have an operand that is an
+	address, look inside it for registers to combine with.
+
+	* reload.c (combine_reloads): If the output reload is for an
+	earlyclobber operand, can't combine it.
+	Try to use a register that dies in an insn for a single output reload
+	if the insn has only one output.
+
+Thu Apr 12 21:27:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): Preserve DECL_INITIAL from old
+	function def to new one.
+
+Thu Apr 12 07:55:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_assignment): Order of source and destination to
+	bcopy/memcpy was reversed.
+
+Wed Apr 11 17:29:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i386.h (ABC_REGS): New register class.
+	(REG_CLASS_CONTENTS, REG_CLASS_NAMES, enum reg_class): Changed.
+	* i386.md (divsi3, etc.): Exclude register d from constraints.
+
+	* c-parse.y (save_filename, save_lineno): New nonterminals
+	to record text location at start of statement.
+	(lineno_stmt): New nonterminal, outputs line note before statement.
+	(lineno_decl): Likewise for decl, to avoid conflicts.
+	(stmt): Don't emit line notes at start of statement.
+	(simple_if): Collect file and line using save_filename, save_lineno.
+
+	* Changes from Data General.
+
+	* cccp.c (main, do_include): Implement -H to print header names.
+
+	* c-parse.y (component_decl_list): Parse even if final `;' missing.
+
+Wed Apr 11 16:49:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.c: Fix miscellaneous typos.
+
+Wed Apr 11 12:59:57 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc: Typos in setting pass1done, testing it,
+	and calling sed for usage msg.
+
+	* cccp.c (macroexpand): Count Newline Space as part of whitespace
+	sequence when stringifying.
+
+	* expmed.c (expand_mult): Handle synth_mult returning no operations.
+
+Tue Apr 10 21:08:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (do_line): No error if string follows number without space.
+
+Tue Apr 10 20:52:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (apply_change_group): Return a zero if rejected changes.
+
+	* loop.c (update_giv_derive): If a giv is only set conditionally, it
+	may only derive other givs in its own basic block.
+
+Tue Apr 10 13:09:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-ctix.h:  New file.  Waiting for papers from Ronald Cole.
+	csusac!unify!dbrus.rjc@ucdavis.ucdavis.edu.
+
+	* cse.c (rtx_cost): Use new macro RTX_COSTS.
+	(COSTS_N_INSNS): New macro for use in RTX_COSTS.
+
+	* config.gcc: Fix typos in conditionals and case.  Also usage message.
+	Missing backslashes in `echo | tee'.
+	Unset various vars after pass 1.
+
+	* c-typeck.c (build_c_cast): Complain if function type specified.
+
+	* expmed.c (synth_mult): Accept max_cost as arg and cut off there.
+	Pass it along recursively, making it smaller.
+	Eliminate quadratic loop, thus postponing powers of 2.
+	Costs are now signed.  Initialize best_alg->cost from max_cost
+	and change to -1 only before returning.
+	(expand_mult): Pass cost of multiply as max cost.
+	Use synth_mult only if optimizing.
+	In alg_compound case, sign was backward.
+	Use TEM as target for force_operand there, to get better output.
+
+Tue Apr 10 07:09:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Add missing argument to
+	operand_equal_p.
+	Check for (X ? unop A : A) in addition to (X ? A + B : A).
+
+	* Makefile.in (protoize, unprotoize): Compile with GCC, not just link.
+
+	* fold-const.c (fold): Fix typo in converting conditional to COND.
+
+	* expr.c (expand_expr): Treat (A ? 1 : 0) as A when A is a comparison.
+	(do_jump): Special-case (A ? 1 : 0) and (A ? 0 : 1).
+
+	* expr.c (store_expr): Fix typo in checking mode of target.
+
+Mon Apr  9 18:33:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Clear out parm_copies.
+
+Mon Apr  9 18:00:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tree.def: SAVE_EXPR now has three operands.
+	* tree.h: Add new field SAVE_EXPR_CONTEXT; SAVE_EXPR_RTL remains last.
+	* tree.c (save_expr): Set context to current function.
+	(decl_function_context): Context is in SAVE_EXPR_CONTEXT if SAVE_EXPR.
+	* calls.c (expand_call): Call make_tree to build an RTL_EXPR instead
+	of explicitly making SAVE_EXPR.
+	* cplus-typeck.c (c_expand_return): Use make_tree instead of SAVE_EXPR.
+	* c-parse.y, objc-parse.y: Don't call mark_addressable here.
+	* expr.c (expand_expr, ..._DECL cases): If non-local, make addressable.
+	(expand_expr, case SAVE_EXPR): If defined in containing function, put
+	put into stack.
+	* function.c (put_var_into_stack): Use SAVE_EXPR_RTL for SAVE_EXPR.
+	* print-tree.c (dump): SAVE_EXPR_RTL is now third operand.
+	* stmt.c (expand_asm_operands): Call save_expr instead of making
+	tree node directly.
+
+Mon Apr  9 00:08:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (install): Turn off x bit on SYSCALLS.c.X.
+
+	* i860.md (cmpeqsf, etc.): Change opcode name to pfeq.ss, etc.
+
+	* tm-m68k.h (PRINT_OPERAND_PRINT_FLOAT): Delete spurious backslash.
+
+	* c-decl.c (store_parm_decls): Don't do storedecls in prototype case.
+	That was discarding the enumerators already pushdecl'd.
+
+	* gcc.c (exec_prefix, startfile_prefix): Record prefix search paths.
+	(find_a_file): New function to search a path.
+	(find_exec_file): Deleted; find_a_file used instead.
+	(find_file): Just call find_a_file.
+	(add_prefix): Add name to a prefix path.
+	(process_command): Call that.
+
+	* gcc.c (spec_list): Generalize asm_spec, etc., to arbitrary names.
+	(set_spec): New function.  Set the old specific vars and spec list.
+	(do_spec_1): Handle `%(' and `%[' for general specs.
+
+	* ns32k.md (ashlhi3): Use %0, not %1.
+
+	* cplus-tree.h (TREE_ANON_UNION_ELEM, DECL_ANON_UNION_ELEM):
+	regdecl_attr is now in decl, not common.
+	(TREE_PARMLIST): Use external_attr.
+	(TREE_VIA_PUBLIC): Use static_attr.
+
+Sun Apr  8 23:43:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const (fold): Two conversions in a row are needed if from a
+	pointer type to an integer type of a different precision.
+
+	* flow.c (mark_used_regs): When replacing addition with register
+	in auto-increment creation, mark that insn must be re-recognized.
+
+Sun Apr  8 13:56:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-m68k.h (ASM_OUTPUT_FLOAT): Defn depends on CROSS_COMPILER.
+	(PRINT_OPERAND): Depends on CROSS_COMPILER and HOST_WORDS_BIG_ENDIAN.
+	(PRINT_OPERAND_EXTRACT_FLOAT, PRINT_OPERAND_PRINT_FLOAT):
+	These new subroutines contain the code that depends.
+
+	* xm-m68k.h, xm-mips.h, xm-pyr.h, xm-tahoe.h (HOST_WORDS_BIG_ENDIAN):
+	New macro, defined in these files.
+
+	* config.gcc: Define macro CROSS_COMPILE if making cross-compiler.
+	* Makefile.in (INTERNAL_CFLAGS): Include CROSS.
+
+	* config.gcc: Decode -host argument.  Set $host and $target.
+	Rename vars for files to link to, to tm_file, xm_file, etc.
+	Let $host override xm_file value.
+	Mention $host in messages and config.status if diff from $target.
+	Check for errors in args at beginning of processing.
+
+	* expmed.c (expand_shift): Make no insns if count is 0.
+
+	* cse.c (rtx_cost): Increase default cost of mult and div.
+
+	* expmed.c (synth_mult): New function.  Finds best way to multiply
+	by given constant, and the cost.
+	(expand_mult): Use that.
+	(init_expmed): Init new vars add_cost, shift_cost, mult_cost,
+	and negate_cost.  mult_is_cheap has been deleted.
+
+	* expmed.c (store_bit_field): Don't use insv if unit for copying
+	mem to reg won't hold the entire field.
+
+Sun Apr  8 12:54:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Add OK_DEFER_POP to path with
+	only OK_DEFER_POP.
+
+Sun Apr  8 12:50:54 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (insv): Use SImode for operand 0.
+
+Sat Apr  7 15:24:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* emit-rtl.c (gen_lowpart, gen_highpart): When checking mode class,
+	check for not MODE_FLOAT.
+	* cse.c (fold_rtx): Likewise when avoiding x-x -> 0 for IEEE float.
+	* jump.c (jump_back_p): Likewise.
+	* optabs.c (emit_cmp_insn): Likewise, comparing result of libcall.
+	* expr.c (move_block_to_reg, emit_push_insn): Likewise,
+	when putting floats in memory.
+
+	* machmode.def (PSImode, PDImode): Class is now MODE_PARTIAL_INT.
+	* expr.c (convert_to_mode): Don't treat them as ints.
+
+	* fixincludes: When making directory links, assume any relative path
+	is within /usr/include.
+
+Sat Apr  7 14:56:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (assign_stack_local, assign_outer_stack_local):
+	Don't use division for rounding to avoid problems with negative
+	dividends; use logical operations instead.
+	No need to ever align stricter than BIGGEST_ALIGNMENT.
+
+Sat Apr  7 14:38:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr, case CONSTRUCTOR:): Finish Jan 12 change
+	in store_expr by calling store_constructor if target is a temp.
+
+	* cse.c (cse_insn): For regs invalidated by calls, go back to
+	checking for fp and ap explicitly, not fixed_regs.
+
+Sat Apr  7 14:06:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.h: Define num_validated_changes and cancel_changes.
+	* recog.c (validate_change, apply_change_group, cancel_changes):
+	Support changes both within an insn and within a MEM.
+
+Sat Apr  7 00:45:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (addcc and subcc patterns): Set CC_NO_OVERFLOW.
+
+Fri Apr  6 15:20:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cccp.c (lookup_import): Return -1 for not found to agree with
+	the open system call.  Use -2 for duplicate.
+	(do_include): -2 now means duplicate; previously, -1 meant not found
+	from open and duplicate from lookup_import.
+
+Fri Apr  6 00:06:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (poplevel): Use DECL_INITIAL to detect undef label.
+
+	* sparc.md (peephole for returning sum): Use more restrictive preds.
+
+	* reload1.c (choose_reload_regs): When testing reload reg
+	for HARD_REGNO_MODE_OK, use SImode instead of VOIDmode.
+
+Thu Apr  5 14:00:41 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (main, include_defaults): Use STANDARD_INCLUDE_DIR
+	instead of /usr/include.
+	* Makefile.in (cccp.o): Specify STANDARD_INCLUDE_DIR.
+
+	* varasm.c (assemble_variable): No sdb output for initialized global.
+	* toplev.c (compile_file): Output it here, at end of run.
+
+	* stdarg.h (va_start): Round initial pointer value down
+	to double boundary.  This is to eliminate big-endian adjustment.
+
+	* fixincludes: Delete netinet/ip.h and sundev/vuid_event.h
+	if no changes are needed.
+
+	* c-typeck.c (build_c_cast): Reject array types for result.
+	* cplus-typeck.c (build_c_cast): Likewise.
+
+	* tm-*.h (ASM_OUTPUT_SKIP): Print size as unsigned.
+	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+
+	* fold-const.c (fold): Simplify double truncation, double extension,
+	or extension followed by truncation.
+
+	* fixincludes: Don't ignore errors when making dirs.
+	But check whether dir already exists.
+
+	* cse.c (fold_rtx): Don't simplify real*0, because of nans.
+
+	* real.h (dconst0, dconst1, dconstm1): Declare them.
+	* tree.c (real_zerop, real_onep): New functions.
+	* fold-const.c (fold): Check for trivial +, -, * with reals.
+	Also use dconst0 instead of computing with REAL_VALUE_ATOF.
+
+Tue Apr  3 22:52:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* m68k.md (32-bit bit fields): Special patterns added.
+	(push byte and adjust stack by 2): New peephole.
+	These from Bruce Robertson.
+
+	* c-decl.c (grokdeclarator): Complain if fn defn has `typedef' etc.
+
+Tue Apr  3 21:39:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (preexpand_calls): Reinsert check to not expand calls
+	already preexpanded.
+
+Mon Apr  2 07:05:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (digest_init): Don't blow up on null list.
+
+	* Makefile.in (cc1obj): Link OBJC_OBJS instead of C_OBJS.
+	* objc-actions.c: Correct compilation errors.
+	* objc-parse.y: Likewise.
+
+Mon Apr  2 03:33:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* objc-actions.h: Define the objc tree codes.
+	Declare doing_objc_thang.
+
+Fri Mar 30 17:28:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* sdbout.c (PUT_SDB_EPILOGUE_END): Write out assembler name for
+	function (i.e., usually include leading "_").
+
+	* sdbout.c (PUT_SDB_...): Use new macro SDB_DELIM; it defaults to ";".
+
+Fri Mar 30 15:25:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (prev_active_insn, next_active_insn): New functions.
+	These skip USEs and CLOBBERs.
+	(jump_optimize): Use them instead of ..._real_insn
+	for the simple optimizations.
+
+	* integrate.c (expand_inline_function): Always index const_equiv_map
+	with regno from current function.  And set up the map only after
+	creating all the pseudos we will need for the parms.
+	This requires intermediate tables parm_equivs and parm_copies.
+	Make const_equiv_map big enough to handle all the pseudos we
+	expect to make.  Record actual size, and don't look in it
+	for regnos too large.
+	(subst_constants, const_equiv): Don't access const_equiv_map
+	if regno is too large.
+
+	* function.c (trampoline_address): Push and pop obstacks around
+	call to assign_outer_stack_local.
+
+	* function.c (push_function_context, pop_function_context):
+	Save and restore max_parm_reg and parm_reg_stack_loc.
+	* function.h (struct function): Make slots.
+
+	* c-decl.c (c_build_type_variant): New function.
+	(grokdeclarator): Call that, for ARRAY_TYPE only, in fields and vars.
+	* c-decl.c, c-typeck.c: All calls to build_type_variant use that now.
+
+	* emit-rtl.c (reinstate_emit_status): Unused function deleted.
+
+Thu Mar 29 15:35:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.c (rtl_in_current_obstack): New function.
+	* toplev.c (rest_of_compilation): Call that.
+	This makes it true that rtl is allocated in current_obstack
+	during optimization.
+
+	* reload1.c (eliminate_frame_pointer): Scan equivalent addresses
+	of pseudo-regs, and eliminate frame-pointer there too.
+	(reload): Don't do this here.
+
+	* c-decl.c (build_enumerator): Return pair of decl and value.
+	(finish_enum): Go through the list replacing decls with names.
+
+	* function.c (fixup_var_refs): Eliminate all but first arg.
+	Use current sequence_stack, insn chain and rtl_expr_chain.
+	(put_var_into_stack): Don't pass those args.
+	If var is nonlocal, don't do it now; put it on fixup_var_refs_queue.
+	(pop_function_context): Do fixup_var_refs on vars queued up.
+
+	* tree.c (function_maybepermanent_obstack): Make a separate
+	saveable obstack for each nested function level.
+	(init_tree): Init this variable.
+	(save_tree_status, restore_tree_status): Save and restore it.
+	Create and free a new obstack for the purpose.
+	(temporary_allocation, resume_temporary_allocation): Use this var.
+	(preserve_data, preserve_initializer): Use this var.
+	(make_node): Use this var for PARM_DECL nodes.
+
+	* tree.c (push_obstacks): New name for push_obstack.
+	Additional arg specifies saveable_obstack.  All calls changed.
+	(pop_obstacks): New name for pop_obstack.  All calls changed.
+
+	* config.gcc: Add `3300'.
+	(genix): Fix typo in name of makevar file.
+	* tm-mot3300.h, xm-mot3300.h: New files.
+	* math-3300.h: New file.
+
+	* output.h: Fix typo in SDB_DEBUGGING_INFO.
+
+	* tm-sun386i.h (LINK_SPEC): Moved here, and -static handled.
+	* xm-sun386i.h: Moved from here.
+	* tm-alliant.h (LINK_SPEC): Moved here, from xm-alliant.h.
+
+	* tm-convex.h, tm-i860.h, tm-spur.h, tm-vax.h, tm-tahoe.h, tm-pyr.h:
+	Delete FIX_FRAME_POINTER_ADDRESS.
+
+	* tm-sparc.h, tm-m88k.h: Turn off FIX_FRAME_POINTER_ADDRESS.
+	INITIAL_FRAME_POINTER_OFFSET could be written later.
+
+	* tm-m68k.h, tm-ns32k.h, tm-alliant.h, tm-i386.h, tm-mips.h:
+	Define INITIAL_FRAME_POINTER_OFFSET.
+
+	* toplev.c (compile_file): Remove .m and .cc suffixes, like .c.
+
+	* final.c (end_final): For basic block profiling, don't output
+	source file name.  Instead, append ".d", and remove ".c".
+	* gnulib2.c (__bb_init_func): New name for __bb_init_function.
+	Conditionalize on mc68000, not m68k.
+	Fix other typos.
+
+Wed Mar 28 16:07:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c, cplus-decl.c (duplicate_decls): Preserve DECL_FRAME_SIZE
+	from definition past subsequent declarations.
+
+	* c-decl.c (xref_tag): If global_binding_level, make nodes permanent.
+
+	* expmed.c (init_expmed): Set up mult_is_very_cheap.
+	(expand_mult): Never use shifts if mult_is_very_cheap.
+
+	* expr.c (store_expr): When copying through new temporary,
+	allocate temporary first and use as target.
+
+	* tm-m68k.h (HARD_REGNO_MODE_OK): Abort on VOIDmode.
+
+	* reload1.c (fix_frame_pointer_address): New function.
+	(alter_frame_pointer_addresses): New arg INSN.  Calls changed.
+	Use that function instead of macro FIX_FRAME_POINTER_ADDRESS
+	which is now obsolete.
+	(eliminate_frame_pointer): Use macro INITIAL_FRAME_POINTER_OFFSET
+	to initialize depth.  Abort if that macro is missing.
+
+	* expmed.c (store_bit_field): If loading MEM into a reg, use the
+	mode of the MEM if that is not BLKmode.
+	(extract_bit_field): Likewise.
+
+	* tm-mips.h (STRUCTURE_SIZE_BOUNDARY): Changed from 16 to 8.
+
+	* calls.c (expand_call): Handle STACK_BOUNDARY when using push insns.
+
+	* function.c (assign_parms): Note how PUSH_ROUNDING affects stack
+	parm size.
+
+Tue Mar 27 19:40:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (poplevel): Output inline nested functions if needed.
+	* cplus-decl.c: Likewise.
+
+	* i386.md (insv): New pattern added for the moment.
+
+Tue Mar 27 17:47:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (lookup_outer_static_chain): Deleted, no longer used.
+	(trampoline_address): RTL for trampoline, rather than its address, is
+	stored in trampoline list.
+	Just add entry to list; don't fill in the trampoline here.
+	(expand_function_end): Fill in any required trampolines here.
+	(expand_function_start): Move tail recursion entry to after
+	creation of display list; size computations come next.
+
+Tue Mar 27 14:09:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* m68k.md (movsi, movhi, movstricthi, movqi, movstrictqi):
+	Avoid both clr and st on volatile mem, but only on 68000.
+	(SImode store 0 recognizer): Likewise.
+
+	* stor-layout.c (agg_mode): Don't consider PSImode, etc.
+
+Mon Mar 26 21:12:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (combine_regs): Only set suggested bit for first
+	register if multi-word quantity.
+	(find_free_reg): Look at suggested regs for first in set, then use
+	all available for subsequent regs.
+
+Mon Mar 26 15:01:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (start_enum): Don't lay out the type.
+	(finish_enum): Always lay it out, and always set the precision.
+	Change the type of the enumerators if int is too narrow.
+
+	* tm-m68k.h (NOTICE_UPDATE_CC): addq and subq do update cc's
+	even if destination is an address register.
+
+	* c-parse.y, objc-parse.y (check_newline): Call HANDLE_PRAGMA if def.
+	* out-next.c: New file.
+	(handle_pragma): New function.
+	* tm-next.h (HANDLE_PRAGMA): Define it.
+
+	* Makefile.in (GNULIB2): New variable.
+	(gnulib2): Use it.
+	(gnulib2.portable): New name for old rule.
+	(install-headers): Split out part of install rule.
+	(INSTALL_HEADERS): New variable.
+
+	* make-next: New file.
+
+	* function.c (assign_parms): Get type from proper place.
+	internal_arg_pointer is now an arg.  Compute arg_pointer_copied
+	from that.  Fix typos.
+	(expand_function_start): Compute internal_arg_pointer here.
+	Fix typos handling incoming struct value address.
+
+	* cccp.c (do_include): Ignore null strings found in stackp.
+
+	* cccp.c (discard_comments): Handle backslash-newline.
+
+Mon Mar 26 07:18:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.h (temp_slot, temp_slot_level): Now saved by function.c.
+	* function.c (struct temp_slot): Move from stmt.c.
+	(push_function_context, pop_function_context): Save/restore temp slots.
+	(assign_parms): Pass type to locate_and_pad_parms.
+	(locate_and_pad_parms): Accept TYPE.
+	Don't need STACK_OFFSET.
+	(expand_function_start): Pass type to locate_and_pad_parms.
+	(init_function_start): Initialize temp_slot info.
+	* stmt.c (temp_slot, init_stmt_for_function, save_stmt_status,
+	restore_stmt_status): Delete temp_slot stuff from here.
+
+Sun Mar 25 20:21:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_move_insn): Turn memory address checking back on,
+	but allow push_operand for x.
+
+	* ns32k.md (movstrsi): If UTEK_ASM, output $0 operand in movsd.
+	(movsi): Handle UTEK_ASM like GNX_V3.
+	* out-ns32k.c (print_operand_address): Add UTEK_ASM conditionals.
+	* tm-merlin.h: New file.
+
+	* tm-ns32k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+	Use save and restore insns if no frame pointer.
+
+	* cccp.c (handle_directive): Discard backslash-newline within <...>.
+
+Sat Mar 24 13:23:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (default_compilers): Add entry for .m files, for Objective C.
+	Always pass some -lang... option to cpp.
+
+	* cccp.c (do_include): Support #import as well as #include.
+	(lookup_import, add_import, import_hash): New functions.
+	(main): Handle options -lang-c++ and -lang-objc and -lang-c.
+	Set variables cplusplus and objc.
+	(enum node_type, directive_table): Add #import.
+	(handle_directive): Treat #import as undefined unless objc is nonzero.
+	(initialize_builtins): If objc, define __OBJC__.
+
+	* Makefile.in (lang-objc, cc1obj): New targets.
+	(objc-parse.o, objc-parse.c, objc-actions.o): New targets.
+	(C_OBJS): Add c-lang.o.
+
+	* objc.gperf: New file.
+	* objc-parse.y, objc-actions.c, objc-actions.h: New files.
+
+	* c-lang.c: New file.
+	* c-decl.c (c_decode_option): New name for lang_decode_option.
+	Used from c-lang.c and objc-actions.c.
+
+	* toplev.c (compile_file): Call lang_init and lang_finish.
+	* c-lang.c, objc-actions.c, cplus-decl.c: Define those functions.
+
+	* c-typeck.c (comptypes): Call maybe_objc_comptypes for record types.
+	* c-lang.c, objc-actions.c (maybe_objc_comptypes): New functions.
+
+	* c-decl.c (implicitly_declare, finish_decl, finish_struct):
+	Call maybe_objc_check_decl before rest_of_decl_compilation.
+	* c-lang.c, objc-actions.c (maybe_objc_check_decl): New functions.
+
+	* function.c (assign_stack_local): Align each slot only as needed.
+	Normally don't round size up, just align first.
+	New argument ALIGN specifies alignment, or 0 for that of MODE.
+	All callers changed.
+	(assign_outer_stack_local): Likewise.
+	* final.c (final_start_function): Round frame size to STACK_BOUNDARY.
+
+	* function.c (assign_stack_temp, preserve_temp_slots):
+	(free_temp_slots): Moved from stmt.c.
+
+	* stmt.c (expand_decl): Use convert_units to avoid overflow.
+
+Fri Mar 23 00:52:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Warn if array element is incomplete.
+
+	* varasm.c (assemble_variable): Use convert_units to compute
+	size in bytes.
+	(output_constructor): Likewise, for non-bit fields.
+
+	* c-typeck.c (check_format, my_strchr): New functions.
+	(build_function_call): Call check_format.
+	* c-decl.c (lang_decode_options): Handle -Wformat.
+	* c-tree.h (warn_format): New flag.
+
+	* xm-hp9k320.h (USE_C_ALLOCA): Define if not compiling with GCC.
+
+Thu Mar 22 23:35:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (get_parm_info): Void parm is special only if no name.
+
+	* loop.c (may_not_optimize): Static var replaces local `may_not_move'.
+	(strength_reduce): Don't accept those regs as givs.
+
+Thu Mar 22 06:45:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (expand_inline_function): Compute delta to frame
+	from the address at which it was allocated.
+
+Wed Mar 21 17:36:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c: Increase number of changes saved for validate_change.
+	(validate_change): If INSN == 0 and in group, add to group; if not,
+	always OK.
+	(apply_change_group): If INSN == 0, change is always OK.
+
+	* cse.c (cse_basic_block): If extending block, don't call
+ 	cse_end_of_basic_block with null insn if we got to end of function.
+
+Wed Mar 21 14:08:35 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* calls.c (expand_call): Don't reuse pending_stack_adjust for argblock
+	if inhibit_defer_pop.
+
+	* expr.c (push_block): New argument EXTRA.  All callers changed.
+	(emit_push_insn): Use that for the padding when using push_block.
+
+	* tm-sparc.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG):
+	Only word-aligned BLKmodes can go in registers.
+	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+	* tm-spur.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Likewise.
+	* expr.c (expand_call): If encounter a stack parm before offset
+	gets up to zero, make it zero.
+	* function.c (assign_parms): Likewise.
+
+	* ns32k.md (stack adjust insn): Don't use cmpd or cmpqd on Sequent.
+	* tm-sequent.h (SEQUENT_ADJUST_STACK): Define this.
+
+	* make-hp9k320g (AR): Define it.
+	* Makefile.in (gnulib): Use OLDAR.
+	(OLDAR): New variable.
+
+	* make-iris: New file.
+
+	* xm-iris.h: Undef alloca before defining it.
+
+	* Makefile.in (stage1, ...): Always copy gnulib, never link.
+
+	* cccp.c (main): Use -d...M... as option for macro dump.
+	* gcc.c (default_compilers): Pass -d* to cpp.
+
+Tue Mar 20 01:41:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (datadef): Error message fix.
+	* cplus-parse.y: Likewise.
+
+Mon Mar 19 15:26:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Save static chain value.
+	(copy_rtx_and_substitute): Substitute it where called function
+	copies its static chain.
+	* emit-rtl.c (init_emit_once): Make static_chain_incoming_rtx
+	distinct.
+
+	* function.c (current_function_contains_functions): New variable.
+	(init_function_start): Initialize it.
+	(pop_function_context): Set it to 1.
+	* integrate.c (function_cannot_inline_p):
+	Don't inline fn with nested fns.
+
+	* integrate.c (copy_rtx_and_substitute): Don't replace fp
+	as destination of assignment.
+
+	* assert.h (__assert) [not __GNUC__]: Rename arg to avoid stringify.
+
+	* function.c (expand_function_start): If struct_value_incoming_rtx
+	is 0, get the address from first parm reg or first stack slot.
+	(assign_parms): In that case, skip the space it occupies.
+
+	* calls.c (expand_call): If STRUCT_VALUE is 0, pass address as parm
+	even if that means using a register.
+
+Mon Mar 19 07:43:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (function_cannot_inline_p): Check for non-ANSI varargs
+	as well as ANSI varargs.
+	Allow inlining of functions with large frames now that we can share
+	them between inlined functions.
+	(expand_inline_function): Save static vars in case we were called
+	recursively.
+	Make sure we don't free temporary stack slot used for argument.
+
+	* tree.def: Add new code types '<', '1', and '2' for comparison,
+	unary arith, and binary arith, resp.  Change some 'e' types to those.
+	* expr.c (init_comparisons): Delete fn.
+	(expand_expr): Handle X ? A binop B : A with copy and conditional op.
+	In X ? A : B, if A and B both simply, do with only one jump.
+	Remove existing test for things like x = y | (a == b).
+	(preexpand_calls): Handle new code types for expressions.
+	* optabs.c (init_optabs): No longer call init_comparisons.
+	* fold-const.c (operand_equal_p): No longer static.
+	Ignore NON_LVALUE_EXPR.
+	Only require constants if new operand ONLY_CONST is non-zero.
+	(fold): Treat tree code types '<', '1', and '2' as 'e'.
+	Handle cases where an arithmetic operation is applied to a compound,
+	conditional, or comparison operation by distributing the arithmetic
+	operation inside the compound, conditional, or comparison operation.
+	Update calls to operand_equal_p.
+	Convert A ? B : B to (A, B).
+	* expmed.c (make_tree): No longer static.
+	* tree.h: Define new macro TREE_CODE_CLASS.
+	Define extern make_tree.
+	* print-tree.c (prtypeinfo): New new macro TREE_CODE_CLASS.
+	(dump): Use new macro and treat types '<', '1', and '2' as 'e'.
+	* cplus-lex.c (init_lex): Likewise.
+	* tree.c (make_node, copy_node): Ditto.
+
+Mon Mar 19 00:05:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (main): Trap SIGPIPE.
+
+Sat Mar 17 13:09:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Also delete no-op insns to store bit fields.
+
+	* sparc.md (patterns for addcc, subcc, andcc, andncc, orcc, orncc):
+	(and xorcc, xorncc): Use arith32_operand as predicate.
+
+Fri Mar 16 15:19:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-vms.h (NO_DOLLAR_IN_LABEL): Define this.
+
+	* function.c (assign_parms): Use INIT_CUMULATIVE_INCOMING_ARGS
+	if that is defined.
+
+	* c-decl.c (duplicate_decls): `static' always prevails, for functions.
+	* cplus-decl.c (duplicate_decls): Likewise.
+
+	* sparc.md (patterns for andncc, orncc, xorncc):
+	Delete `%' from constraint.
+	(patterns for addcc, andcc, orcc, xorcc): Use symmetrical predicates.
+	(peephole for returning sum): Likewise.
+
+Thu Mar 15 22:02:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (expand_mult_add): Handle either x or mult having VOIDmode.
+	Always pass both args to type_for_mode.
+
+	* expmed.c (extract_bit_field, store_bit_field):
+	When changing mode of a reg to SImode, also do big-endian correction.
+	Consistently use BYTES_BIG_ENDIAN to decide how bits are numbered.
+	Fix stray ref to CODE_FOR_extzv in case for extv.
+
+	* c-typeck.c (build_unary_op): Allow function type args to `!',
+	since they convert to pointers.
+	* cplus-typeck.c (build_unary_op): Likewise.
+
+Thu Mar 15 06:30:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_to_mode): Don't copy constant to register.
+	Use GET_MODE_CLASS instead of integer_mode_p.
+	(integer_mode_p): Delete obsolete fn (only use above).
+
+	* loop.c (product_cheap_p): Don't crash if no insns need to multiply;
+	that case is cheap.
+
+Thu Mar 15 02:11:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* regclass.c (init_reg_sets_1): Set n_non_fixed_regs.
+	* loop.c (scan_loop, strength_reduce): Set threshold from num of regs.
+
+Wed Mar 14 19:31:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (function_cannot_inline_p): Allow BLKmode parms.
+	Allow address of aggregate parm.
+	(expand_inline_function): Create and maintain const_equiv_map
+	and const_age_map.  Increment const_age at basic blocks.
+	Don't substitute constant values for parm regs;
+	instead, call try_constants for each insn copied.
+	When structure_value_addr in't 0, check aggregate_value_p too.
+	Round size of parm_map up.
+	Don't init inline_fp_rtx unless it is used.
+	Don't use emit_move_insn when copying a SET insn.
+	(copy_rtx_and_substitute): Handle inline_target being used when 0.
+	Don't build a SUBREG of a CONST_INT.
+	For PLUS of constant, do plus_constant whether mem address or not.
+	Set up inline_fp_rtx if we need it.
+	Clear RTX_UNCHANGING_P in all MEMs.
+	(try_constants, subst_constants): New functions.
+	(access_parm_map): No big-endian offset for BLKmode parms.
+	Do change_address if mode doesn't match.
+	(const_equiv): New function.
+	(try_fold_cc0): Use that function.
+	In "small win" case, extract CODE_LABEL out of LABEL_REF for emit_jump.
+	(output_inline_function): Set return_label to 0.
+
+	* recog.c (cancel_changes, num_validated_changes): New functions.
+
+Tue Mar 13 17:30:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* recog.c (constrain_operands): Define `V' constraint.
+
+Tue Mar 13 17:10:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cplus-lex.c (operator_name_string, init_lex): Cast enums to ints
+	to avoid errors from some C compilers.
+
+	* cplus-init.c (expand_aggr_vbase_init): Make declarations consistent.
+
+Sun Mar 11 18:37:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* ns32k.md (movsi): Flush spurious arg to abort.
+
+	* Makefile.in (gnulib.portable, stamp-gnulib2): Ignore error in ranlib.
+
+Sat Mar 10 19:38:36 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.h: Add new fields temp_slots and temp_slot_level.
+	* stmt.c (struct temp_slot): New structure.
+	(init_stmt_for_function): Initialize temp slot info.
+	(save_stmt_status, restore_stmt_status): Save and restore temp slots.
+	(expand_asm_operands): Remove redundant assignment to LAST_EXPR_TYPE.
+	Free any temporaries made.
+	(assign_stack_temp, preserve_temp_slots, free_temp_slots): New fns.
+	(expand_expr_stmt): If last expression had a value (i.e., in ({..})
+	grouping), maybe preserve temporaries.
+	(expand_return, tail_recursion_args): Free any temporaries allocated.
+	(expand_start_bindings): Push temporary stack level.
+	(expand_end_bindings): Pop temporary stack level.
+	(expand_decl): Use kept temporary slots for automatic variables.
+	Free temporary slots after computing size.
+	(expand_decl_init, expand_cleanups, expand_end_case): Free any
+	allocated temporaries.
+	* calls.c (expand_call): Use assign_stack_temp instead of
+	get_structure_value_addr.
+	Make a new temporary level while expanding a call and free
+	temporaries as soon as we know they aren't going to be reused.
+	(store_one_arg): Free any temporary slots made for arg being stored.
+	* function.c (get_structure_value_addr): Delete fn.
+	(init_function_start): No longer initialize structure value addr.
+	* integrate.c (expand_inline_function): Use temporary slot for
+	inlined function's frame.
+	Free temporaries needed while evaluating arguments.
+	* expr.c (expand_assignment, do_jumps): Free temps no longer needed.
+	(store_expr): Don't check for structure value addr.
+	(save_noncopied_parts, expand_expr): Call assign_stack_temp
+	instead of assign_stack_local.
+	(preexpand_calls): No longer special-case fns returning structures.
+	* c-typeck.c (c_expand_asm_operands): Free any temporaries made.
+	* cplus-typeck.c (c_expand_asm_operands): Ditto.
+	* cplus-decl2.c (finish_file): Ditto.
+	* cplus-init.c (expand_aggr_init_1): Ditto.
+	* cplus-type2.c (make_merged_ref): Preserve result and free
+	other temporaries.
+	* cplus-parse.y (stmt): Free any temporaries in EXCEPT clause.
+
+Sat Mar 10 16:07:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (other_reg_use_p): New name for only_reg_use_p.
+	Return 0 if IN == EXPR.
+	(check_eliminate_biv): Re-invert the test using other_reg_use_p.
+
+Fri Mar  9 18:34:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (init_optabs): Handle PSImode insns.
+
+Fri Mar  9 18:24:11 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (local_alloc): Clear qty_phys_sugg and _has_sugg
+	when doing loop, not just when doing bzero.
+	Add new vars qty_phys_copy_sugg and _has_copy_sugg.
+	(block_alloc): Rework detection of possible tied registers to use
+	extracted insn operands rather than trying to parse operands from
+	RTL description.
+	Don't tie registers if output has earlyclobber.
+	For REG_NO_CONFLICT, check commutativity of expression in REG_EQUAL,
+	rather than of operation of attached insn.
+	If insn is a simple copy, pass that info to combine_regs.
+	(combine_regs): For multi-word items, mark all registers actually
+	used as preferred.
+	If the insn is a simple copy, record hard reg suggestions in
+	qty_phys_copy_sugg instead of qty_phys_sugg.
+	(find_free_reg): Correctly check for all registers used.
+	If qty_phys_has_copy_sugg is non-zero, use that register set.  If
+	none of them couldn't be allocated, try the other suggest set if
+	it exists.
+
+Thu Mar  8 02:17:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Detect tablejumps that always go to
+	the same place, and change to unconditional jumps.
+
+	* fold-const.c (fold): Simplify comparison of integer value with self.
+
+	* rtl.h (FUNCTION_FLAGS...): Additional flag bits for saving
+	current_function_returns_pointer, and several others.
+	(FUNCTION_PRETEND_ARGS_SIZE): New component in inline header.
+	* integrate.c (save_for_inline): Record these flags.
+	(output_inline_function): Get them out again.
+	Also restore current_function_args_size and ..._pretend_...
+
+	* ns32k.md (movsi, movdi): Handle floating point registers.
+
+	* dbxout.c (dbxout_prepare_symbol): New function, output N_SOL stab.
+	(dbxout_symbol, dbxout_parms, dbxout_reg_parms): Call it.
+	* final.c (output_source_file): New function.
+
+	* reload.c (find_reloads_toplev): Do BYTES_BIG_ENDIAN offset
+	only within a word.
+
+	* stdarg.h: Use _VA_LIST_ as macro to indicate already loaded.
+
+	* fixincludes: Supply missing semicolon in netinet/ip.h.
+
+	* tm-alliant.h (FUNCTION_PROLOGUE): Use `linkl' on 68020.
+
+	* regclass.c (init_reg_sets): For subunion, keep largest candidate.
+
+Wed Mar  7 00:37:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* emit-rtl.c (in_sequence_p): New function.
+
+	* expr.c (expand_builtin): For BUILT_IN_SAVEREGS, insert after
+	the initial NOTE insn.
+
+	* dbxout.c (dbxout_finish_symbol): New argument is a decl or 0.
+	Output line number in desc field.
+	All callers changed to pass the argument.
+
+	* tree.h (TREE_PUBLIC): Move back to tree_common.
+
+	* dbxout.c (dbxout_init): Output working dir in a N_SO symbol.
+
+	* expr.c (emit_library_call): Handle PUSH_ROUNDING.
+
+	* explow.c (break_out_memory_refs): Use same mode as the MEM has.
+
+	* out-mips.c (output_load_immediate): Let the assembler do the work.
+
+Tue Mar  6 22:20:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (macroexpand): Fix bug in scanning strings for stringify.
+
+	* stmt.c (expand_goto_internal): Adjust stack after cleanups.
+	(expand_end_bindings, fixup_cleanups): Likewise.
+
+	* tm-alliant.h (STATIC_CHAIN_REGNUM): Use 10.
+
+Tue Mar  6 15:23:11 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
+
+	* config.gcc: Accept srcdir & vint with either '-' or '+'.
+
+	* c-parse.y (hash, is_reserved_word): Use __inline so it can
+	be compiled with `gcc -traditional'.
+
+Tue Mar  6 14:52:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-parse.y (compstmt): Don't return null tree for empty group.  This
+	will cause the compiler to dump core on a ({}) construct.
+	* cplus-parse.y (compstmt): Ditto.
+
+Tue Mar  6 14:33:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (TREE_STATIC): Move back to common.
+
+Tue Mar  6 06:04:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.h (expr_stmts_for_value): New field.
+	* stmt.c (init_stmt_for_function): Initialize vars for expression
+	statements.
+	(save_stmt_status, restore_stmt_status): Save and restore value of
+	expr_stmts_for_value.
+
+	* cse.c (record_jump_equiv): Ensure previous insn is an INSN before
+	testing it (it might be a NOTE).
+
+Tue Mar  6 00:26:20 1990  Richard Stallman  (rms at geech)
+
+	* tm-ns32k.h (NOTICE_UPDATE_CC): Use abort in case
+	that shouldn't happen.
+
+Mon Mar  5 23:11:57 1990  Richard Stallman  (rms at geech)
+
+	* Makefile.in (cplus-tab.h): Say expect 12 reduce/reduce conflicts.
+
+	* genoutput.c (output_prologue): Include insn-attr.h.
+
+	* pyr.md (addsi3, mulsi3, umulsi3, andsi3, iorsi3, xorsi3):
+	Make input arg predicates symmetrical.
+	(adddi3, anddi3, iordi3, xordi3): Likewise.
+	(addsi3): Use immediate subtract if suitable.
+
+Sat Mar  3 21:08:25 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (move_block_to_reg, emit_push_insn): Don't treat double 0.0
+	as two words of zero.
+	Handle DImode constants as two integers.
+	Support CONST_INT (currently only called with const0_rtx).
+
+	* expr.c (convert_move): Can only use slt if STORE_FLAG_VALUE == -1.
+
+Sat Mar  3 15:03:00 1990  Richard Stallman  (rms at geech)
+
+	* function.c (setjmp_protect_args, setjmp_args_warning): New functions.
+	* toplev.c (rest_of_compilation): Call setjmp_args_warning.
+	* c-decl.c (finish_function): Call setjmp_protect_args.
+
+	* flow.c (regno_clobbered_at_setjmp): Argument registers
+	are in effect set at start of function.
+
+	* tm-sparc.h (ASM_OUTPUT_DOUBLE): Replace missing line.
+
+	* print-tree.c (prtypeinfo): Don't check DECL-only
+	flags for other nodes.
+
+	* toplev.c: Eliminate `#ifdef 0'.
+
+	* dbxout.c (print_int_cst_octal): New function.
+	(dbxout_type): Use that for long long types.
+
+	* Makefile.in (start.encap, rest.encap): Split all.internal.
+
+	* tahoe.md: Adjust formatting.
+
+	* tahoe.md (ashlsi3, lshlsi3): Don't clobber a const_int.
+	Instead, use %s to convert shift count to multiplier.
+	* tm-tahoe.h (PRINT_OPERAND): Handle %s.
+
+	* tm-tahoe.h (CONST_COSTS): Specify cost of MULT.
+
+Fri Mar  2 01:00:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (rtx_cost): By default, multiply and divide are expensive.
+
+	* expmed.c (expand_mult_add): Use type_for_mode.
+	Allow ADD to have a different mode.
+	* c-typeck.c (type_for_mode): New function.
+	(get_floating_type): Function deleted.
+	* cplus-typeck.c: Likewise.
+
+	* jump.c (jump_optimize): Simplify `if (x) goto foo; else goto foo;'.
+
+Thu Mar  1 17:41:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-mips.c (tree_code_name): Declaration deleted.
+
+	* stmt.c (expand_expr_stmt): No "no side effects" warning for (void)0.
+
+	* assert.h (__assert): Don't call abort; use 0 as value.
+	* gnulib2.c (__eprintf): Call abort here.
+
+	* c-decl.c (pushdecl): Don't warn if shadowing error_mark_node.
+
+	* optabs.c: Use GET_MODE_WIDER_MODE instead of INC_MODE.
+
+	* machmode.def: Set up next-wider-mode for floating modes.
+
+Wed Feb 28 18:58:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (expand_goto_internal): Add missing stack adjust.
+	(expand_fixup): Don't do stack adjust if fixup isn't for current pos.
+
+	* stmt.c (expand_start_stmt_expr, expand_end_stmt_expr): No need to
+	save result from start_sequence in RTL_EXPR.
+
+	* stmt.c (expand_end_loop): Correctly see if NOTE_INSN_LOOP_CONT
+	was written.
+
+	* stmt.c (expand_decl): Omit move to OLDADDR if it would be noop.
+
+	* expr.c (expand_expr): Don't use variable TYPE in subblocks that
+	hides TYPE at function level.
+
+	* expr.c (force_operand): Always generate PLUS for constant.
+	Use negate_rtx to negate constant.
+
+	* expr.c (expand_expr): Ensure that type is not wider than
+	HOST_BITS_PER_INT when assuming that constant is entirely in
+	TREE_INT_CST_LOW.
+	Simplify EXPAND_SUM code for PLUS_EXPR and MINUS_EXPR.
+	Call preexpand_calls at binop instead of all places that branch to it.
+
+	* expmed.c (expand_shift): Skip widening try for rotates; avoid
+	passing UNSIGNEDP == -1 to expand_binop.
+
+	* expr.c (expand_builtin): Use a sequence instead of reorder_insns.
+
+	* tree.c (save_expr): Ignore NON_LVALUE_EXPRs.
+	Mark as TREE_VOLATILE so won't be inadvertently deleted.
+	(build): Special-case LENGTH == 1 also.
+
+Wed Feb 28 12:57:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (convert_move): Handle conversions to and from PSImode.
+
+	* stor-layout.c (layout_type): For integer types, don't consider
+	PSImode, etc.
+
+	* expmed.c (init_expmed): Typo: test was backwards.
+
+	* Makefile (install): When installing $${eachfile}, use basename.
+
+Tue Feb 27 14:48:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (struct tree_common): Delete certain attributes.
+	external, public, static, nonlocal, regdecl, inline.
+	(struct tree_decl): Insert them here.
+
+	* combine.c (try_combine): Avoid generating nested SUBREGs for
+	operands when handling case where I2 or I1 is a SUBREG assignment.
+	Never combine with an insn that sets a register to itself if it has
+	a REG_EQUAL note.
+	(subst): Correct errors in changing (minus (x) (c)) to (plus (x) (-c)).
+	Recompute CODE before second switch.
+	Case NOT: in second switch failed to set undobuf.storage.
+	(gen_lowpart_for_combine): Don't allow multi-word modes; do allow
+	null conversions.
+
+Tue Feb 27 07:13:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Don't combine when doing so would
+	replace destination that is being modified, as opposed to replaced.
+
+	* function.c (fixup_var_refs_1): Rework to correctly support
+	bit-field insns that don't allow memory operands.
+	Correctly detect insns that simply copy a variable to or from a
+	register.
+	(optimize_bit_field): Use a sequence rather than reorder_insns.
+	* Makefile.in (function.o): Update dependancies.
+
+	* recog.h: Delete obsolete insn_machine_info.
+
+	* function.c (assign_parms): Use move_block_from_regs to place
+	first part of parameter partially in registers into memory.
+
+Mon Feb 26 19:02:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Find only .h files when looking for headers.
+
+	* function.c (expand_function_start): Save arg ptr reg
+	if there are nonlocally-referenced parms.
+
+Fri Feb 23 13:21:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (readescape): For x, avoid overflow when shifting in if.
+
+Thu Feb 22 19:14:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Delete directories before creating them.
+	When making internal symbolic directory links, chase
+	chain of existing links to the end.
+
+	* dbxout.c (dbxout_type): Always use main variant (until
+	there is code to report the distinctions usefully).
+
+Wed Feb 21 13:20:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* math-68881.h (hypot): New function.
+
+	* optabs.c (expand_binop): Swap operands if that makes modes match.
+
+	* expr.c (expand_expr): For ARRAY_EXPR, when converting to
+	multiplication and addition, use type of index for product.
+
+	* gcc.c (LIB_SPEC): Link with -lg if -g specified.
+	* tm-isi68.h, tm-next.h, tm-sparc.h, tm-sun3.h, tm-sun386i.h: Likewise.
+	* tm-mips.h (LIB_SPEC): Override to avoid using -lg.
+
+	* toplev.c (main): Warn for -g if not supported.
+
+	* c-decl.c (grokdeclarator): Do pedantic checks for const functions
+	where function decls and variant function types are made.
+
+Mon Feb 19 20:06:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c: Restore Feb 13 change.
+
+	* varasm.c (readonly_data_section): New fn.
+	(assemble_variable, get_or_assign_label, output_constant_pool):
+	Use new fn instead of text_section.
+	* final.c (end_final): Write profiling table to read-only section.
+	(get_attr_length, shorten_branches): Address vectores take no space
+	if not in text section.
+	Vectors are in operand 0 for ADDR_VEC but 1 for ADDR_DIFF_VEC.
+	(final_scan_insn): Merge cases for ADDR_VEC and ADDR_DIFF_VEC.
+	Put vector tables in read-only section.
+
+Sun Feb 18 13:58:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (__shtab): New vector.
+	* Makefile.in (LIB2FUNCS): Add that member.
+
+	* *tahoe*: New versions of these files.
+
+	* optabs.c: File was deleted.  Copied last backup.
+	Feb 13 change lost.
+
+	* tm-sparc.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Handle nans.
+	Don't output more digits than the numbers have.
+	* tm-sun3.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Likewise.
+	(ASM_OUTPUT_DOUBLE_OPERAND): Don't output excess digits.
+
+	* m68k.md (movqi): Don't use clrb or st if dest is volatile.
+
+	* expmed.c (expand_mult): Don't use sum of shifts if mult is cheaper.
+	(init_expmed): Set mult_is_cheap based on rtx_cost.
+	* toplev.c (compile_file): Call init_expmed.
+	* cse.c (rtx_cost): Not static.
+
+	* tm-mips.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
+	Start name with $.
+
+	* tm-alliant.h, tm-convex.h, tm-hp9k3bsd.h, tm-news.h, tm-seq386.h:
+	* tm-sequent.h, tm-spur.h, tm-sun2.h, tm-tahoe.h, tm-vax.h:
+	(LIB_SPEC): Put in -lc with appropriate alternatives.
+
+	* toplev.c (rest_of_compilation):
+	Clear rtx_equal_function_value_matters just before final.
+
+	* cccp.c (rescan): If don't find paren after macro, back up over space.
+
+Sat Feb 17 20:58:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-hp9k320.h (CPP_SPEC): Remove _INCLUDE__STDC__.
+
+Wed Feb 14 09:06:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (struct movable): Add SET_DEST and SET_EQUAL fields.
+	(single_set): New fn.
+	(scan_loop, force_movables, move_movables, consec_set_invariant_p):
+	Use new fn to look for insns that contain a single set.
+	Use new fields in struct movable.
+	(scan_loop, strength_reduce): Pass number of registers to
+	strength_reduce.
+	(libcall_benefit): New fn.
+	(scan_loop, strength_reduce, consec_sets_giv): Use it.
+	(skip_consec_insns): Correctly count insns to be skipped when
+	NOTEs are present.
+	(combine_movables): In some cases, combine regs that load CONST_INTs
+	even if the modes of the destination differ.  This requires starting
+	the inner loop from the start of the movable list.
+	Use find_reg_note to search for notes.
+	Don't choose a use of an equivalence instead of the insn that sets
+	the register directly (hence setting up the equivalence).
+	Set DONE for the matched movable to ensure it isn't duplicated.
+	(replace_call_address): No longer used.
+	(move_movables): When moving a LIBCALL block where the address of
+	the fn is in a register, emit an insn to move the actual address
+	in case the original move was CSE'ed out of the block.
+	Emit AND insn via expand_binop instead of explicit RTL.
+	Search for matching from start of list, not from movable being matched.
+	If mode of combined movables differ, use SUBREG to replace narrower.
+	(replace_regs): Don't replace register if it is the destination.
+	(count_nonfixed_reads): Mem ref is fixed if addres is loop invariant.
+	(can_jump_into_range_p): Speed up common cases.
+	(count_loop_regs_set): Do same thing for parts of PARALLEL as when
+	they occur standalone.
+	(struct induction): Delete fields forces, forces2, and consec.
+	Store dest and src reg rtx instead of register number.
+	Add new fields always, cant_derive, combined_with, maybe_dead, and
+	derive_adjustment.
+	(struct iv_class): Add new fields initial_test, init_set, incremented.
+	(all strength reduction routines): Use single_set and use new 
+	struct induction fields; forces is no longer used.
+	(record_biv): New fn.
+	(strength_reduce): Use it.
+	(record_initial, valid_initial_value_p): New fns.
+	(strength_reduce): Scan for bivs in loop order.
+	Refine handling of maybe_never.
+	A reg isn't a biv if it is never incremented.
+	Use note_stores and record_initial to correctly note all changes
+	to a biv's register prior to the start of the loop.
+	We may know biv's initial value if it was tested NE before the loop.
+	Use new valid_initial_value_p.
+	Ensure giv's insn is the last in a LIBCALL block or if consec.
+	Don't set maybe_never on jump back to top of loop.
+	Don't delete any insns setting givs; flow will eliminate them as
+	dead.  Ditto for biv updates when biv can be eliminated.
+	If giv's last use is in a computation of another giv, mark that it
+	might be dead.
+	Make two passes over givs.  In first pass, handle non-matched
+	givs.  In second pass, handle the matched givs.
+	(only_reg_use_p): Now static.
+	(delete_insn_forces): Fn deleted; no longer used.
+	(update_giv_derive): New fn.
+	(strength_reduce): Call it for every insn and label.
+	(record_giv): If giv never used, ignore it.
+	(basic_induction_var): Always set *MULT_VAL to something.
+	A set of a biv from an invariant MEM is allowed.
+	(simplify_giv_expr, expr_cost): New fns.
+	(general_induction_var): Rewrite to use them.  More types of
+	expressions are now recognized as givs.
+	Use results produced by update_giv_derive to ensure that giv derivation
+	works correctly when spanning biv update.
+	(consec_sets_giv): Can allocate temporary induction struct on stack.
+	Skip insns that set irrelevant items between two updates to giv.
+	(gen_iv_mult, emit_iv_init_code): Replace with emit_iv_add_mult.
+	(update_reg_last_use): New fn.
+	(emit_iv_add_mult): Call it for all operands.
+	(express_from, combine_givs_p, combine_givs): New fns.
+	(strength_reduce): Call them to combine givs.
+	(product_cheap_p): Rewrite to handle more cases.
+	Free any memory allocated.
+	(get_condition): New fn.
+	(strength_reduce, check_dbra_loop): Use it.
+	(check_dbra_loop): Use emit_move_insn instead of writing explicit SET.
+	Use emit_cmp_insn/emit_jump_insn to write out replacement test.
+	(check_eliminate_biv): Use single_set.
+	Refine test for insns that use biv only to calculate giv.
+	Return non-zero if can eliminate biv; don't set eliminable.
+	(can_eliminate_biv_p): Remove some duplicate code and allow
+	all constants in some cases where only CONST_INT was allowed.
+	Don't replace biv with giv that might be dead.
+	(eliminate_biv): Compute whether to put an invariant before insn
+	in which the biv is being eliminated or at the start of loop.
+	Allow more types of constants.
+	Don't replace biv with giv that might be dead.
+	Use validate_change when substituting into insn.
+	(strength_reduce): Change calls to check_eliminate_biv and
+	eliminate_biv.  Call the former again after maybe_dead has possibly
+	been set on some givs.
+
+Tue Feb 13 19:58:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.c (function_obstack): New variable.
+	(init_allocation): Init it to temporary_obstack. 
+	(save_tree_status): Save it, make new obstack for it.
+	(restore_tree_status): Free new obstack, restore old.
+	(temporary_allocation, resume_temporary_allocation): Use that one.
+	* function.h (struct function): Slot for saved function_obstack.
+	* tree.c (push_obstack, pop_obstack): New functions.
+	These implement a stack for obstack selection.
+	* function.c (put_var_into_stack): If var is nonlocal,
+	switch to obstacks of the function it is in.
+
+Tue Feb 13 17:52:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_no_conflict_block): During reload, don't do
+	any encapsulation or add notes.
+	Allow single insn or no insns in sequence.
+
+Tue Feb 13 12:51:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (build_int): Increase limits of cache size.
+
+	* sdbout.c (sdbout_symbol): Force output of symbol's type.
+
+Tue Feb 13 08:28:37 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* toplev.c (rest_of_compilation): Don't skip compilation of function
+	if TREE_INLINE but no saved insns (e.g., if not -O).
+
+	* rtlanal.c (replace_rtx): New function.
+	* rtl.h: Define it.
+
+Tue Feb 13 00:02:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (finish_struct): Lay out any existing array types
+	of newly completed struct.
+	(layout_array_type): New subroutine.
+
+Mon Feb 12 11:33:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* function.c (assign_parms): If not -O, keep all parms in memory.
+
+	* expr.c (clear_pending_stack_adjust): Ignore TREE_INLINE if not -O.
+
+	* out-i386.c (output_fix_trunc): New function.
+	(fp_pop_int): Re-enabled.  Handle more modes, individually.
+	(print_operand): Handle %D.
+	* i386.md (fix_truncdfdi2, fixuns_truncdfdi2): New patterns.
+	These changes from James Van Artsdalen.
+
+	* gnulib2.c (__builtin_vec_delete): Use __builtin_delete, not free.
+
+	* sdbout.c (sdbout_field_types): Do look through pointer types.
+
+Sat Feb 10 19:31:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (plain_type_1): Don't output tag until known.
+	(sdbout_one_type): Don't record tag in KNOWN_TYPE_TAG until end.
+	Reenable output of member types before original structure.
+
+	* expr.c (expand_expr): Convert post-inc to pre-inc if result ignored.
+
+Sat Feb 10 14:35:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* ns32k.md (movsf): Convert double constant to float.
+
+Fri Feb  9 00:02:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): Don't lose alignment of OLDDECL.
+
+	* cccp.c (handle_directive): Keep comments by copying them explicitly.
+
+	* cccp.c (rescan): When scanning for open-paren after macro name,
+	discard comments if appropriate.
+
+Fri Feb  9 18:26:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Suppress infinite loop when associating
+	operations in cases where a reg, R, is equal to "R OP const1" and
+	we are looking at "R OP const2" for some associative operator OP.
+
+Thu Feb  8 14:19:41 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (build_enumerator): Pedantic warning if value not an int.
+	Access default value after checking for constant specified,
+	as it should no longer be possible to have NON_LVALUE_EXPR
+	in the default.
+
+	* c-typeck.c (default_conversion): Don't truncate wide enums.
+
+	* tm-hp9k320.h (CPP_SPEC): Define _INCLUDE__STDC__ if not traditional.
+	* tm-hp9k310.h (CPP_SPEC): Likewise.
+
+Wed Feb  7 12:59:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (emit_insns_before): New fn.
+	(init_emit_once): Add uses of new macros to support static chain
+	passed in memory.
+	* calls.c (prepare_call_address): Rework to set static chain for
+	languages that have EPmode function addresses and for nested
+	functions in C.
+	Emit USE insn for static_chain_rtx into list of USE insns to be
+	placed later.
+	(emit_call_1): USE_INSNS is now a list of insns, not a SEQUENCE.
+	(expand_call): Remove gratuitous forcing of FUNEXP to Pmode (it
+	might have been EPmode).
+	Make USE_INSNS a list, rather than a SEQUENCE.
+	Use prepare_call_address to emit load into static chain.
+	* expr.c (emit_library_call): Update call to prepare_call_address.
+	* function.c (expand_function_start): Use incoming static chain rtx
+	instead of outgoing form (was correct in one place, wrong in one).
+	* stmt.c (expand_goto): Set static_chain rtx after stack pointer
+	in case it uses the stack pointer.
+	Only write one USE for stack_pointer_rtx.
+
+Tue Feb  6 17:26:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Suppress optimization of `if (...) x = 1;
+	else {...}  if (x) ...', when a label is present between the
+	assignment to X and the unconditional jump.
+
+Mon Feb  5 23:22:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): If I2 or I1 is a PARALLEL, ignore only
+	CLOBBER parts when combining.  Previously used to ignore USE parts
+	also but the latter can indicate that the insn needs some setup that
+	isn't shown in its rtl.
+
+Mon Feb  5 13:32:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* vax.md (addhi3, addqi3): Fix typo checking for dec insn.
+
+	* cccp.c (struct file_buf): New field `nominal_fname' is name spec'd
+	in #line command; `fname' is name of actual input file.
+	Many functions now use or set this field as well or instead.
+
+	* c-decl.c (grokdeclarator): Fix missing paren.
+
+Sun Feb  4 12:37:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-3b1g.h: New file.
+	* config.gcc (3b1g, 3b1-gas): New alternative.
+
+	* loop.c (move_movables): Skip USE insns when checking for
+	the insn that loads the address of a library function.
+
+	* combine.c (combine_instructions): Compute total_distrib_*.
+
+	* final.c (final): Do basic block profiling at end of function.
+	(final, final_scan_insn): Run CC_STATUS_INIT after block profiling.
+	(final_scan_insn): Detect cond jumps that use PARALLEL.
+
+Sun Feb  4 00:04:22 1990  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
+
+	* function.c (assign_stack_local): Use plus_constant to avoid
+	PLUS when offset is zero.
+	(assign_outer_stack_local): Ditto.
+
+Sun Feb  4 00:04:22 1990  Ron Guilmette  (rms at sugar-bombs.ai.mit.edu)
+
+	* explow.c (fix_lexical_addr): Fix typo.
+
+	* tree.c (build_type_variant): Special handling for protoize.
+
+	* protoize.c: New file.
+
+	* toplev.c (flag_gen_aux_info): Define it.
+	(f_options): Recognize the flag.
+	(compile_file): Open and close the aux_info file.
+
+	* flags.h (flag_gen_aux_info): Declare it.
+
+	* c-typeck.c (comptypes): Handle equivalent variant types for protoize.
+
+	* c-decl.c (implicitly_declare): Call gen_aux_info_record.
+	(start_decl, store_parm_decls): Likewise.
+	(pushdecl): For protoize, distinguish different names for same type.
+	(grokdeclarator): For protoize, don't always get main variant.
+	(finish_function): Take the main variant here.
+
+	* c-aux-info.c, SYSCALLS.c: New files.
+
+	* Makefile.in (proto, protoize, unprotoize): New targets.
+	(protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize): More new.
+	(c-aux-info.o): Also new.
+	(STAGESTUFF): Add protoize, unprotoize.
+	(install): Install protoize, unprotoize and SYSCALLS.c.X.
+
+Sat Feb  3 17:09:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (digest_init): Allow conversion of array exp to pointer.
+	Constructors with types are simply expressions, so don't treat as
+	initializers.		    
+
+	* Makefile.in (uninstall): New target.
+
+	* Makefile.in (include/README): Target deleted.
+	(include): Deleted.
+	(INSTALL): Create include dir here.
+
+	* Makefile.in (all.internal): Enable compiling cc1plus.
+	(lang-cplus): New target.
+	(*.o): Add some missing dependencies.
+	(STAGESTUFF): Add cc1plus.
+
+Fri Feb  2 18:21:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tree.c (decl_function_context): Don't abort when passed ERROR_MARK.
+
+Fri Feb  2 17:04:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (copy_for_inline): Use real width of rtunion in bcopy.
+	* emit-rtl.c (copy_rtx_if_shared): Likewise.
+
+	* assert.h (assert) [__STDC__]: Use comma operator to avoid warning.
+
+	* c-decl.c (grokdeclarator): Traditionally change return type float
+	to double.
+
+	* cse.c (predecide_loop_entry): Give up unless simple jump enters loop.
+
+Thu Feb  1 19:32:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (yylex, skip_white_space): CR is not whitespace.
+
+Thu Feb  1 17:18:33 1990  Richard Kenner  (kenner at sugar-bombs.ai.mit.edu)
+
+	* tm-m68k.h (PREFERRED_RELOAD_CLASS): Never return DATA_REGS for
+	ADDR_REGS, even for QImode.
+
+	* cse.c (cse_insn): If source equivalent is not in table, but
+	source is, put equivalent in same class as source.  But do not
+	do this if the destination has a STRICT_LOW_PART.
+	(cse_main): Call init_recog instead of init_recog_no_volatile.
+
+Thu Feb  1 17:18:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (cplus-tab.c, cplus-tab.h): Renamed from cplus-parse.*. 
+	(TAGS, realclean): Renamed these files.
+	(cplus-decl2.o, cplus-type2.o, cplus-search.o): New targets.
+	(cplus-except.o, cplus-expr.o): New targets.
+	(new-method.o): Target deleted.
+	(CPLUS_OBJS): Add and delete object files.
+	(CPLUS_TREE_H): Change header names.
+	(INTERNAL_CFLAGS): Set the MERGED flag.
+
+	* calls.c (expand_call): Flush junk in assign of CONTEXT.
+
+	* expr.c (expand_expr): LOOP_STMT is just an infinite loop.
+	Handle EXIT_STMT.
+	* tree.def (EXIT_STMT): Change meaning: exit if expression is true.
+	* stmt.c (warn_if_unused_value): Do nothing for EXIT_STMT.
+
+Thu Feb  1 14:10:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_no_conflict_block): Accept optional expression
+	to be placed in REG_EQUAL note on last insn emitted.
+ 	Just emit insns if TARGET is not a register.
+	(expand_binop, expand_unop): Change calls.
+
+Thu Feb  1 01:03:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.def (NON_LVALUE_EXPR): New tree code.
+	* fold-const.c (non_lvalue): No longer static.
+	Make NON_LVALUE_EXPR.  Do nothing if arg certainly not lvalue.
+	* c-typeck.c (build_c_cast): Call non_lvalue.
+	(default_conversion, build_function_call, actualparameterlist):
+	(build_binary_op_nodefault, truthvalue_conversion, build_modify_expr):
+	(convert_for_assignment, digest_init): Strip NON_LVALUE_EXPR from args.
+	(build_unary_op, build_modify_expr): No longer need to check for
+	NOP_EXPR that indicates not an lvalue.
+	(build_compound_expr, build_c_cast): Don't strip NON_LVALUE_EXPR
+	* expr.c (expand_expr, do_jump): Handle NON_LVALUE_EXPR.
+	* c-decl.c (build_enumerator, grokdeclarator): Strip them.
+	* c-parse.y (case label): Strip them.
+
+	* limits.h (INT_MIN): Define so it has type `int', not unsigned.
+	(CHAR_MIN, SCHAR_MIN, SHRT_MIN): Put arens around value.
+
+	* reload1.c (inc_for_reload): Forget reg_last_reload_reg
+	for the reg being inc'd.
+
+Wed Jan 31 17:37:53 1990  Michael Tiemann  (rms at sugar-bombs.ai.mit.edu)
+
+	* cplus-*: New files.
+
+	* tree.def (TARGET_EXPR): New name for NEW_EXPR.
+	* tree.c (simple_cst_equal): Change NEW_EXPR to TARGET_EXPR.
+
+	* stmt.c (estimate_case_costs): Check all nodes against ASCII range.
+
+	* stmt.c (warn_if_unused_value): Delete obsolete node types.
+
+	* recog.c (validate_change): Fix one-off bug testing recog_memoized.
+
+	* local-alloc.c (local_alloc): Initialize qty_phys_reg.
+
+	* fold-const.c (non_lvalue): Propagate TREE_LITERAL, TREE_VOLATILE.
+
+	* expr.c (expand_expr): Delete DELETE_EXPR.
+	Call lang_expand_expr for any unknown tree code.
+	Handle IF_STMT, LOOP_STMT, LET_STMT for real.
+
+	* dbxout.c (dbxout_type): Output args for method type.
+	Treat OFFSET_TYPE as int if not using GDB extensions.
+
+Wed Jan 31 17:32:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (node_has_high_bound, node_has_low_bound):
+	Use integer_one_node, not new node.
+
+	* expr.c (do_jump): In comparisons against zero, used unsigned, rather
+	than signed, extensions, as that is more likely to be the faster one.
+
+Wed Jan 31 14:09:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c (rest_of_compilation): Ignore TREE_INLINE if not -O.
+
+	* out-mips.c (mips_prologue): Handle big stack frames > 2**16.
+
+	* tree.h (struct tree_type): Rename `max' field to `maxval'.
+	(TYPE_MAX_VALUE, TYPE_OFFSET_BASETYPE, TYPE_METHOD_BASETYPE):
+	Use new name.
+
+	* reload1.c (reload): Reject fixed regs when spilling large groups.
+
+	* c-decl.c (start_function):
+	Optionally warn if non-proto defn without previous prototype.
+
+	* Makefile.in: New rule to make .../include subdir.
+	New rule to run fixincludes into it.
+	Rule `install' depends on them.
+
+	* assert.h (assert) [no NDEBUG]: Split into versions with/out __STDC__
+	(_assert) [__STDC__]: Pass expression and file separately to _eprintf.
+	(_assert) [not __STDC__]: Likewise, but implemented differently.
+	* gnulib2.c (__eprintf): Handle 3 args plus format string.
+
+	* tm-i386.h (STACK_BOUNDARY): Define it.
+
+Tue Jan 30 16:24:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (install): Fix typo in name of varargs file.
+
+	* combine.c (try_combine): Don't allow combine to violate machine's
+	alignment restriction.
+
+Sun Jan 28 03:53:28 1990  Michael Tiemann  (tiemann at rio)
+
+	* stmt.c (warn_if_unused_value): Don't warn for LOOP_STMT, IF_STMT,
+	or LET_STMT.
+
+	* toplev.c (compile_file): Code to mention symbol that was not
+	written to asm file is now #if 0'd out.  What good is it telling the
+	debugger about a symbol it cannot see?
+
+	* dbxout.c (dbxout_type): Change METHOD_TYPE print character from
+	'@' to '#'.  Also, don't try to output CONST_DECLs.  GDB doesn't
+	understand them, and they don't have DECL_OFFSETs.
+
+	* sparc.md (floatsidf2): Changed constraint from "rfm" to "rm" for
+	second operand.
+
+	* toplev.c (lang_expand_expr): New variable is pointer-to-function
+	which expands language-specific tree codes.  Its default is
+	`fancy_abort'.
+
+Sat Jan 27 10:18:44 1990  Michael Tiemann  (tiemann at rio)
+
+	* gcc.c (main): Initialize COMPILERS before calling
+	`validate_all_switches'.
+
+	* tree.c (decl_{type,function}_context): Handle LET_STMT.
+
+	* stmt.c (expand_decl_cleanup): New function.
+
+	* stmt.c (expand_decl): No longer takes CLEANUP parameter.
+	All callers changed.
+
+	* tree.c (build_{loop,if,goto,compound}, etc): Turn these tree
+	constructors back on.
+
+	* tree.def: Delete DELETE_EXPR, PUSH_EXPR, POP_EXPR.
+
+	* c-typeck.c (max): New macro.
+
+	* c-decl.c (maybe_build_cleanup): New function.
+
+	* tree.c ({value,purpose}_member): New functions.  Returns first
+	element of LIST that matches respective components with ELEM.
+
+	* varasm.c (first_global_object_name): Variable defined.
+
+Sat Jan 27 23:31:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): Reject fixed regs when completing group of 2.
+
+Fri Jan 26 17:28:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (do_jump): Don't use CONST0_RTX when value to be tested is
+	CONST_INT.
+
+Fri Jan 26 13:39:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (main): Warn about bad switches at beginning, not at end.
+
+Thu Jan 25 22:03:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (general_induction_var): Reject widening multiply.
+
+	* cccp.c (grow_outbuf): Always return 0.
+
+Thu Jan 25 07:04:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst): Correctly reference length in
+	(zero_extract (zero_extend ... )) combinations.
+
+	* c-decl.c: Define warn_traditional.
+	(build_enumerator): Remove NOP_EXPRs from default value also.
+
+	* fold-const.c (fold): Strip NOP_EXPRs when looking for constants.
+
+Thu Jan 25 01:57:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (install): Clear execute bit for nonexecutable files.
+
+	* i860.md (andsi3): Truncate xop2 constant to 16 bits.
+
+Wed Jan 24 22:32:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genemit.c (main): Include output.h in insn-emit.c.
+	* genpeep.c (main): Similar.
+	* genrecog.c (main): Ditto.
+	* Makefile.in (insn-emit.h, insn-peep.h, insn-recog.h): Add dependancy.
+
+Wed Jan 24 20:13:08 1990  Richard Stallman  (rms at albert.ai.mit.edu)
+
+	* cccp.c (do_define): Report error for duplicate macro args.
+
+Mon Jan 22 07:52:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (alter_reg): Rework change of January 7th to allow
+	for no previous insn and clear equivalence information of correct
+	pseudo.
+
+Mon Jan 22 01:22:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fold-const.c (fold): Don't simplify non-lvalue to an lvalue.
+	(non_lvalue): New fn; makes a NOP_EXPR with readonly flag.
+	* c-typeck.c (build_unary_op, build_modify_expr): Reject such.
+
+Sun Jan 21 20:53:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (lvalue_p): Don't call language_lvalue_valid.
+	Don't bother with looking for NEW_EXPR or REFERENCE_TYPE.
+	(language_lvalue_valid): Deleted.
+
+Sat Jan 20 19:50:15 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+
+	* expr.c (expand_expr): Implemented language-independent expansion
+	for NEW_EXPR.
+
+Thu Jan 18 14:29:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+ 	* cccp.c (rescan): Set beg_of_line when string ends at newline.
+	(skip_quoted_string): Don't swallow newline that ends a string.
+	(handle_directive): No need to back up here.
+	Pass LIMIT as second arg to skip_quoted_string.
+
+Thu Jan 18 12:50:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (gen_lowpart): Verify CONST_DOUBLE is integer mode.
+	(gen_highpart): Add support for CONST_INT and CONST_DOUBLE.
+
+	* recog.c (general_operand): Don't allow nested SUBREGs.
+	(nonmemory_operand, memory_operand, register_operand): Ditto.
+
+	* emit-rtl.c (gen_reg_rtx): Don't allow creation of pseudos
+	during or after reload.
+
+Thu Jan 18 11:41:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (actualparameterlist): -Wconversion warns if
+	representation or width is changed.
+
+Thu Jan 18 01:09:47 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+
+	* dbxout.c (various places): Don't assume that DECL_NAME of a
+	PARM_DECL is non-zero.  It might be empty for anonymous parms.
+
+Thu Jan 18 00:06:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (local_alloc): qty_phys_sugg is now an array of
+	HARD_REG_SETs.  Initialize new variable qty_phys_has_sugg.
+	(block_alloc): Don't test for nonlocal gotos here.
+	Test qty_phys_has_sugg instead of qty_phys_sugg to see if
+	quantity needs early allocation.
+	(qty_compare, qty_compare_1): No longer consider whether a quantity
+	has a hard register suggestion as part of its priority.
+	(combine_regs): We now record multiple hard register suggestions
+	in qty_phys_sugg.
+	(find_free_reg): Test here for nonlocal gotos.
+	Support new meaning of qty_phys_sugg by restricting to those
+	registers if just_try_suggested.
+	Check for no registers available prior to looping over registers.
+
+	* global-alloc.c (prune_preferences): New fn.
+	(global_alloc): No longer keep a single vector of which registers
+	someone prefers; instead keep this record one per allocation number.
+	Record registers not saved over calls as already used for register
+	allocation purposes, so we can feel free to allocate them with no
+	cost.
+	Call new fn to prune preferences and build list of registers
+	preferred by earlier allocnos.
+	find_reg no longer gets preference information as argument.
+	(find_reg): Don't take preferred registers as argument; get the
+	info from global variables.
+	(set_preference): Remove regs_someone_prefers.
+	(dump_conflicts): Print register preferences in dump file.
+	
+Wed Jan 17 16:00:59 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+
+	* tree.c (decl_function_context): New function, returns the
+	innermost DECL_CONTEXT of FNDECL when that context is a
+	FUNCTION_DECL.
+	* tree.c (decl_type_context): New function, returns the
+	innermost DECL_CONTEXT of FNDECL when that context is a
+	TYPE_DECL.
+	* All callers changed to use `decl_function_context' when handling
+	nested functions.
+	* All C++ callers changed to use `decl_type_context' when handling
+	member functions.
+
+	* expr.c (fixed_type_p): New function says whether the compiler
+	guarantees that it knows the true type of an object.
+	* expr.c (expand_expr): Call that function for INIT_EXPR and
+	MODIFY_EXPR.  Also, for MODIFY_EXPR, check both RHS and LHS.
+
+	* tree.h (DECL_ARG_TYPE): Use INITIAL, not ARGUMENTS slot in
+	`tree_decl.  Now reserving ARGUMENTS slot for VAR_DECL and
+	 PARM_DECL for language-specific features.
+
+	* tree.c (build_decl): Don't set DECL_PRINT_NAME by default.
+
+	* assert.h: Assume that undefined __GNUC__ implies `assert' must
+	rely on printf.
+
+Wed Jan 17 15:31:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+ 	* cccp.c (rescan): If traditional, end preproc number after expt sign.
+
+Wed Jan 17 15:18:25 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
+
+	* stmt.c: Extended struct nesting to hold exception handling
+	contours.  New functions:
+
+	   expand_start_try, expand_end_try, in_try_block
+	   expand_start_except, expand_end_except, in_except_block
+	   expand_start_catch, expand_end_catch, expand_catch_default
+	   expand_raise, expand_escape_except, in_exception_handler
+
+Wed Jan 17 13:48:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (main): Typo, had `includes' for `include'.
+	Always increment p.
+
+	* reload1.c (alter_reg): Delete spurious `break'.
+
+	* local-alloc.c (block_alloc): Delete ref to undef var first_time.
+
+Wed Jan 17 13:35:47 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+
+	* toplev.c: Unmerge all changes of Bryan Boreham--no papers (yet).
+
+Wed Jan 17 12:33:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_type): Struct requires BLKmode if any field
+	crosses a word boundary.
+
+Wed Jan 17 12:04:18 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+
+	* stor-layout.c (layout_type): Unterminate comment terminated.
+
+	* tree.c (lvalue_p,lvalue_or_else): Remove these functions from this
+	file.
+	* c-typeck.c (lvalue_p,lvalue_or_else): Put them in this file.
+
+Wed Jan 17 00:46:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Delete garbage accidentally added before.
+
+	* tree.c (set_identifier_size): SIZE is size in bytes.
+	* tree.c (get_identifier): If `set_identifier_size' has not been
+	called, abort.
+	* c-decl.c (init_decl_processing): Don't call `set_identifier_size'
+	from here.
+	* c-parse.y (init_lex): Call `set_identifier_size' from here.
+
+	* varasm.c (force_const_mem): Save DESC's label on the
+	saveable_obstack.  (Note, saveable is misspelled.)
+
+	* listing: New file.
+
+Tue Jan 16 20:43:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (convert_sequence): Put in #if 0.
+
+Tue Jan 16 17:25:43 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+
+	* toplev.c: Merged Bryan Boreham's undumping code.
+
+	* print-tree.c (dump): Handle TREE_VEC.
+
+	* varasm.c (output_constant_pool):  When done, set FIRST_POOL,
+	LAST_POOL to zero.
+
+	* varasm.c (first_global_object_name): New variable.  Records the
+	name of the first global declaration (variable or function) whichi
+	is written to the assembly file.
+
+	* tree.h (tree_code_name): Add declaration.
+
+Tue Jan 16 17:06:29 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (block_alloc): Make an initial pass to try to
+	allocate registers that have suggested hard registers.
+	(find_free_reg): Add new argument to only try suggested hard register.
+
+Tue Jan 16 15:54:06 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+
+	* tree.h (tree_vec): Added.
+
+	* tree.def (IDENTIFIER_NODE): Default length is 2.
+	* tree.def (TREE_VEC): Define it.
+	* tree.def ({NEW_,DELETE_,REFERENCE_}EXPR): fixed comments.
+
+	* tree.c (preserve_initializer): New function.  Like
+	`preserve_data', but saves nodes on momentary_obstack as well.
+	* tree.c (make_tree_vec): New function.  Allocates a TREE_VEC node.
+	* tree.c (copy_node): Support added for TREE_VEC.
+	* tree.c (build_parse_node): New function.  Builds tree node on
+	TEMP_DECL_OBSTACK.
+	
+Tue Jan 16 15:23:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.h: Eliminate definitions of andcb_optab and expand_bit_and.
+	* expmed.c (expand_bit_and): Eliminate function.
+	(store_fixed_bit_field, extract_fixed_bit_field, expand_divmod):
+	Replace expand_bit_and with call to expand_binop.
+	* expr.c (expand_expr): Handle TRUTH_AND_EXPR and BIT_AND_EXPR
+	as normal binary operations.
+	(do_store_flag): Replace expand_bit_and with expand_binop.
+	* optabs.c (expand_binop, init_optabs): Eliminate andcb_optab.
+
+	* expmed.c (expand_shift): Don't use extzv for rotate.
+	If all three tries at a shift operation failed, delete the
+	insns made during the last try.
+	Handle failure of extzv operation.
+	Call protect_from_queue before convert_to_mode for op1.
+
+Tue Jan 16 10:38:28 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+
+	* tree.c: Added temp_decl_obstack for building declarators without
+	needing to use permanent_obstack at top level.
+	* tree.c (init_tree): Init temp_decl_obstack.
+	* tree.c (permanent_allocation): Free nodes allocated on
+	temp_decl_obstack.
+	* tree.c (build_decl_list,decl_tree_cons): New functions.  Like
+	`build_tree_list' and `tree_cons', but for building on
+	temp_decl_obstack.
+	* tree.c (build1): New function.  Builds tree node for unary tree
+	node kinds; doesn't use varargs.
+	* tree.c (simple_cst_equal): Interface changed to return 1 if
+	arguments are equal, 0 if not, and -1 if arguments were not
+	understood by the function.
+	* tree.c (build_{method,offset}_type): TYPE_*_BASETYPE is the
+	TYPE_MAIN_VARIANT of BASETYPE.
+
+Mon Jan 15 01:50:51 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cexp.y (exp): Accept unary +.
+
+	* Makefile.in (hard-params): Compile with GCC.
+	(hard-params.o): Likewise, and depend on the GCC executables.
+
+	* tm-sparc.h (CONST_COSTS): Give 1, not 0, for immed consts.
+
+Sun Jan 14 14:38:10 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
+
+	* stmt.c (estimate_case_costs): New function.  Case code no longer
+	assumes that all case values are equally likely for all types.  In
+	particular, when the type of argument for the switch statement does
+	not look like it is not ASCII text, we assume that it might be, and
+	assign a weight to its value based on frequency distribution of
+	characters in ASCII text.
+	* stmt.c (balanace_case_nodes): If case values look like ASCII text,
+	then use the cost table.  Otherwise, do not.  Using the cost table
+	means that the otherwise almost-balanced binary tree may be skewed
+	in hopes of picking up common values more quickly than just
+	log(n).  This is done at the direct expense of the less common
+	values, which will be reached at more than log(n).
+	* stmt.c (emit_case_nodes): If using COST_TABLE and the most likely
+	case value is on one side of the tree or another, hand-pick boundary
+	tests so that condition codes can be reused (if possible).
+	* stmt.c (expand_end_cast): If optimizing, and the type of
+	ORIG_INDEX is not an enumeral type, then call `estimate_case_costs.'
+
+Sun Jan 14 12:18:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fold-const.c (lshift_double, rshift_double, lrotate_double):
+	(rrotate_double): Don't shift more than width of operand.
+
+Fri Jan 12 12:17:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* recog.c (next_insns_test_no_inequality): Return 1 at end of rtl.
+
+	* expr.c (store_expr): No special handling for constructor
+	unless value is going in struct value block.
+
+	* stor-layout.c (layout_type): Use common nodes for sizes of ptrs, fns.
+	(make_signed_type, make_unsigned_type): Create those nodes.
+	(layout_record): Just ignore VAR_DECL if not static.
+
+Thu Jan 11 14:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (lang_decode_option): Decode -Wtraditional.
+	* c-decl.c (implicitly_declare): Warn if extern decl previously seen.
+	* c-typeck.c (c_expand_start_case): Warn if switch exp is long.
+
+	* c-typeck.c (actualparameterlist): Optionally warn on truncation.
+	* toplev.c (main): Handle -Wconversion.
+
+	* cccp.c (skip_if_group): Skip strings even if -traditional.
+	(handle_directive): Likewise, when handling copy_command.
+
+Thu Jan 11 14:15:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Only check for REG_EQUAL notes and make
+	REG_EQUAL notes instead of REG_EQUIV notes.
+	* explow.c (force_reg): Make REG_EQUAL note instead of REG_EQUIV
+	note.  Check for and reuse old note if present.
+	* local-alloc.c (block_alloc): Convert REG_EQUAL to REG_EQUIV for
+	constant when register is only set once.
+	* loop.c (combine_movables, move_movables): Check for REG_EQUAL notes
+	instead of REG_EQUIV notes.
+	* optabs.c (expand_binop): Correct typo in writing REG_EQUAL note.
+	(emit_no_conflict_block): Suppress REG_NO_CONFLICT notes for
+	non-registers.
+
+Thu Jan 11 14:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i860.md (movsf): Ensure F to f is reloaded via r.
+
+	* expr.c (expand_increment): Don't call stabilize.
+
+Wed Jan 10 15:03:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): If old fn decl follows new ellipsis decl,
+	warn only if pedantic.
+
+	* loop.c (loop_skip_over): Do nothing if don't find expected compare.
+
+Tue Jan  9 21:31:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
+	The later call to find_equiv_reg can malfunction if CLOBBERs are
+	deleted.
+
+Mon Jan  8 17:48:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (link_command_spec): Always check gnulib both first and last.
+
+Mon Jan  8 17:07:25 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (expand_unop): Perform multi-word logical negation one
+	word at a time.
+	(expand_binop, expand_unop): Insert REG_EQUAL note on last insn of
+	multi-insn sequence.
+	Use TARGET_PIECE instead of TARGET in multi-word logical operations.
+	(emit_no_conflict_block): New fn.
+	(expand_binop, expand_unop): Call it.
+	(gen_add2_insn, gen_sub2_insn): Abort if operands do not match those
+	of the predicates for the appropriate generators.
+
+	* expr.h: Fix typo and define emit_no_conflict_block.
+
+Mon Jan  8 15:33:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* rtl.h (REG_UNSET): Fix the code.
+	* rtl.c (reg_note_name): Add REG_UNSET.
+
+	* c-decl.c (struct binding_level): parm_flag now 2 for def, 1 for decl.
+	(declare_parm_level): New parm distinguishes them.  All calls changed.
+	(pushdecl): Don't warn about shadowing with parm name in fn decl.
+
+Mon Jan  8 15:15:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_basic_block): Allow NOTEs between LOOP_BEG and jump to
+	end test.
+	(predecide_loop_entry): Accept JUMP_INSN rather than LOOP_BEG NOTE.
+
+	* reload1.c (gen_input_reload): When adding constant to register,
+	move the constant into the output, then add the register, rather than
+	the other way around.
+
+Mon Jan  8 12:20:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (components): Don't allow to be empty.
+	(component_decl): Special cases if empty, to call shadow_tag.
+	Recognize the semicolon here.
+	(component_decl_list): No semicolon here.
+
+	* c-decl.c (shadow_tag): Print warning if nameless structure defined.
+
+Sun Jan  7 19:09:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (output_constant): Use size of machine mode
+	to choose how to output the constant.
+
+	* varasm.c (immed_real_const_1): Detect 1 as well as 0.
+
+	* reload1.c (reload): When deleting reg_equiv_init insn,
+	also delete the prev insn if it is no longer needed.
+
+	* real.h (REAL_VALUE_FROM_CONST_DOUBLE, CONST_DOUBLE_FROM_REAL_VALUE):
+	New macros.
+
+	* reload.c (find_reloads_address_1): Preserve original X value
+	in case we replace it with new memory reference.
+
+	* optabs.c (expand_binop): Handle case of no previous insns.
+
+	* jump.c (jump_back_p): Check for floating point if not IEEE.
+
+	* global-alloc.c (dump_global_regs): Break the line occasionally.
+
+	* flow.c (mark_used_regs): Recognize post-decrement properly.
+	It looks like (plus REG -CONST), not (minus REG CONST).
+	Also, patch out old insn as a note in the usual way.
+
+	* calls.c (emit_call_1): Arg to RETURN_POPS_ARGS is FUNTYPE itself.
+
+	* expr.c (STACK_PUSH_CODE): New macro, which config.h can override.
+	(gen_push_operand): Use it.
+	(emit_push_insn): Reverse padding if pushing is post-increment.
+	(expand_expr): For MINUS, sign-extend negated value.
+
+	* emit-rtl.c (init_emit_once): Initialize new variables
+	fconst1_rtx, dconst1_rtx, dconst0, dconst1, dconstm1.
+
+	* cse.c (fold_rtx): For COMPARE and MINUS, test for floating zero arg.
+	Also handle equal floating args if FLOAT_NOT_IEEE.
+	For NEG, eliminate silly temp var.
+	For MULT and DIV, handle more cases with floating point.
+	Change division by floating constant into multiplication.
+
+	* config.gcc: Add i386-mach.
+	* xm-i386.h: Use built-in alloca if compiling with GCC.
+
+	* Makefile.in (c-parse.tab.o): Delete -o switch.
+	(cexp.o): Put in explicit command.
+
+	* combine.c (record_dead_and_set_regs): Ignore stack pushes.
+
+Sat Jan  6 15:33:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-mips.c (function_arg, function_arg_advance):
+	Define typedef for CUMULATIVE_ARGS, and use it here.
+
+	* c-parse.y (yylex): Put 0 at end of wide string.
+
+	* tm-mips.h (CC1_SPEC): Don't distort meaning of -O.
+
+Fri Jan  5 12:12:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c, expr.h: All use of umul_optab deleted.
+	* gnulib.c (__umulsi3): Deleted.
+
+	* gcc.c (link_command_spec): If LIBS_COMPILED_WITH_GCC, gnulib is last.
+
+	* Makefile.in (INTERNAL_CFLAGS): New parameter.
+	(ALL_CFLAGS): New variable, replaces CFLAGS when compiling.
+	(HOST_CFLAGS): Define from ALL_CFLAGS.
+
+	* Makefile.in (insn-*.o, cccp.o, others): Use CPPFLAGS.
+
+	* Makefile.in (gnulib): Add null command.
+
+Fri Jan  5 08:11:20 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst): When applying De`Morgan's law, compute NOT
+	of constant.
+
+	* integrate.c (save_constants, restore_constants): Clean up fns
+	by passing in a pointer to an rtx so that insns can be modified
+	in place.
+	(save_for_inline): Change call to save_constants.
+	Apply save_constants to REG_NOTES.
+	(expand_inline_function): Use emit_move_insn instead of generating
+	an explicit SET.
+	Apply copy_rtx_and_substitute to REG_NOTES.
+	(output_inline_function): Change call to restore_constants.
+	Apply restore_constants to REG_NOTES.
+
+Thu Jan  4 23:58:59 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile (c-parse.tab.o): Add explicit compilation cmd.
+
+Thu Jan  4 22:48:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (insert_regs, insert, use_related_value): Don't assume REG is
+	first in class.
+	(HASH): Handle register with HASHREG macro for speed.
+	(insert): No longer need equivalence_only.
+	Use COST macro.
+	(use_related_value): No longer need to check for valid address.
+	(find_best_addr): New function.
+	(fold_rtx): Remove copyflag argument and replace with insn.
+	Check for common cases before making recursive call.
+	Call validate_change to ensure change is valid, but always return
+	simplified expression.
+	Replace operand with folded operand, or constant operand, whichever
+	is cheaper and is valid.
+	Call find_best_addr for MEMs.
+	(fold_cc0): Add insn operand to pass to calls to fold_rtx.
+	(cse_insn): Rework to enumerate all possible equivalences and replace
+	source with cheapest valid.
+	Simplify associative operations with constants where an operand is
+	equivalent to the same operation with another constant.
+	Use validate_change for all changes.
+
+Thu Jan  4 17:58:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_end_loop): Put NOTE_INSN_LOOP_CONT at top by default.
+
+	* c-typeck.c (actualparameterlist):
+	Convert parmnum to origin-1 to print.
+
+	* Makefile.in (USER_H): Add float.h.
+
+Wed Jan  3 00:27:53 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib.c (__extendsfdf2): Delete unused var.
+
+	* reload1.c (alter_reg): Undo big-endian conversion from
+	assign_stack_local.
+
+	* calls.c (store_one_arg): Round size up for move_block_to_reg.
+	(expand_call): Round up when emitting USE insns.
+	* function.c (assign_parms): Round size up for move_block_from_reg.
+
+	* Makefile (install): Use nested foreach-loop to expand va*.h.
+
+Tue Jan  2 16:01:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* mips.md (call_value): Ignore calls to __builtin_saveregs.
+
+	* tm-mips.h (STARTING_FRAME_OFFSET): Change from -8 to 0.
+	(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Use new fns in out-mips.c.
+	* out-mips.c (prologue_looks, mips_prologue, mips_epilogue): New.
+
+	* gnulib2.c: Everything except arithmetic support moved from gnulib.c.
+	* Makefile.in (LIB2FUNCS, LIBFUNCS): Likewise.
+
+Sun Dec 31 20:10:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (struct tree_common): Declare `code' as char, not int.
+
+Thu Dec 28 13:49:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (includes): Set variable LIB.  Run from `./'.
+
+Wed Dec 27 18:54:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (eliminate_frame_pointer): Special case for reg = reg2+fp.
+
+	* loop.c (can_eliminate_biv_p, eliminate_biv): If add_val non zero,
+	it must be a constant or register.
+
+Wed Dec 27 18:11:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i860.md (load DF constant to reg): Typo: extra percent sign.
+	(floatsidf2): Two words of a double were backwards.
+
+Mon Dec 25 16:32:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* emit-rtl.c (emit_note_before): New function.
+	* stmt.c (expand_end_loop): Output NOTE_INSN_LOOP_CONT if none.
+	** Above change turned off.
+
+Mon Dec 25 00:02:31 1989  Torbj|rn Granlund  (tege at zevs.sics.se)
+
+	* tm-pyr.h (CONST_COSTS): Define more optimal costs.
+
+	* tm-pyr.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Should not be defined.
+	  The cvtdw instruction causes a trap for floating point values
+	  that are out-of-range for a signed int.
+
+	* tm-pyr.h (CONST_DOUBLE_OK_FOR_LETTER_P): Don't accept any
+	  special constraint chars, since we don't use any.
+
+	* tm-pyr.h (CONSTANT_ALIGNMENT): Correct comment.
+
+	* out-pyr.c (weird_memory_memory): Flush decl of unused variables.
+
+	* out-pyr.c (has_direct_base): Don't accept 0 as a base, if there
+	  is a register displacement.  This is a workaround of a bug in
+	  /bin/as.  (/bin/as changes things like "cmpw 8(reg),0(reg)" into
+	  "cmpw 8(reg),(reg)", which is invalid assembler.)
+
+Sun Dec 24 12:01:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (finish_struct): Ok to define nameless union in parms.
+	* c-typeck.c (compparms): Allow union vs its member's type,
+	but only if same size & union is nameless.
+	(comptypes): In that case, for a parm, prefer the member's type.
+	(actualparameterlist): Nameless union parm casts all its memb types.
+
+	* integrate.c (copy_decl_tree, copy_parm_decls): Set TREE_INLINE.
+	* c-decl.c (pushdecl): No shadow-warning if TREE_INLINE is set.
+
+	* dbxout.c (current_sym_code): Declare as enum; avoid warnings.
+
+Sat Dec 23 10:54:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (subst): Under NOT, move it inside AND and IOR.
+	Under XOR, move NOT out.
+
+	* toplev.c (set_target_switch): Handle multiple entries for one name.
+
+	* ns32k.md (adjust stack): Distinguish processor subtype at run-time.
+	(extract byte from register): Likewise.
+	* tm-ns32k.h (TARGET_32532, TARGET_32332): New target options.
+	* tm-encore.h, tm-sequent.h (TARGET_DEFAULT): Default them.
+
+Fri Dec 22 20:33:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (all): Move above where make-MACHINE is inserted.
+	(all.internal): Definition of `all' indirects through this.
+	(GNULIB): Variable allows rule for gnulib to be redirected.
+	(gnulib.portable): Name for the standard rule for gnulib.
+
+	* tm-mips.h (ASM_OUTPUT_SOURCE_FILENAME): New macro.
+	(REG_CLASS_SUBUNION, REG_CLASS_SUBCLASSES, REG_CLASS_SUPERCLASSES):
+	Obsolete macros deleted.
+
+Thu Dec 21 16:20:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fold-const.c (fold): Bug taking assignments out of conversions:
+	Use language-independent method.
+
+	* reload1.c (alter_reg):
+	Always do big-endian correction on slot address.
+
+	* i386.md (float push recognizers): Don't pop fpreg if not dead.
+
+Wed Dec 20 10:54:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* assert.h: Cast value to void.
+
+Tue Dec 19 09:42:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (link_command_spec): Put %l first.
+
+Tue Dec 19 08:59:43 1989  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
+
+	* genattrtab.c (get_attr_value): Initialize has_asm_insn field when
+	making a new attr_value.
+
+Sun Dec 17 12:06:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (digest_init, process_init_constructor, store_init_value):
+	Give error for each invalid element seen in an initializer.
+	New arguments say whether context wants error messages.
+	* c-parse.y (cast_expr): Pass new args.
+	* Unfortunately, this doesn't do the job, since the whole initializer
+	is parsed before any is digested.
+
+	* c-decl.c (duplicate_decls): Source loc of definition is
+	more important than that of declaration.
+
+	* cccp.c (include_defaults): On unos, also search /include.
+
+	* m68k.md (movsi, movhi, store-0 recognizer): Conditional for CRDS.
+	(mulhi3, mulhisi3, umulhi3, umulhisi3): Add % and CRDS conditional.
+	(zero-extend recognizers): Put % before period in clr insns.
+	(divide and modulus recognizers): Likewise for and, ext, swap and div.
+	(dbra recognizers): Likewise for sub and clr insns.
+	(tablejump recognizer): Conditional for CRDS.
+	* tm-crds.h, xm-crds.h: New files.
+
+	* gcc.c (read_specs): Don't include trailing newline in data
+	read from specs file.
+	(skip_whitespace): Empty line is a delimiter in specs data.
+
+	* cccp.c (grow_outbuf): Change value back to int.
+
+	* cse.c (cse_end_of_basic_block): Fix unterminated comment.
+
+	* cccp.c (main): Add `.C' as known suffix for deps output.
+
+	* expr.c (do_jump): Cast vector length to int in case will subtract.
+
+	* tm-att386.h (ASM_OUTPUT_LOCAL): Revert last change: put it data seg.
+
+	* reload.c (decompose): Make a separate case for SUBREG.
+
+	* Makefile.in (HOST_RTLANAL): Define like HOST_RTL.
+	(genattrtab): Use that to get at rtlanal.o.
+	($(HOST_PREFIX_1)rtlanal.o): New rule for cross-compilation.
+	(STAGESTUFF): Typo in stamp-attrtab.c.
+
+	* tm-hp9k320.h (CPP_PREDEFINES): Add __hp9000s300, _HPUX_SOURCE.
+
+	* stupid.c (reg_order): Make it int, in case reg # is large.
+	(stupid_reg_compare, stupid_life_analysis): Implement this.
+
+	* gnulib2.c (__floatdidf): Define WORD_SIZE.
+
+	* flow.c (find_basic_blocks): Don't clobber stack if no basic
+	blocks.
+
+Sat Dec 16 12:38:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (can_eliminate_biv_p, eliminate_biv): Check in case
+	neither side of a compare is the biv by itself.
+	(check_eliminate_biv): Test of only_reg_use_p was backwards.
+	(general_induction_var): If V is 0 and G is not,
+	combine additive terms with plus_constant, provided
+	either one of them is an integer.
+	Check both operands of a sum for being givs in their own right.
+	(strength_reduce): When eliminating a biv, don't mung insns that use
+	it via a giv that will be handled later.
+	(loop_skip_over): Duplicate an endtest that takes several insns.
+
+	* loop.c (strength_reduce): When writing insn to init a biv, 
+	update life range of reg used to init it.
+
+	* combine.c (try_combine): Do combine (y = x, x = y).
+
+	* loop.c (strength_reduce): When finding initial value of a biv,
+	notice assignments to subregs of it, etc.
+
+	* m68k.md (all shift patterns): Require register_operand for ops 0, 1.
+
+	* reload1.c (alter_reg):
+	Don't set spill_stack_slot_width if from_reg is -1.
+
+	* cse.c (cse_main): Delete local redef of flag_cse_follow_jumps.
+
+	* reload1.c (new_spill_reg): Fatal error if fixed reg is spilled.
+	(order_regs_for_reload): Make sure all the regs are in spill_regs.
+
+	* mips.md (movsf): Fix wrong opcode moving genreg to fpreg.
+
+	* toplev.c: Undef FFS after including param.h.
+
+	* final.c (final_scan_insn): Delete label reinsert_compare.
+
+	* expmed.c (store_bit_field): Move var value1 inside HAVE_insv.
+	(extract_bit_field): Similar for bitsize_rtx, bitpos_rtx.
+
+	* c-typeck.c (pointer_diff): Delete unused var.
+	* expr.c (emit_push_insn): Likewise.
+	* gcc.c (execute): Likewise.
+	* genrecog.c (try_merge_2): 
+	* loop.c (skip_consec_insns, scan_loop): 
+	* recog.c (asm_noperands, memory_operand):
+	* function.c (expand_function_end):
+	* stmt.c (emit_jump_if_reachable):
+	* toplev.c (error_for_asm):
+	* varasm.c (assemble_string):
+
+	* integrate.c (fp_addr_p): Var deleted.
+
+	* regclass.c (regclass_init): Now returns void.
+	* emit-rtl.c (emit_insns): Likewise.
+	* stmt.c (emit_nop): Likewise.
+	* out-sparc.c (output_eager_then_insn): Likewise.
+
+	* reload1.c (reload_reg_reaches_end_p, reload_reg_free_before_p):
+	(reload_reg_free_p): Abort if switch drops through.
+
+	* cccp.c: Supply a return type for every function (usually void).
+	(grow_outbuf): Now returns void.
+	(line_for_error): Abort if the loop terminates.
+	* gcc.c: Supply a return type for every function (usually void).
+
+	* jump.c (jump_optimize): Leave block-beg, block-end notes
+	in old context when swapping two ranges of insns.
+	(squeeze_block_notes): New function.
+
+	* calls.c (expand_call): Compute valreg from pointer type
+	in case of pcc struct return.
+
+	* gnulib2.c (__builtin_saveregs): Use __ names for machine types.
+
+	* fold-const.c (fold):
+	Move constant out of assignment, within conversion.
+
+Fri Dec 15 00:42:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (assemble_variable): Use new macro DATA_ALIGNMENT if def.
+	(get_or_assign_label): Use this instead of CONSTANT_ALIGNMENT.
+
+	* integrate.c (save_constant, restore_constant): Handle naked
+	constant-pool SYMBOL_REF.
+	(copy_for_inline, copy_rtx_and_substitute): Ditto.
+
+	* integrate.c (expand_inline_function):
+	Put caller's line number after inline stuff.
+	Put callee's line number before parm manipulation.
+
+	* tree.c (make_node): Have a DECL_SOURCE_FILE in every decl.
+
+	* m68k.md (fpa float and float-trunc): Accept general_operand.
+
+	* calls.c (expand_call): Do INIT_CUMULATIVE_ARGS just once.
+
+	* calls.c (expand_call): If struct ret addr is passed as parm,
+	count it in structure_value_addr_parm.
+
+	* If local-alloc assumes a reg does not conflict,
+	don't use it as dummy reload.
+	* local-alloc.c (wipe_dead_reg): Add REG_UNSET note.
+	* reload.c (find_dummy_reload): Check for that note.
+
+	* jump.c (jump_optimize): Realize that more things can follow
+	the NOTE_INSN_FUNCTION_END note.  Change in two places,
+	for optimized and one for unoptimized.
+
+Thu Dec 14 23:40:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (install, libsubdir): Change $(machine) to $(target).
+
+Tue Dec  5 07:35:57 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h: Declare emit_jump_insn_before and emit_jump_insn_after.
+
+	* reload.c (reg_class_subset_p): Delete duplicate copy.
+	local-alloc.c (reg_class_subset_p): Move from here.
+	regclass.c (reg_class_subset_p): Move to here.
+
+	* combine.c (try_combine): Fix placement and content of LAST_CALL_CUID
+	test to elminate memory faults.
+
+	* final.c (asm_insn_count): New fn.
+	(get_length_attr, shorten_branches): Rework length
+	computation of insns with INSN_CODE == -1.  Call above fn to more
+	accurately obtain length of ASM insn.
+
+	* genattrtab.c (check_attr_value): Allow CONST_INT to specify
+	numeric values for attributes.  Also, prevent memory faults
+	on errors when ATTR is null.
+	(make_canonical): Convert CONST_INT to appropriate CONST_STRING.
+	(write_attr_case): Correctly check for ASM insns.
+	(make_numeric_value): Generalize to all positive integers.
+
+	* jump.c (jump_optimize): Set JUMP_LABEL on jump added
+	in "{ ... x = 1;} if (x)" optimization and add to jump_chain.
+
+	* local-alloc.c (no_conflict_p): Tighten up code to prevent
+	memory faults.
+
+	* reload.c (find_reloads): Fix typo in EXTRA_CONSTRAINT call.
+
+Tue Nov 28 11:20:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* expr.c (save_noncopied_parts):  Rename stack_loc as target.
+	Make the stack slot address correct.
+
+Mon Nov 27 15:39:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* math-convex.h: New file.
+
+	* c-decl.c (grokdeclarator): Don't test size of error_mark_node
+	as type of a field.
+
+Sun Nov 26 12:36:01 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* tm-mips.h (CONST_OK_FOR_LETTER_P): Delete extra paren.
+
+Fri Nov 24 12:36:29 1989  Chris Smith  (csmith at mozart)
+
+	* tm-convex.h (OVERRIDE_OPTIONS): remove target=host default.
+	* out-convex.c (override_options): remove.
+
+	* tm-convex.h (*_TYPE_SIZE): define type sizes as the usual values. 
+	* convex.md (movstrictsi): new, for field insertion in DImode regs.
+
+	* tm-convex.h (LEGITIMATE_CONSTANT_P): allow all CONST_DOUBLES.
+	(PREFERRED_RELOAD_CLASS): reload nonimmediates from memory (NO_REGS).
+	* convex.md (movdi, movdf): use 'G' to handle nonimmediates.
+	(anddi3, iordi3, xordi3): allow immediates if high word is identity.
+
+	* convex.md (tstdi): Finally figure out how to allocate a temp reg
+	in a way that won't get optimized away; remove hardwired use of s1.
+
+	* convex.md (cmpqi): don't sign extend to SImode because operands
+	might be unsigned.  Must compare bytes in registers instead.
+
+	* convex.md (movtf): new.
+
+	* convex.md (ash*, lsh*): rewrite to use shift vs. shiftrt. 
+	Better code because no need to sign or zero extend when going left.
+	(shift, mask & test peephole): test next_insn_tests_no_inequality.
+	(similar with lshiftrt): New peephole.
+
+	* tm-convex.h: add g++ defines FASCIST_ASSEMBLER, VTABLE_USES_MASK.
+
+Sun Nov 26 11:39:13 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* reload.c (decompose): Handle SUBREGs.
+
+Wed Nov 22 11:26:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* pyr.md (mode conversion peepholes): Set CC_NO_OVERFLOW.
+	* out-pyr.c (consecutive_operands): Don't expect wrap from reg15 to 16.
+
+	* make-pyr: Find the alloca which comes with the system.
+
+	* tm-mips.h (CONST_OK_FOR_LETTER_P): Define `K'.
+	(SMALL_INT): Range is 16 bits, not 17.
+	(SMALL_INT_UNSIGNED): New macro.
+	* mips.md (andsi3, iorsi3, xorsi3): Use `K', not `I'.
+
+	* mips.md (negsi2): Accept general_operand as input.
+
+	* stor-layout.c (build_int): Defend against negative arguments.
+
+	* varasm.c (MAX_HASH_TABLE): Change to a prime.
+
+Tue Nov 21 10:58:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* mips.md (one_cmpl*): Accept general_operand as input.
+
+Mon Nov 20 11:18:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (emit_cmp_insn): New arg, COMPARISON.
+	(emit_float_lib_cmp): New subroutine, handles soft-float comoare
+	of floating point values.  Chooses ibrary fn from COMPARISON.
+	* expr.c, expmed.c, stmt.c, optabs.c: All calls changed.
+	* gnulib.c (__eqdf2, __nedf2, __gtdf2, etc.): New functions.
+	(__eqsf2, __nesf2, __gtsf2, etc.): New functions.
+
+	* cse.c (fold_rtx): Simulate negative shift counts.
+
+Sun Nov 19 14:36:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-pyr.c (notice_update_cc): Set CC_NO_OVERFLOW in many cases.
+
+	* cse.c (fold_rtx, fold_cc0): Handle float trap. 
+
+Sat Nov 18 00:17:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (output_constant): Handle float trap in fprintf.
+	* toplev.c (float_signal): Don't print message.
+	* fold-const.c (combine): Print it here.
+
+	* sparc.md (extend patterns): Handle CONST_INT as operand.
+	* out-sparc.c (output_block_move, output_mul_by_constant): 
+	(output_eager_then_insn): Delete unused vars.
+
+	* varasm.c (decode_rtx_const): Add a cast in SYMBOL_REF case.
+
+	* tm-i386.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE)
+	(INITIALIZE_TRAMPOLINE): New macros.
+	* i386.md (indirect_jump): New pattern.
+
+	* out-i386.c (singlemove_string): Fix paren error.
+
+Fri Nov 17 12:19:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_increment): For pre-increment, copy the rtx to return.
+
+	* c-parse.y (compstmt): There may be implicit decls, so check
+	and maybe keep the level.
+
+	* tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+	Use call_used_regs, not a private copy.
+
+Thu Nov 16 00:28:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c: Keep track of paradoxical subregs of each pseudo,
+	and make extra stack space for their sake.
+	(reload): Record max size paradoxical subreg for each pseudo.
+	(scan_paradoxical_subreg): New subroutine for that.
+	(reload): Make stack slots big enough for that size.
+
+	* tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Define it,
+	so we can output a no-op before each function.
+
+	* tm-pyr.h (INIT_CUMULATIVE_ARGS): Simplify.
+	Pass function type to aggregate_value_p.
+
+	* fold-const.c (fold):
+	For foo++ > const, don't change if foo++ could overflow.
+
+	* loop.c (eliminate_biv):
+	Fix typo; check both coeffs when comparing givs.
+
+Wed Nov 15 00:12:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (sdbout_end_function, sdbout_end_block, sdbout_begin_block):
+	Don't allow line numbers < 1.
+
+	* integrate.c (copy_for_inline): `break' was missing for case 'u':.
+
+	* sdbout.c (plain_type_1): Output .dim X,Y...; for multi-dim array.
+	(sdbout_array_dim): New recursive subroutine.
+	(PUT_SDB_DIM): Macro eliminated.
+	(PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): New macros.
+	* tm-3b1.h: Override PUT_SDB_START_DIM.
+
+	* jump.c (delete_insn): Extra test for PREV != 0.
+
+Tue Nov 14 17:31:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-m68k.h (WORDS_BIG_ENDIAN): Define it.
+	* out-m68k.c (output_move_double): Adapt CONST_DOUBLE case to that.
+
+	* varasm.c (decode_rtx_const): For SYMBOL_REF, use addr of string.
+
+	* tm-pyr.h (INIT_CUMULATIVE_ARGS):
+	If -fpcc-struct-return, always do the scalar thing.
+
+	* tm-sun3.h (LINK_SPEC): Specify -L to control choice of -lm.
+
+	* function.c (expand_function_end): Use FUNCTION_OUTGOING_VALUE.
+
+Sat Nov 11 00:18:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* calls.c (prepare_call_address): If NO_RECURSIVE_FUNCTION_CSE,
+	don't do function cse on calls to same function.
+	(emit_call_1): Don't call memory_address for SYMBOL_REF.
+
+	* tm-att386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
+	(ASM_OUTPUT_LOCAL): Likewise.  Also, generate .lcomm
+	rather than a .data area symbol.
+	* tm-sun386.h: Likewise.
+
+	* tm-bsd386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
+	(ASM_OUTPUT_LOCAL): Likewise.
+
+	* cexp.y (parse_escape): Delete unused var `count' from case 'x'.
+
+Fri Nov 10 15:04:15 1989  Richard Stallman  (rms at rice-chex)
+
+	* caller-save.c (emit_mult_restore, emit_mult_save):
+	Improve arithmetic for address to save at.
+
+Thu Nov  9 00:14:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-pyr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
+	Don't use obsolete pushw and popw insns.
+	(ASM_OUTPUT_ALIGN): Ensure arg in range 2 to 5.
+	* pyr.md (tstdi): Pattern deleted.
+	(SImode test recognizer): Output ucmpw if jump is unsigned.
+
+	* out-sparc.c (operands_satisfy_eager_branch_peephole): 
+	Check for moves between FP and non-FP regs; they take two insns.
+	* sparc.md (eager branch peepholes): Likewise.
+	(Ordinary delayed branch peepholes): Similar check.
+	* out-sparc.c (single_insn_extra_test): New subroutine.
+
+	* final.c (final_scan_insn):
+	Rearrange to avoid calling BLOCK_PROFILER for a jump table.
+
+	* reload1.c (choose_reload_regs): Split up a hairy if.
+
+Wed Nov  8 00:48:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* calls.c (expand_call): Handle UNNAMED_ARGS_IN_REGISTERS.
+
+	* toplev.c (main): Handle -gsdb to make sdb output when that and dbx
+	are both supported.
+
+	* combine.c (subst): In (sign_extend:M (subreg:N (and:M .. <const>) 0))
+	insist that constant be positive in mode N.
+	Also test mode N in similar zero_extend case.
+
+	* c-typeck.c (build_modify_expr): When assigning to COND_EXPR
+	put cast to void around precomputed rhs.
+
+	* calls.c (emit_call_1): Make funexp a valid address.
+
+Tue Nov  7 18:57:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_move_insn): If args in memory, make addresses valid. 
+
+	* rtl.h: Undefine FFS in case it was defined by the system.
+
+	* c-parse.y (combine_strings): Ignore warn_write_strings
+	if -traditional or -fwritable-strings.
+
+	* Makefile.in (gnulib2): Fix syntax in shell conditionals.
+
+	* stmt.c (expand_return): Handle COND_EXPR specially.
+
+Mon Nov  6 14:43:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (expand_float): Check sign of FROM; may be faster than TO.
+
+	* fold-const.c (fold): If REAL_INFINITY, allow division by zero.
+	* tm-sun3.h (REAL_INFINITY): Define it.
+
+	* tm-i860.h, tm-m88k.h, tm-pyr.h, tm-spur.h (INIT_CUMULATIVE_ARGS):
+	Test aggregate_value_p, not just BLKmode.
+
+	* gnulib2.c (__builtin_saveregs): Moved from gnulib.c.
+	Code added for mips.
+
+	* pyr.md (conditional branch recognizers): Don't simplify if not -O.
+
+	* out-pyr.c (extend_and_branch): Handle two constant operands.
+
+	* integrate.c (function_cannot_inline_p): Don't inline if alloca used.
+
+Sun Nov  5 02:59:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Always make a LET_STMT and notes for the top level of a function
+	if it has any subblocks.
+	* c-decl.c (struct binding_level): New field keep_if_subblocks.
+	(poplevel): Obey the new field.
+	(keep_next_if_subblocks): New variable.
+	(pushlevel): Use that variable.
+	(store_parm_decls): Set that variable.
+	(compstmt): Pass nonzero to expand_end_bindings
+	for the new kept binding levels.
+	(kept_level_p): New function.
+
+	* xm-mips.h: Define USE_C_ALLOCA if compiling with CC.
+
+	* tm-alliant.h (CHECK_FLOAT_VALUE): Define this.
+
+	* calls.c (expand_call): Make valreg 0 if passing structure address.
+
+Sat Nov  4 23:27:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* caller-save.c (emit_mult_save, emit_mult_restore):
+	Test regs for suitability as address before using as temps.
+
+	* cccp.c (make_definition, do_define): Better error checks for name.
+
+Fri Nov  3 01:05:04 1989  Torbj|rn Granlund  (tege at echnaton)
+
+	* pyr.md (tstdi): New pattern.  Use 64-bit shift with count zero.
+
+	* tm-pyr.h: -mretd pops args with the retd insn.
+
+	* pyr.md (peep-holes for loop optimizations): Use the R output
+	  format in PRINT_OPERAND, don't use output_branch.
+	* out-pyr.c: No need for functions output_branch, output_inv_branch.
+
+	* tm-pyr.h (ASM_OUTPUT_ALIGN): Don't truncate alignment to two.
+
+Wed Nov  1 00:38:27 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
+
+	* out-pyr.c (output_inv_branch): When reversing test operands, ne
+	  remains ne, and eq eq eq.
+
+	* pyr.md: Cleanup output code for compare patterns.
+
+	* pyr.md (return): Adjust frame pointer if
+	  current_function_pretend_args_size != 0.
+
+	* pyr.md (extendsidi2): Use general_operand for the input operand.
+
+	* pyr.md, out-pyr.c: Output shift insns with output_shift.
+
+	* tm-pyr.h, out-pyr.c: Make NOTICE_UPDATE_CC understand how
+	  condition codes are really set.  Define flag CC_VALID_FOR_UNSIGNED
+	  with to make it possible not to reset cc after each compare or
+	  test.
+	* pyr.md: Don't use CC_STATUS_INIT for most patterns.
+
+	* out-pyr.c (already_sign_extended): Cleanup, correct, optimize.
+
+	* out-pyr.c: rename radr_diff to constant_diff.
+
+	* out-pyr.c (movdi_possible): Don't combine moves from memory to
+	  memory, because of possible address aliasing.  Don't combine moves
+	  with register destination if the source operands are depending on
+	  the destination of the first move, as in
+
+	    movw (pr3),pr3
+	    movw 4(pr3),pr4.
+
+	* out-pyr.c (consecutive_operands): Handle SUBREG in addition to REG.
+
+	* out-pyr.c (output_move_double): movl of immediate *sign* extends.
+
+Tue Oct 31 22:51:39 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
+
+	* pyr.md (cmpsi): Don't expand this.  It's just slower.
+
+	* out-pyr.c (extend_and_branch): Handle only QImode and HImode.
+	  Flush code specific for SImode.
+
+	* out-pyr.c (extend_and_branch): To make zero extensions to HImode
+	  of constants not crash:
+	* out-pyr.c (ensure_extended): Call extend_const if it's a
+	  CONST_INT.  Don't call extend_const from extend_and_branch.
+	* pyr.md, out-pyr.md: Use global variable test_mode to determine the
+	  mode of tests and compares.  Set in define_expands for tests and
+	  compares.  Used in extend_and_branch.
+	* out-pyr.c: Pass mode between extend_and_branch and ensure_extended.
+
+	* out-pyr.c (extend_and_branch): Accept SUBREG whereever REG is
+	  accepted.
+	* out-pyr.c (weird_memory_memory): Accept SUBREG whereever REG is
+	  accepted.
+
+Thu Nov  2 16:23:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (lshrdi2, and other shifts): Take second arg as long long.
+
+	* combine.c (subst):
+	Simplify (zero_extract (subreg:SI (lshift:QI (mem:QI ...)) 0) ...)
+
+	* expr.c (do_jump): Don't discard NOP_EXPR from around COMPONENT_REF.
+	Put one on, if that allows extracting the component in natural mode.
+
+	* final.c (get_attr_length): Omit the body if no length attribute.
+
+	* Makefile.in (genattrtab): Use host-rtlanal.c as dep and to link.
+	(insn-attrtab.o): Use $(INCLUDES).
+
+	* cse.c: Include stdio.h.
+
+	* c-decl.c (finish_enum): Local `value' was declared and set wrong.
+
+	* Makefile.in (gen*.o): Find source files in $(srcdir).
+	(LIBDEPS, HOST_LIBDEPS): Don't use USE_ALLOCA.
+
+Wed Nov  1 00:05:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (init_function_start): Init max_parm_reg.
+
+	* varasm.c (compare_constant_1): For ADDR_EXPR, compare symbol name.
+	For PLUS_EXPR, etc., don't record code twice.
+	(record_constant_1): Likewise.
+
+	* expr.c (expand_assignment): Allow for overlap when storing into a
+	structure value area supplied by the caller.
+
+	* cse.c (remove): Handle an elt in the wrong bucket.
+
+	* function.c (fixup_stack_1): Avoid using move insn for address arith.
+
+	* out-sparc.c (output_mul_by_constant): Constant zero is legitimate.
+
+	* caller-save.c (emit_mult_restore, emit_mult_save):
+	Handle stack addresses which are invalid.
+
+	* cse.c (use_related_value): Don't abort if offset is 0.
+
+Tue Oct 31 15:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc (pyramid): Set $machine to pyr.
+
+	* calls.c (expand_call): Don't OK_DEFER_POP in is_const case.
+
+Mon Oct 30 17:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c (shorten_branches, init_insn_lengths):
+	Define unconditionally; conditionalize the contents, perhaps.
+
+Mon Oct 30 03:23:52 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+
+	* final.c (shorten_branches): New function.
+	(init_insn_lengths, get_attr_length): New functions.
+	* function.c (init_function_start): Call init_insn_lengths.
+	* recog.c (constrain_operands): Call alter_subreg if nec.
+	* toplev.c (rest_of_compilation): Call shorten_branches.
+	(compile_file): Init and print shorten_branch_time.
+
+Mon Oct 30 03:23:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (spill_regs): Make it short, not char.
+
+Sun Oct 29 00:53:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c (final_scan_insn): Delete no-op moves, even without -O.
+
+	* c-parse.y (yylex): Prevent warning for numbers that underflow.
+
+	* stmt.c (assign_parms): Convert stack addresses to valid addresses.
+	(validize_mem): New subroutine.
+
+	* c-decl.c (finish_enum): If -fshort-enums, round size up to match
+	some ordinary C integer type.
+	Compute precision properly when some values are negative.
+	Make type double precision when necessary.
+
+	* c-decl.c (lang_decode_option): Accept and ignore -fnotraditional.
+
+	* gcc.c (default_compilers): Pass -ftraditional to cpp as -traditional.
+
+	* DOLLARS_IN_IDENTIFIERS now has three values.  1 is now the default.
+	It means enable $ only with -traditional.  2 means enable unless -ansi.
+	* c-decl.c (lang_decode_option): Implement that.
+	* cccp.c (main): Likewise.
+	* tm-vms.h, tm-apollo68.h, tm-convex.h, tm-next.h:
+	Define DOLLARS_IN_IDENTIFIERS as 2.
+	* tm-pyr.h: Define it as 0.
+	* cexp.y (initialize_random_junk): Test DOLLARS_IN_IDENTIFIERS
+	for nonzeroness.
+
+	* stmt.c (check_for_full_enumeration_handling): Accept enum type
+	as argument (since was finding it incorrectly).
+	Delete special case for constant index.
+	(expand_end_case): Pass enum type; check for constant index.
+
+Sun Oct 29 00:53:46 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c (force_const_double_mem): Remove redundant code.
+	(record_constant_rtx): Use normal obstack since temporary data.
+	(force_const_mem): Don't output constant immediately.  Instead,
+	save it for new fn to write.  Also, make hash table mapping
+	internal label to desired constant.
+	(output_constant_pool): New fn to write constant pool.
+	(assemble_function): Call it.
+	(init_const_rtx_hash_table): Initialize new hash table and pool
+	chain and offset.
+	(find_pool_constant): New fn to map internal label SYMBOL_REF to
+	data about constant.
+	(get_pool_constant, get_pool_mode, get_pool_offset): New fns
+	using above fn to return data about constant pool labels.
+	* rtl.h: Define last three new fns.
+
+	* integrate.c (save_constants): New fn to convert constant pool
+	references to recognizable representation of constant that was
+	being used.
+	(save_for_inline): Call it.
+	(copy_for_inline, output_inline_function): Undo this for copy to
+	be compiled.
+	(restore_constants): New fn used in output_inline_function.
+	(copy_rtx_and_substitute): Make new constant pool entries for
+	constants in pool when fn was inlined.
+
+	* cse.c (cse_end_of_basic_block): Optionally make a "basic block"
+	that follows branches.  Now takes previous block as argument and
+	computes which branch to follow/fall through next.
+	(cse_main, cse_basic_block): Make compatible with above.
+
+	* toplev.c: Add new flag, -fcse-follow-jumps.
+	(rest_of_compilation): Pass dump file to cse_main.
+
+	* flags.h: Add flag_cse_follow_jumps.
+
+Sat Oct 28 01:24:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (emit_cmp_insn): Default MODE before computing CLASS.
+
+Fri Oct 27 16:25:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-next.h (__inline): define as macro for old 1.34 Next uses.
+
+Thu Oct 26 01:05:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* mips.md (compare/branch peepholes): Combine using match_operator.
+	* out-mips.c (relop, frelop, frelop_reversed): New functions.
+	* tm-mips.h (PRINT_OPERAND): New codes `C' and `N' for comparisons.
+	(ASM_OUTPUT_SOURCE_LINE): Output .loc--MIPS likes that.
+	(EXTENDED_COFF, NO_UNDERSCORES, USE_COLLECT): Define, for collect.c.
+	(COFF): Undefine, for collect.c.
+
+	* getattrtab.c: Rename define_asm_insn to define_asm_attributes.
+	* rtl.def: Likewise.
+
+Wed Oct 25 00:52:12 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.def: Add new RTL codes for insn attributes.
+	Change last operand of DEFINE_INSN and DEFINE_PEEPHOLE.
+
+	* rtlanal.c (rtx_equal_p): Add support for "V", "n", and "s" types.
+
+	* genoutput.c (output_epilogue): No longer output machine_info
+	stuff.
+	(process_template): New function.
+	(gen_insn, gen_peephole): Call process_template.
+	(fatal): Add more args.
+
+	* final.c: Allow called configuration macros to use attribute data.
+
+Wed Oct 25 00:52:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* rtlanal.c (rtx_equal_p): Handle operand types n, V, S.
+
+	* optabs.c (floattab): Record unsigned-float insns.
+	(can_float_p): New arg UNSIGNEDP.
+	(expand_float): Use those insns if available.
+
+Tue Oct 24 19:23:11 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattr.c, genattrtab.c: New files.
+	* Makefile.in (insn-attr.h, insn-attrtab.c):
+	New files made by those two.
+
+	* Makefile.in (insn-*.[ch]): Name the temp file `tmp-foo.c', etc.,
+	not `tmp-insn-foo.c'.
+
+	* combine.c (subst): Generalize simplification of
+	(zero_extend:M (subreg:N (zero_extract:M ...) 0)) and similar.
+
+Tue Oct 24 19:23:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (try_combine): Don't move a volatile asm.
+
+Mon Oct 23 01:45:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (try_combine): Don't install a subreg relating two modes
+	that aren't tieable.
+
+	* gnulib2.c (__fixdfdi): Declare __fixunsdfdi.
+
+	* combine.c: Make uid_cuid an int *.
+	(combine_instructions): Allocate as such.
+	* loop.c: Make uid_luid an int *.
+	(loop_optimize): Allocate as such.
+
+Sun Oct 22 20:35:55 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Call simplify_set_cc0_and for SIGN_EXTEND.
+	(subst): Start by putting constant last in commutative operations
+	and convert MINUS of a constant to PLUS.
+	Put CONST around any PLUS with 2 constants.
+	Simplify (minus <foo> (and <foo> (const_int -pow2))).
+	Handle (zero_extend (and ...)) when the and is nontrivial.
+	Convert (XOR (NOT x) (NOT y)) to (XOR x y).
+	Simplify (abs (neg <foo>)).
+	Simplify abs of something known positive.
+	Handle (zero_extend (truncate...)) using gen_lowpart.
+	Do it for sign_extend too.
+	Simplify (ZERO_EXTRACT (AND x) ...).
+	Simplify (ZERO_EXTRACT (ZERO_EXTEND z) ...), etc.
+	Extend "Extracting a single bit from result of shift" to SIGN_EXTRACT.
+	(ashiftrt (*shift <X> <c1>) <c1>) can be (sign_extend <X>)
+	(lshiftrt (*shift <X> <c1>) <c1>) can be (zero_extend (subreg <X>))
+	Do (lshift <X> (sign_extend <Y>)) on non-regs using gen_lowpart.
+	Eliminate AND in (lshift (and <X> <C1>) <C2>).
+	Use gen_lowpart in (lshift:m1 (zero_extend:m2 <X>) <C>).
+	Use gen_lowpart in (and x const) => (zero_extend (subreg x 0)).
+	(simplify_set_cc0_and): Ignore outermost SIGN_ or ZERO_EXTEND.
+	Handle constant bit number.
+	Try to get into SImode for bitfield jumps.
+
+	* recog.c (apply_change_group, validate_change): New functions.
+
+Sat Oct 21 00:51:49 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_end_of_basic_block): Optionally make a "basic block"
+	that follows branches.  Now takes previous block as argument and
+	computes which branch to follow/fall through next.
+	(cse_main, cse_basic_block): Make compatible with above.
+
+	* cse.c (new_basic_block): Don't assume sizeof (rtx) == sizeof (int).
+
+	* cse.c (make_new_qty, canon_hash): Add  sanity checks.
+
+	* cse.c (lookup_as_function): Don't assume VOIDmode == 0.
+
+	* cse.c (exp_equiv_p): For commutative operations, check both orders.
+	Detect unexpected operand-type letters.
+	Mode is significant for all codes.
+
+	* cse.c (fold_rtx): CONST_DOUBLE can also appear in DImode.  Verify
+	that floating-point is used before folding it.
+	Verify that the host's INT width is wide enough to do folding.
+
+	* cse.c (cse_insn): Treat each component of PARALLEL exactly the same
+	way as if it were standing alone.
+
+	* combine.c (combine_instructions): If an insn explicitly references
+	CC0, try to combine it with the previous insn.  Also, enable
+	combining an insn with two different insns whose results it uses.
+
+	* combine.c (try_combine): Ignore USE or CLOBBER parallel parts in
+	I2 and I1 as they are not functional.
+
+Sat Oct 21 00:51:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-pyr.c (extend_and_branch): Allow SUBREG like REG.
+	* pyr.md (mem-reg and reg-mem HI, QI patterns):
+	Don't match unless one arg is MEM.
+
+Sat Oct 21 00:28:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_decl): No more need to avoid >1 wd in one reg.
+
+	* tree.c (build_index_type): Copy precision from sizetype.
+
+	* reload.c (find_reloads_toplev): Don't truncate constant if bigger
+	than host word size.
+
+	* gnulib2 (__floatdidf, __fixunsdfdi): Use WORD_SIZE, not BITS_PER...
+	(WORD_SIZE): # of bits in a `long' on the target.
+
+	* genextract.c (gen_peephole): Use sizeof (rtx) copying operands.
+
+	* fold-const.c (force_fit_type): Use POINTER_SIZE for pointers.
+
+	* final.c (end_final, final_scan_insn): In sizes and aligns of
+	profiling vars and tbls, use INT_TYPE_SIZE for size of an int,
+	or give max alignment.
+
+	* expr.c (do_jump): Comparing constant arg vs 0, take # sig bits
+	from mode of data type.
+
+	* gcc.c: Add CC1PLUS_SPEC like CC1_SPEC.
+	(validate_all_switches, do_spec_1, process_command, read_specs):
+	Handle it.  Use %2 to use it.
+	(default_compilers): Pass %2 to cc1plus.
+
+	* out-sparc.c (output_fp_move_double): Use ldd only when safe,
+	on same conditions used for std.
+
+	* Makefile.in (USE_ALLOCA): New var is $(ALLOCA) if compiling with
+	cc, null otherwise.  Use this to refer to alloca.
+
+	* Makefile.in (gnulib): Test vrbl HPUX_GAS to decide whether to run
+	hpxt instead of ranlib.
+	(stamp-gnulib2): Don't ranlib if HPUX_GAS.
+	* make-hp9kgas: New file, sets HPUX_GAS.
+
+Fri Oct 20 13:33:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (store_bit_field, extract_bit_field):
+	Use mode whose size is UNITS_PER_WORD for struct in reg.
+	(store_fixed_bit_field, extract_fixed_bit_field):
+	Handle bigger constant masks.
+	(mask_rtx, lshift_value): New subroutines.
+
+	* c-parse.y (combine_strings): Use correct width of `int'.
+
+	* varasm.c (make_decl_rtl): Warn for volatile explicit register vars.
+
+Fri Oct 20 00:27:00 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_as_needed): Set new variable reload_in_progress
+	and clear it after reload complete.
+
+	* reload1.c (choose_reload_regs):
+	Don't count deleted reloads vs number of spill regs.
+
+	* reload1.c (choose_reload_regs): Arg of HARD_REGNO_MODE_OK
+	was the pseudo; should be the reload reg.
+
+	* reload1.c (gen_input_reload): Don't generate a move with a PLUS
+	as an operand.
+
+	* reload.c (find_reloads): Ignore unconstrained operands
+	when looking for conflict with an earlyclobber.
+
+	* reload.c (subst_indexed_address):
+	Replace and canonicalize more thoroughly.
+	(form_sum): New subroutine.
+
+	* out-i386.c (singlemove_string): Handle ordinary constants as input.
+
+	* tm-decstatn.h (CPP_PREDEFINES): Add bsd4_2, ultrix, MIPSEL, 
+	host_mips, R3000, LANGUAGE_C, SYSTYPE_BSD.
+	* tm-mips.h (CPP_PREDEFINES): Add host_mips, R3000, MIPSEB, LANGUAGE_C.
+	(CPP_SPEC): Remove those from here.
+	Define __SYSTYPE_*__ always.  Define SYSTYPE_* only if not -ansi.
+	No CPP_SPEC needed for decstation.
+	Correct typos in option tests.
+
+	* c-parse.y (unary_expr): Handle EXTENSION here, not in primary.
+
+Thu Oct 19 18:16:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-m68k.h, tm-alliant.h (PRINT_OPERAND):
+	Don't print :l for address if :w was already printed.
+
+	* Allow elided braces with unions.
+	* c-typeck.c (digest_init): Treat unions more like records.
+	(process_init_constructor): Handle union types.
+
+	* c-parse.y (program): Pedantic warning for empty file.
+
+Wed Oct 18 22:28:21 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
+
+	* out-pyr.c (extend_const, extend_and_branch): Make sure all const
+	  are CONST_INT.
+
+	* out-pyr.c (movdi_possible): Handle combination of two immediate
+	  moves correctly.  (Pyramid immediate move to a DImode operand
+	  (movl) work by SIGN extension of the 32 bit immediate source.)
+	* Handle CONST tagged addresses.
+
+	* out-pyr.c (already_sign_extended): Skip harmless JUMP_INSN when
+	  scanning after extension insn.
+	* Check for right mode of extension.
+	* Delete redundant register number test.
+
+	* pyr.md (anonymous SImode test pattern): Predicate need to accept
+	  any operand that can be generated for corresponding compare.  Used
+	  to reject "foo(p) int *p {int a=0; return *p==a;}".
+
+	* pyr.md (shift patterns): Condition bogus if no insn really output.
+
+	* pyr.md: Flush obsolete comment about conversion.
+
+	* tm-pyr.h (FUNCTION_PROLOGUE): Don't really set up a frame pointer
+	  if it's never referenced.  Also, don't round up frame size to a
+	  multiple of 32, since input args and alloca nevertheless breaks
+	  such alignment attempts.
+	* tm-pyr.h (FUNCTION_EPILOGUE): Goodbye.  Use (define_insn "return"
+	  ..) in md instead.
+	* pyr.md (return): Use "ret" or "retd" depending on the existense
+	  of a freme pointer.
+	* tm-pyr.h (EXIT_IGNORE_STACK): Ensure the stack pointer is
+	  preserved even when the frame pointer is not really set up.
+
+	* pyr.md: Reinsert move-and-test peep-hole optimization.
+
+	* pyr.md: Flush silly peep-hole optimizations for loops.  They were
+	  inverted optimizations.
+
+	* tm-pyr.h (NOTICE_UPDATE_CC): Make it identify the most important
+	  cases when set conditions codes can be used, without an explicit
+	  test.
+
+Wed Oct 18 13:01:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (default_compilers): Support -E on .h file.
+
+	* tm-mips.h (FUNCTION_PROLOGUE): Get rid of __0__gcc macro.
+	Store that value in frame_stack_difference.
+	(FUNCTION_EPILOGUE): Get rid of __0__gcc macro.
+	(FIX_FRAME_POINTER_ADDRESS): Use frame_stack_difference.
+	* out-mips.c (frame_stack_difference): Define here.
+
+	* gcc.c (default_compilers): Define __GNUG__ for g++.  
+
+Tue Oct 17 01:17:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i860.h (HAVE_PRE_INCREMENT): Undefine this.
+
+	* mips.md (movsf): New alternatives for r registers.
+	* tm-mips.h (FUNCTION_PROLOGUE): Handle big stack frames.
+	* out-mips.c (function_arg): Handle mode distinction for floating args.
+
+	* pyr.md (mtstsw pattern): Accept general_operand.
+
+	* Makefile.in (gcc): Force-move when installing new gcc.
+	(realclean): Delete Makefile.
+
+	* i860.md (movsf): New alternatives: allow loading r from F.
+	Prefer f-reg as reload when moving m from F.
+	* tm-i860.h (PRINT_OPERAND): Handle CONST_DOUBLE if SFmode.
+
+Sun Oct 15 14:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i860.md (movhi, movqi): Support moves to/from fp regs.
+
+	* stmt.c (expand_goto): USE both stack ptr and static_chain_rtx
+	just before jumping.
+
+	* sparc.md (tablejump peepholes): Fix paren error that no-op'd them.
+
+	* tm-sparc.h (*TRAMPOLINE*): Defined macros, but defns are wrong.
+	* sparc.md (indirect_jump): New pattern; plus peepholes.
+
+	* sparc.md (cse'd multiply): New pattern for mult. by -1.
+
+	* out-i860.c (load_opcode, store_opcode): Handle DImode and fp reg.
+
+	* toplev.c (compile_file): Always test TREE_USED and TREE_ADDRESSABLE
+	in identifier as well as in decl.
+	* c-decl.c (poplevel): Preserve TREE_ADDRESSABLE from local externs.
+	* c-typeck.c (mark_addressable): Don't set bit in identifier here.
+
+Fri Oct 13 00:12:46 1989  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
+
+	* flow.c (life_analysis): No need to think abt CONSIDER on first pass.
+
+	* flow.c (propagate_block): Remove duplicated code to update OLD.
+
+	* flow.c (mark_set_1): Handle nested SUBREG, SIGN_EXTRACT,
+	STRICT_LOW_PART, etc.  Also, always set subreg_p when setting
+	a bit field, even if modes are same.
+
+	* expr.c (expand_expr): Check for |= or &= of two bitfields of size 1.
+	Convert to test followed by assignment.
+
+	* rtl.def (INLINE_HEADER): Correct erroneous field types.
+
+	* rtl.h: Add definitions for saving flags in INLINE_HEADER.
+
+	* emit-rtl.c (gen_inline_header): Correct out-of-date arguments.
+	Add support for saving flags.
+
+	* integrate.c (save_for_inline): Save function flags.
+	Update comments.
+	(expand_inline_function, output_inline_function): Let machine-dependant
+	code view (or possibly modify) inlined insn, if desired.
+
+	* function.c (assign_stack_local): Don't set frame_pointer_needed or
+	invalid_stack_slot if assigning zero-sized area.
+
+	* stmt.c (fixup_var_refs_1): If the machine's SIGN_EXTRACT or
+	ZERO_EXTRACT insns can't accept a memory operand, fix them up.
+
+	* expr.c (do_jump): Look inside EQ_EXPR or NE_EXPR if one arg is 0.
+	Be smart about PLUS_EXPR, MINUS_EXPR, ABS_EXPR, REFERENCE_EXPR,
+	NEGATE_EXPR, rotation, CONVERT_EXPR.
+
+	* jump.c (reverse_condition): Make non-static.
+	(swap_condition): New routine.
+
+	* final.c (alter_cond): Use new swap_condition.
+
+	* expr.c (expand_expr): In cases where a jump will be generated, use
+	original_target because the registers won't be able to be merged due
+	to the jump.
+
+	* expr.c (expand_expr): Put constant last for PLUS.
+
+Fri Oct 13 00:12:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* recog.c (constrain_operands): Add case for `&'.
+
+	* tm-vax.h (TRAMPOLINE_TEMPLATE): Add a .word 0 at beginning.
+	(TRAMPOLINE_SIZE): Increase by 2.
+	(INITIALIZE_TRAMPOLINE): Copy reg mask from pure code to trampoline.
+	Jump into the pure code after the reg mask.
+
+	* expmed.c (expand_divmod): Use divmod insn for quotient if no div.
+
+	* expmed.c (extract_bit_field): With structure reg fetched from mem,
+	don't put in subreg if mode already correct.
+	(store_bit_field): Typo: had extzv, wanted insv.
+
+	* recog.c (init_recog): Set volatile_ok to 1.
+	(init_recog_no_volatile): Similar, but set volatile_ok to 0.
+	(recog_memoized): Don't set volatile_ok.
+	* reload1.c (reload): Call init_recog.
+	* combine.c (combine_instructions): Call init_recog_no_volatile.
+	* loop.c (loop_optimize): Likewise.
+	* cse.c (cse_main): Likewise.
+	* function.c (expand_function_start): Call init_recog_no_volatile
+	for the sake of predicates called from optabs.c.
+
+	* toplev.c (compile_file): Warn if fun declared static and used
+	but never defined.
+
+Thu Oct 12 01:48:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (macarg1): Count newlines even after backslash.
+
+	* c-decl.c (pushdecl): Don't warn for explicit extern
+	followed by static.  That case is useful for incomplete arrays.
+
+	* c-decl.c (grokdeclarator): Delete some junk about Pmode vs EPmode.
+
+	* tm-sparc.h (SELECT_RTX_SECTION): Test was backwards.
+
+	* reload.c (reg_class_subset_p): New function.
+
+Wed Oct 11 00:35:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* vax.md (indirect_jump): New pattern.
+
+	* c-parse.y (primary): Turn off pedantic after `__extension__'.
+	(hash, is_reserved_word, etc.): Recognize `__extension__'.
+
+	* expr.c (emit_library_call, expand_call): Make a SEQUENCE for
+	any needed USE insns and pass them to emit_call_1.
+	(emit_call_1): Place the passed SEQUENCE immediately before the
+	generated CALL_INSN even if gen_call made more than one insn.
+
+	* tm-seq386.h (DBX_DEBUGGING_INFO): Override this.
+	(HARD_REGNO_MODE_OK): Override this.
+
+	* c-typeck.c (build_conditional_expr): Supply missing layout_decl arg.
+
+	* dbxout.c (dbxout_symbol): Handle nested functions.
+
+Wed Oct 11 00:35:25 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c: Update jump_chain when insns change.
+	(jump_optimize): Leave room in jump_chain for some extra labels.
+	Record length in max_jump_chain.  Check this when updating.
+	When optimizing jump-to-return, delete from one chain and add to other.
+	When cross-jumping turns cond jump to simple one, add to new chain.
+	Zero jump_chain at end, so redirect_jump won't change it further.
+	(redirect_jump): Delete from one chain, add to another.
+	(do_cross_jump): Likewise.
+	(delete_from_jump_chain): New subroutine.
+
+	* cse.c: If `if (x != y) goto l;' fails to jump, assume x==y.
+	(reg_invaliate): Add new argument for when value isn't
+	changing, just its class.
+	(invalidate): Update reg_invalidate call.
+	(record_jump_equiv): New function.
+	(cse_insn): Call it.
+
+	* cse.c (cse_insn): Delete previous test based on
+	prev_insn_explicit_cc0 just as based on prev_insn_cc0.
+
+Tue Oct 10 00:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (push_reload, combine_reloads): Let two reloads share
+	if one's regclass is a subset of the other.
+
+	* Makefile.in: What depends in expr.h, depends on insn-codes.h also.
+
+Mon Oct  9 19:11:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (finclude): Close descriptor as soon as text is read.
+	Eliminate `success'; return directly after successful processing.
+	(do_include): Don't close descriptor here.
+
+	* tm-i386.h (REG_CLASS_FROM_LETTER): Don't define `S' letter.
+	It wasn't used; and now it means something else.
+
+	* tm-ns32k.h (REG_CLASS_FROM_LETTER): Don't define `r' here.
+	`r' is standard.
+
+Mon Oct  9 01:09:25 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (life_analysis): Ignore USEs and CLOBBERs when finding
+	redundant register copies.
+	* jump.c (jump_optimize): Do the same thing here.
+
+	* jump.c (mark_jump_label): Loop NOTEs aren't relevant after loop
+	optimization.
+
+	* integrate.c (copy_for_inline): Correctly handle RTL type "u".
+	* final.c (output_operand_lossage): Make non-static.
+
+	* recog.c (constrain_operands): Treat N, O, P like I, J, K, L, M.
+	For Q...U, use EXTRA_CONSTRAINTS if defined.
+	* reload.c (find_reloads): Likewise.
+
+	* rtl.c (copy_rtx, read_rtx, print_rtx): Handle operand type `V'.
+
+	* rtlanal.c (note_stores): Use variable Y instead of equivalent
+	slower expression.
+
+	* rtlanal.c (dead_or_set_p): Hard regs don't always have same RTX.
+
+	* rtlanal.c (may_trap_p): Don't use const0_rtx here.
+	So we can use this file in programs that don't have const0.
+
+Mon Oct  9 01:09:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Support language-specific tree codes.
+	* tree.c (standard_tree_code_type, standard_tree_code_length):
+	Renamed tables.  tree_code_type and tree_code_length are now pointers.
+	* tree.c (init_tree): Copy the tables to allocated memory.
+	* tree.c (tree_code_name): Move here from print-tree.c
+	and define like tree_code_type.
+
+	* rtl.c (print_rtl): Handle 0 as operand.
+
+	* emit-rtl.c (save_emit_status): Don't call init_emit here.
+	* function.c (push_function_context): Do it here.
+
+	* emit-rtl.c (reinstate_emit_status): New function.
+	* function.c (trampoline_address): Use this around
+	INITIALIZE_TRAMPOLINE.
+
+	* function.c (trampoline_address): Use fp->tail_recursion_reentry
+	when trampoline is in outer function.
+
+	* Save and restore stack levels in nonlocal gotos.
+	* function.c: New variable nonlocal_goto_stack_level.
+	(init_function_start, push_function_context, pop_...): Init, push, pop.
+	(delete_handlers): Delete insns to set or use this slot.
+	* stmt.c (declare_nonlocal_label): Create this stack slot.
+	(expand_goto): Restore stack ptr from it.
+	(expand_end_bindings, expand_decl): When setting stack ptr,
+	store new value here.
+	* expr.c (expand_builtin): Likewise, for alloca.
+	* calls.c (expand_call): Likewise.
+
+	* varasm.c (make_function_rtl): Rename nested functions for assembler.
+	* c-decl.c (start_function): Clear TREE_PUBLIC for nested function.
+
+	* tm-i860.h (*TRAMPOLINE*): Define macros.
+
+	* i860.md (movdi): accept F source in 2nd alternative.
+	Accept G source in 3rd.
+	(adddi3, subdi3): Typo in opcode of output.
+
+	* i860.md (indirect_jump): Added pattern.
+
+	* c-decl.c (lookup_label): Shadow label if it's wrongly inherited.
+	Set DECL_CONTEXT here, since nondeclared labels must be local.
+
+Sun Oct  8 01:38:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* function.c (expand_function_start): Copy static chain to pseudo
+	reg if chain is used.
+
+	* tm-mips.h (ASM_SPEC): Pass -nocpp to as.
+
+	* c-decl.c (grokdeclarator): Ignore variant differences
+	when preserving typedef types from being altered.
+
+	* Allow inner label scopes for ({...}).
+	* c-decl.c (push_label_level, pop_label_level): New functions.
+	* c-parse.y (stmt exprs): Call them.
+
+	* c-decl.c (lookup_label): Set DECL-SOURCE-LINE to locus of reference.
+	(poplevel): Use locus of reference in err msg for undef label.
+	(define_label): Use DECL_INITIAL as flag that label has been defined.
+
+	* function.c (expand_end_function): Delete nonlocal goto handlers
+	if no nonlocal gotos are actually received.
+	(delete_handlers): New function.
+
+	* flow.c (find_basic_blocks): Treat blocks as reachable
+	if headed by labels with LABEL_PRESERVE_P.
+	(insn_dead_p): Don't delete insns to set the frame pointer or arg ptr.
+
+	* m68k.md (indirect_jump): New pattern.
+
+Sat Oct  7 00:46:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (lookup_label): If label is nonlocal and wasn't declared so,
+	report error and return 0.
+	(shadow_label): New function.
+	* c-parse.y (goto stmt): Handle 0 returned by lookup_label.
+	(label_decl, label_decls): Parse forward-declarations of labels.
+	(pushlevel): Allow label declarations at start of compound stmt.
+
+	* rtl.h (LABEL_PRESERVE_P): New flag in CODE_LABEL.
+	* jump.c (jump_optimize): Increment LABEL_NUSES if that flag is set.
+
+	* stmt.c (any_pending_stack_level): New function.
+	(expand_end_bindings): If block has stack level or cleanups,
+	and this function has any nonlocal labels, make a nonlocal goto handler
+	for the block, and put it in effect during the block.
+	Set LABEL_PRESERVE_P on the handler's label.
+	(expand_goto): For a nonlocal label, restore its stack frame
+	and jump to current handler.
+
+	* function.c: New var nonlocal_labels lists labels ok for nonlocal.
+	Initted in init_function_start, pushed and popped with fcn context.
+	* stmt.c (declare_nonlocal_label): Put a LABEL_DECL on this list.
+
+	* output.h: Declare current_function_has_nonlocal_label
+	and sdb_begin_function_line.
+	* final.c: Don't declare them.
+
+	* function.c (current_function_has_nonlocal_label): New var.
+	(init_function_start): Init it.
+	(push_function_context, pop...): Save and restore it.
+	* flags.h: Declare current_function_has_nonlocal_label.
+	* stmt.c (expand_goto): Set it if nonlocal label.
+	* local-alloc.c (combine_regs): Don't tie call-crossing reg
+	to a non-call-crossing reg, if receive nonlocal gotos.
+	(block_alloc): Don't allocate pseudos that cross calls,
+	if receive nonlocal gotos.
+	* global-alloc.c (global_alloc): Don't even make an allocno for
+	a reg that crosses calls, if receive nonlocal gotos.
+
+	* function.c (init_function_start): Init function_call_count.
+	(push_function_context, pop_...): Save and restore it.
+	* calls.c (expand_call): Increment function_call_count.
+	* stmt.c (expand_{start,end}_bindings): Use this var
+	to determine whether there are any function calls in a block.
+	No need for a nonlocal goto handler if block has no calls.
+
+	* c-decl.c (define_label): Set DECL_CONTEXT.
+	Maybe push label on shadowed_labels.
+	(pop_c_function_context): Clear out labels in named_labels
+	and reinstall those in shadowed_labels.
+	Restore shadowed_labels.
+	(push_c_function_context): Push shadowed_labels.
+	(start_function): Clear shadowed_labels.
+
+	* function.c: New file, split from stmt.c.
+
+	* xm-mips.h: Use __builtin_alloca.
+
+Fri Oct  6 00:30:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Optimization of
+	`if (...) x = 1; else {...}  if (x) ...' got sense wrong sometimes.
+
+	* Makefile.in (stamp-gnulib2): depend on gcc, cc1, cpp via
+	gnulib2-indirect.
+
+	* tm-vax.h (TRAMPOLINE_SIZE,INITIALIZE_TRAMPOLINE,TRAMPOLINE_TEMPLATE):
+	Define macros.
+
+	* m68k.md (addsi3): Change ! to ? in lea alternatives.
+	Put them before the add-to-register alternative.
+
+	* reload.c (find_dummy_reload): Use PREFERRED_RELOAD_CLASS here
+	as in push_reload, so we make accurate predictions.
+
+	* c-decl.c (pushdecl): Don't set DECL_CONTEXT for function declaration
+	that isn't a definition.
+
+	* explow.c (fix_lexical_addr): Handle address that's just a base reg.
+
+	* expr.c (expand_expr, case VAR_DECL): No need for static chain
+	if var is static.
+
+	* reload.c (find_equiv_reg): Do let xregno be a pseudo reg,
+	but don't call HARD_REGNO_NREGS in that case.
+
+	* local-alloc.c (combine_regs): Set reg_qty[sreg] even if it was <0.
+
+	* c-decl.c (start_function): Clear named_labels.
+
+Thu Oct  5 00:30:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (find_equiv_reg): Don't let xregno be a non-hard reg.
+	Don't do OVERLAPPING_REGNO_P on a pseudo reg number. 
+
+	* Handle addresses of nested functions.
+	* New tm macros TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE,
+	ALLOCATE_TRAMPOLINE, TRAMPOLINE_TEMPLATE.
+	* expr.c (expand_expr, case ADDR_EXPR): Handle addresses of nested fns.
+	* stmt.c (trampoline_address): New function.
+	* varasm.c (assemble_trampoline_template): New function.
+
+	* i386.md (trunchiqi2, etc.): Output %1 with size of destination.
+	* out-i386.c (PRINT_REG): Support 'b' as CODE.
+
+	* combine.c (try_distrib): Make sure we don't move a reg use
+	across a store into that reg.
+
+	* reload1.c (order_regs_for_reload): Rate fixed regs at LARGE+2,
+	and explicitly used regs at LARGE+1.
+
+	* stor-layout.c (layout_record): Support BIGGEST_FIELD_ALIGNMENT.
+	* tm-vax.h (BIGGEST_FIELD_ALIGNMENT): Define it.
+	(BIGGEST_ALIGNMENT): Now always 32.
+
+	* stor-layout.c (build_int): When memoizing, make permanent nodes.
+
+Wed Oct  4 19:40:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* xm-i860.h: Missing file added.
+
+	* integrate.c (function_cannot_inline_p): Don't inline if > 100 bytes
+	of stack space, unless declared inline.
+
+Tue Oct  3 00:16:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (assign_outer_stack_local): New function.
+	(put_var_into_stack): Allocate stack slot in fn the variable is in.
+
+	* stmt.c (put_var_into_stack): If variable-size object is nonlocal,
+	put the pseudo with its address into the stack.
+
+	* calls.c: New file, split out from expr.c.
+	(expand_call): Pass static chain if fn wants it.
+
+	* Make put_var_into_stack handle vars of containing function.
+	* stmt.c (put_var_into_stack): Find the rtl chains for the
+	function that the variable belongs to.
+	(fixup_var_refs): New args FIRST_INSN, STACK and RTL_EXPS.
+
+	* Make DECL_CONTEXT the function a var is in, and set it right away.
+	* c-decl.c (store_parm_decls): Use DECL_RESULT, not DECL_CONTEXT,
+	as the flag for duplicate names or missing names.
+	* c-decl.c (start_function): Don't set current_function_decl
+	till after calling pushdecl.
+	* c-decl.c (pushdecl): Set DECL_CONTEXT to current_function_decl.
+	(poplevel): Used to set it here, to the LET_STMT.  Don't.
+	* stmt.c (init_function_start): Test for a FUNCTION_DECL in
+	DECL_CONTEXT, not for a LET_STMT.
+
+	* c-parse.y (primary <- identifier): Set TREE_NONLOCAL if appro.
+	Also call mark_addressable.
+
+	* stmt.c (expand_function_start): Store static chain into stack frame.
+	Fetch static chains of containing functions into pseudos.
+	(lookup_static_chain): Moved here; and really does something.
+	* expr.c (expand_expr): Handle nonlocal variable.
+	* explow.c (fix_lexical_addr): New function.
+
+	* out-i386.c (fp_pop_int): Use %L0 in fistp insn.
+
+	* global-alloc (find_reg): Fix typo marking new hard reg conflicts.
+
+	* stmt.c (pushcase, pushcase_range, expand_end_case):
+	When warning about insns at start of case, don't mind NOTEs.
+
+	* local-alloc.c (combine_regs):
+	Transfer all pseudos from SREG's old qty to its new qty.
+
+	* Support nested functions:
+	* stmt.c (push_function_context, pop_function_context): New functions.
+	* tree.c (save_tree_status, restore_tree_status): New functions.
+	* stor-layout.c (save_storage_status, restore_storage_status): Ditto.
+	* expr.c (save_expr_status, restore_expr_status): Ditto.
+	* emit-rtl.c (save_emit_status, restore_emit_status): Ditto.
+	* c-decl.c (push_c_function_context, pop_c_function_context): Ditto.
+	(start_function, finish_function): New arg NESTED.
+	* c-parse.y (nested_function, notype_nested_function): New nonterms.
+	(decl): New alternative to use them.
+
+	* tree.h: Declare lineno.
+	* c-decl.c (finish_function): Don't expect lineno as arg.
+	* c-parse.y (fndecl, *nested_function): Don't pass it.
+
+	* expr.c (init_expr, expand_call): Delete may_call_alloca.
+	* tm-m88k.h, tm-sparc.h, tm-spur.h: Use current_function_calls_alloca.
+	* tm-mips.h: It wasn't really used; delete its declaration.
+
+Mon Oct  2 16:26:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns): Reject any OLDEQUIV that is
+	in use in any other reload of this insn.
+
+	* expr.c (expand_call): Don't put on notes for const functions
+	if there aren't real insns to hold them.
+
+Sun Oct  1 19:50:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Handle PARALLEL in CALL_INSNs
+	when setting follows_call.
+
+	* mips.md (call_value): Change to a straightforward define_insn
+	with just one action--no PARALLEL.
+
+	* i860.md (pfeq, pfgt and pfle patterns): Add f0 as 3rd arg.
+
+	* integrate.c (save_for_inline): Don't delete NOTE_INSN_FUNCTION_END.
+
+	* c-parse.y (simple_if): Return $$ as value of stmt_count.
+	(stmt (if statement)): Warn if $$ was not incremented in the body.
+	(stmt (else statement)): Likewise.
+	(stmt): All alternatives except null statement increment stmt_count.
+
+Fri Sep 29 08:56:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* regclass.c (reg_class_record): If move between CLASS and GENERAL_REGS
+	is costly, charge that cost to GENERAL_REGS and its subclasses.
+	* tm-alliant.h, tm-m68k.h (REGISTER_MOVE_COST): New macro.
+
+	* regclass.c (regclass): When a reg is a parm equiv to a stack slot,
+	decrease its memcost, since the insn to load it would go away.
+
+	* global-alloc.c (find_reg): Rewrite two-pass hard reg preference code.
+	Uses regs_used_so_far to avoid allocating a reg not used elsewhere
+	in the first pass.  Also updates regs_used_so_far.
+	(global_alloc): Initialize regs_used_so_far.
+
+	* tm-next.h (LINK_SPEC): Typo for -Z option.  Don't pass -M option
+	to ld, since that is for cpp.
+
+	* Support -MD and -MMD options.
+	* gcc.c (default_compilers): Pass them to cpp in special way.
+	Don't inhibit compilation for them, only for -M and -MM.
+	* cccp.c (main): Handle them like -M and -MM except take arg
+	which is file name to write deps in.
+
+	* toplev.c: #if 0 around everything for GDB_DEBUG.
+	* symout.c: File removed from distribution.
+	* Makefile.in: Don't try to compile or link it.
+
+	* tm-hp9k320.h (ASM_FILE_START): Output a `version' pseudo-op.
+	[! HPUX_ASM] (ASM_SPEC): Don't use the -V option.  Recognize -mc68000.
+	(CALL_USED_REGISTERS): Redefinition deleted.  HPUX 6.5 doesn't need it.
+	* tm-hp9k310.h, tm-hp9k310g.h: New files.
+
+Thu Sep 28 12:57:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (pushcase, pushcase_range): Warn if code was emitted inside
+	case stmt before 1st label is seen.
+	(expand_start_case): New arg is string to use in that warning.
+	(struct nesting): New fields printname and seenlabel.
+	* c-typeck.c (c_expand_start_case): Pass new arg to expand_start_case.
+
+	* gcc.c: Can now read compilation specs, and asm_spec (etc), from file.
+	(cpp_spec, asm_spec, etc.): New variables, initted to corresp. macros.
+	(do_spec_1, validate_all_switches): Use the variables, not the macros.
+	(link_command_spec): New name for old link_spec.
+	(compilers, n_compilers): Now a pointer, with size of vector ptd to.
+	(default_compilers): New name for old `compilers' vector.
+	(read_specs): Given file name, read specs and add to `compilers'.
+	Also set cpp_spec, asm_spec, etc.
+	(skip_whitespace): New subroutine.
+	(main): Initialize `compilers' from `default_compilers'.
+	Find a specs file and call read_specs.
+	Search thru `compilers' from back to front.
+	* Makefile.in (install): Use gcc -dumpspecs to write a specs file.
+
+	* Support multiple installed compilers; find them by
+	target machine and version.
+	(STANDARD_EXEC_PREFIX): Change to `.../gcc/'.
+	(standard_exec_prefix_1): Change to `.../gcc/'.
+	(process_command): Options -b and -V set spec_machine, spec_version.
+	Option -dumpspecs writes specs file to define cpp_spec, asm_spec, etc.
+	Option -dumpversion writes version number.
+	(main): Set machine_suffix from spec_machine and spec_version.
+	* Makefile.in (libsubdir): New variable, made from libdir.
+	(gcc.o): Define DEFAULT_TARGET_MACHINE macro in compilation.
+	Change value of STANDARD_EXEC_PREFIX as above.
+	(cccp.o): Use libsubdir.
+	(install): Install files under $(libsubdir), after making that dir.
+
+	* reload.c (decompose): Handle case of pseudo with no hard reg.
+
+Wed Sep 27 01:20:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* global-alloc.c: #if 0 handling of REG_NO_CONFLICT notes.
+
+	* c-typeck.c (build_c_cast): Implement cast to union type.
+
+	* Edit the makefile automatically when necessary.
+	* config.gcc: Produce Makefile by editing Makefile.in with sed.
+	* Makefile.in: New name for file `Makefile'.
+	Comments on editing the file deleted.
+	* config/make-*: Various files are inserted by sed into Makefile.
+
+	* Provide a way for languages to control printing of function names.
+	* toplev.c (error, fatal, announce_function, etc.):
+	Use value of decl_printable_name to compute what name to print.
+	* stmt.c (init_function_start): Likewise.
+	* toplev.c (main): Init that variable.
+	(decl_name): New function, used by default.
+
+	* explow.c (round_push): Fix typo: return fast if ALIGN is 1.
+
+	* flow.c (dump_flow_info): Delete excess arg to fprintf.
+	* gcc.c (fatal): Delete excess arg to delete_temp_files.
+
+	* expr.c (convert_move): Handle absence of integer truncate insns
+	by copying value to a reg (and then using subreg).
+
+	* final.c (final_start_function): Do leaf-function register renumbering
+	if that is defined for this machine.
+	(leaf_renumber_regs, only_leaf_regs_used, leaf_function_p): New fns.
+
+	* varasm.c (in_text_section): New function.
+	* tm-3b1.h (ASM_OUTPUT_SKIP): Use that.
+
+	* stmt.c (case_index_expr_type): New function.
+
+	* c-parse.y (maybe_attribute): Don't fail to return a value.
+
+Tue Sep 26 02:40:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Do auto-increments for hard regs.
+	* flow.c (mark_used_regs): Do set reg_next_use for hard regs.
+	When making an auto-increment for a hard reg, don't mess with
+	reg_n_refs or reg_n_sets.
+	(try_pre_increment_1): Likewise.
+
+	* gcc.c (compilers): -undef inhibits predefined symbols.
+
+	* combine.c (subst): In case EQ, prefer ZERO_EXTRACT, not SIGN_EXTRACT.
+	* vax.md (jbs, jbc patterns): Write with ZERO_EXTRACT.
+	* m88k.md: Likewise.
+
+	* Merge C++ changes in stmt.c:
+	* Set up an obstack, stmt_obstack.
+	(ALLOC_NESTING): Allocate a `struct nesting' on that.  Callers changed.
+	(POPSTACK): Use the obstack.
+	(init_stmt): New fn: init the obstack.
+	(any_pending_cleanup): New fn.
+	(expand_start_bindings): Leave outer_cleanups 0 if nothing in it.
+	(expand_end_bindings): Preserve some global vars around cleanups.
+	After cleanups, if no stack level to restore, do pending pops.
+	(fixup_cleanups): Do pending pops after the cleanups.
+	(expand_start_case): Don't output a NOTE if already have one.
+	(assign_parms): Speed up sizetree computations in common case.
+	(init_function_start): Use lang_printable_name for current_function_name.
+	(expand_function_end): Don't set REG_FUNCTION_VALUE_P
+	for a pseudo reg used to copy into the real return.
+	* toplev.c (compile_file): Call init_stmt.
+
+	* c-typeck.c (commontype): If one arg is error_mark_node, return other.
+
+Mon Sep 25 12:13:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (expand_binop): Handle boolean ops on >SImode with
+	several one-word insns.  Put out REG_EQUAL and REG_NO_CONFLICT notes.
+	* global-alloc.c (global_conflicts): For each insn, record
+	in no_conflict_pairs all the REG_NO_CONFLICT notes of the insn.
+	(record_one_conflict): Don't mark a conflict between such a pair.
+	* local-alloc.c (block_alloc): Do combine_regs on the sequences
+	made by expand_binop for multi-word boolean ops.
+	(combine_regs): New arg ALREADY_DEAD is 1 if UREG died prior to INSN.
+	(no_conflict_p): New subroutine.
+	* combine.c (try_combine): Move REG_NO_CONFLICT notes like REG_INC.
+	* flow.c (life_analysis): Don't delete no-op moves
+	if they carry REG_EQUAL notes.  These insns are needed later.
+	* reload.c (find_dummy_reload): Use actual operands (which may be
+	subregs) for most purposes, including checking for overlap.
+	(hard_reg_set_here_p): Handle a range of regnos, not just one.
+
+	* loop.c (move_movables): Use special techniques to move regs
+	used for zero-extension.  Don't combine matching regs; instead,
+	just record them in pairs in regs_may_share.
+	* global-alloc.c (global_alloc): Digest regs_may_share into a
+	vector, reg_may_share.  Then assign matching regs the same allocno.
+	(global_alloc): Initialize allocno_n_refs, allocno_live_length,
+	allocno_calls_crossed.
+	(allocno_compare): Use those new vectors; don't use allocno_reg.
+	(find_reg): Use those new vectors.
+	Assign hard reg to all the pseudos that share the allocno.
+
+	* jump.c (jump_optimize): Two new cases simplify jumping to or
+	falling into a test-and-branch after setting the register being tested.
+	* jump.c (get_label_before, get_label_after): New functions.
+	(do_cross_jump): Use get_label_before.
+
+Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (__fixunsdfsi): Defined here, not in gnulib.c.
+	* Makefile (LIBFUNCS, LIB2FUNCS): Corresponding change.
+
+	* tm-i860.h (SDB_DEBUGGING_INFO): Define this, not SDB_...
+
+	* gcc.c (link_spec): Don't specify -lg.
+	* tm-alliant.h, tm-convex.h, tm-hp9k3bsd.h, tm-isi68.h, tm-news.h
+	* tm-pyr.h, tm-seq386.h, tm-sequent.h, tm-sparc.h, tm-spur.h
+	* tm-sun2.h, tm-sun3.h, tm-sun386i.h, tm-tahoe.h, tm-vax.h:
+	Make LIB_SPEC link with -lg.
+	* tm-harris.h, tm-vaxv.h, tm-vms.h: Turn off inherited LIB_SPEC.
+
+	* recog.h (insn_*): Declare these tables `const'.
+	(const): Define this as nothing, if not __STDC__.
+	* expr.h (insn_gen_function): Declare `const'.
+	(const): Define this as nothing, if not __STDC__.
+	* genoutput.c (main): In insn-output.c, don't define `const' if
+	already defined.
+
+	* recog.c (offsettable_nonstrict_memref_p): New function.
+	* stmt.c (fixup_var_refs_1): Use that, not offsettable_memref_p.
+	* reload.c (find_reloads): Likewise.
+
+	* integrate.c (save_for_inline): Set in_nonparm_insns when arrive
+	at the first nonparm insn.
+	(copy_for_inline): Set TREE_READONLY only if in_nonparm_insns.
+
+	* Makefile (float.h): Make hard-params an ordinary dependency.
+
+	* c-decl.c (poplevel): When popping a local extern decl,
+	save the TREE_USED bit in the identifier.
+	* toplev.c (compile_file): Check that, printing "not used" warnings.
+
+	* c-parse.y (init_lex): Discard undesired reserved words from table.
+	(yylex): No need to check for them at lookup time.
+
+	* tree.c (make_node): Always put PARM_DECL in saveable_obstack.
+
+	* toplev.c (floor_log2, exact_log2): Rewritten for speed.
+
+	* tree.c (listify): New function.
+
+	* c-typeck.c (convert_for_assignment): New args for function being
+	called and argument number.  Used in error messages.
+	(actualparameterlist): Pass those args usefully.
+	(wrn_for_assignment): New function.
+
+	* loop.c (general_induction_var): Handle give copied from a biv.
+
+	* i386.md (div*i3, udiv*i3): New patterns.
+	(divmodhi4, udivmodhi4): New patterns.
+
+	* combine.c (subst):
+	Simplify (sign_extend:M (subreg:N (lshiftrt:M REG CONST) 0))
+	when REG was assigned from (zero_extend:M (any:N ...)).
+	Make the similar (zero_extend:M ...) case share code.
+
+	* expr.c (store_field): A frame-pointer-relative address is stable.
+
+	* expr.c (expand_expr): Effectively pass on IGNORE for 2nd op of comma.
+
+Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.36 released.
+
+	* genextract.c (main): Pass `insn' as arg to `fatal_insn_not_found'.
+
+	* tahoe.md (casel patterns): Use %@ for operand of .align.
+	* tm-tahoe.h (PRINT_OPERAND): %@ prints `1'.
+	* tm-harris.h (PRINT_OPERAND): Redefine it; %@ prints `2'.
+
+	* config.gcc (decstation): New entry.
+
+	* tm-harris.h: New file, using tm-tahoe.h.
+
+	* tm-decstatn.h, tm-mips-bsd.h, tm-mips-sysv.h: New files.
+
+Sat Sep 23 00:28:14 1989  Alain Lichnewsky  (lich at glenlivet)
+
+	* added -Zxxx flag in tm-mips.h. (-Z stands for systype)
+
+	  used as -ZSYSV or -ZBSD43 on RISC_OS. I suppose
+	  that at somepoint -ZPOSIX might be required for Ultrix. 
+
+	* changed command issued to loader to set -systype and to get
+          crt1 crtn instead of crt0.
+
+        * changed predefines for cpp to agree with RISC-OS
+
+	* tm-mips.h checks for machine type ( defined(ultrix) == DECSTATION)
+	  so that user does not have to go in and change tm-mips.h anymore
+
+	* cpp defines mips host_mips unix and SYSTYPE_SYSV
+	  or SYSTYPE_BSD43. 
+
+Fri Sep 22 00:31:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* pyr.md (andsi3): Flush spurious paren.
+
+	* Makefile (hard-params): Don't use LIBS or LIBDEPS.
+
+	* rtl.c (init_rtl):
+	Use malloc to allocate the string for format of CONST_DOUBLE.
+	Don't fail to store in rtx_format.
+
+Thu Sep 21 00:33:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* print-tree.c (dump): Move decl of P in REAL_CST case.
+
+	* fold-const.c (fold): For ABS_EXPR, handle REAL_IS_NOT_DOUBLE.
+
+	* c-convert.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
+
+	* mips.md (movdi): Handle constant with or without WORDS_BIG_ENDIAN.
+	For alternative 2, output just 2 store insns, not 3.
+
+	* dbxout.c (dbxout_symbol): Optionally go to .data for
+	a static file-scope variable.
+	* tm-vax.h: Define DBX_STATIC_STAB_DATA_SECTION to request this.
+
+	* varasm.c (output_constant, force_const_mem):
+	ASM_OUTPUT_DOUBLE_INT now takes rtx as argument.
+
+	* gvarargs.h [__NeXT__]: Undefine macros defined by stdardg.h.
+	Define _VARARGS_H.
+
+	* stddef.h (size_t): Don't define it if _SIZE_T macro is defined.
+	(NULL): Undef any previous defn.
+
+	* cexp.y (NULL): Don't define if already defined.
+
+	* emit-rtl.c (force_next_line_note): New function.
+	* stmt.c (expand_function_start): Call that just before returning.
+
+Wed Sep 20 01:22:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (asm_clobbers):
+	Allow string concatenation: call combine_strings.
+
+Mon Sep 18 00:04:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_call): If calling const function, don't defer
+	pops for this call.
+
+	* c-parse.y (yylex): When float constant ends in `f',
+	actually truncate to a single-float.
+
+Sun Sep 17 01:36:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (SWITCH_TAKES_ARG): -A takes an arg.
+	(link_spec): Inhibit start files when -A.
+
+	* convex.md (call, call_value): Supply dummy arg to RETURN_POPS_ARGS.
+
+	* gnulib2.c (__fixunsdfdi): After removing top half, A can be neg.
+	(__cmpdi2, __ucmpdi2): Was misusing macros HIGH and LOW--
+	use .s.high and .s.low to extract words from long_long.
+
+	* Makefile (gnulib2): Run `./gcc'.
+
+	* Makefile (float.h): Use `make', not `$(MAKE)'.
+	(hard-params.o): Use `$(srcdir)' in deps as in commands.
+
+	* out-tahoe.c (output_move_double): Handle constant operand 1.
+
+Sat Sep 16 01:15:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns): Put death note for input reload reg
+	even if reload was inherited.
+
+	* out-i860.c (output_block_move): Typo loading size of block.
+
+	* m68k.md (dbra patterns): Do CC_STATUS_INIT.
+
+	* cse.c (fold_rtx): Check GET_MODE_CLASS before floating negate.
+
+Fri Sep 15 00:39:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (subst): Don't combine (subreg (mem))
+	if subreg's mode is wider than mem's mode.
+
+Thu Sep 14 04:33:51 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile (clean): Delete temp files used in making gnulib.
+
+	* tm-next.h (LINK_SPEC): Pass -Z and -seglinkedit options.
+
+Tue Sep 12 01:06:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for ints.
+
+	* mips.md (cmpsi + bleu peephole): Should output unsigned insn.
+
+	* expmed.c (store_bit_field, extract_bit_field): If loading mem
+	into reg for bit field insn, don't use a larger mode than insn wants.
+
+	* Makefile (stamp-gnulib2): Depend on gcc, cc1, cpp to avoid
+	wrong order of making when parallel.
+
+	* Makefile (float.h): Do use $(MAKE) to run recursive make.
+
+Mon Sep 11 00:49:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (main): Test for missing arg after -o, etc.
+
+	* tm-next.h: Nearly completely new.
+
+	* gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move after config.h.
+
+	* cccp.c: Cast some args to strcpy and strcat.
+
+	* genoutput.c (error): Declare arg S.
+
+	* tm-pyr.h, pyr.md, out-pyr.c, xm-pyr.h: New files.
+	* config.gcc: New item for pyr.
+
+	* gvarargs.h: If __pyr__, use va-pyr.h.
+
+Sun Sep 10 00:48:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (inc_for_reload): Really return the first of the insns.
+
+	* stor-layout.c (build_int): Memoize size nodes for sizes <= 32.
+
+	* loop.c (check_dbra_loop): Don't reverse a biv that is used
+	in between its update and the loop endtest insn.
+
+Sat Sep  9 02:10:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (genop): Don't use `combine' for nonexplicit constants.
+	Handle some identity elements, etc., directly.
+	(layout_basetypes): Function deleted.
+	(layout_record): Ignore any TYPE_DECLs in the fieldlist.
+	Don't do PCC_BUTFIELD_TYPE_MATTERS hack on field with ERROR_MARK type.
+	(layout_union): Delete error check for base types.
+	Ignore any TYPE_DECLs in the fieldlist.
+	(layout_type): Copy layout info directly into all variants of type.
+	Delete unused local `x'.
+
+	* mips.md (movdi): Handle constant source operand.
+	(movsi): Some output code moved to output_load_immediate.
+	* out-mips.c (output_load_immediate): New function.
+
+	* config.gcc (iris): Use tm-iris.h and xm-iris.h.
+
+	* integrate.c (copy_for_inline): Copy all nonconstant MEM addresses.
+
+	* tm-3b1.h (ASM_OUTPUT_SPACE): New override defn, to output explicit
+	bytes of 0 if in text segment.
+
+Fri Sep  8 19:15:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (try_combine): Don't do i3dest stuff if i3 isn't a SET.
+
+Thu Sep  7 00:16:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (function_cannot_inline_p): Fn is "not even close"
+	only if > 3 * max_insns.
+
+	* toplev.c (fatal_insn_not_found): New fn.
+	* genextract.c (main): Make insn_extract call that fn.
+
+	* integrate.c (expand_inline_function): Don't abort about bad offset
+	in a parm whose type is error_mark_node.
+	Make another syntax level to hold parm destructors.
+
+	* tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+	Increment push_loc after, not before, each reg save or restore.
+	When storing reg 9 or 29, use offset tsize-4.
+	Make tsize larger by 4 initially.
+	(STARTING_FRAME_OFFSET): -8, not -4.
+
+	* gcc.c (choose_temp_base): Make use of TMPDIR and P_tmpdir
+	if they exist.
+
+	* toplev.c, gcc.c, cccp.c, gen*.c (fancy_abort):
+	New function which can be used to replace `abort'.
+
+	* toplev.c (main): Save argv, argc in save_argv, save_argc.
+
+	* jump.c (delete_insn): Always advance NEXT across deleted insns,
+	in case not optimizing.  Fixes setting current_function_returns_null.
+
+	* symout.c: Include stddef.h with <...>.
+
+Wed Sep  6 00:39:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (find_exec_file): Was using `argbuf[0]' where wanted `prog'.
+
+	* combine.c (combine_instructions): Dont call record_dead_and_set_regs
+	if insn has become a NOTE.
+
+	* reload.c (combine_reloads): Update reload_when_needed.
+
+	* jump.c (delete_insn): If delete label on ADDR_VEC, delete table too.
+	(jump_optimize): If ADDR_DIFF_VEC label has 1 ref, delete it and table.
+
+	* gunlib2.c (__fixunsdfdi, __floatdfdi): Make the long long,
+	and/or its two halves, unsigned.
+
+	* reload1.c (reload): When setting double_reg_address_ok,
+	require it to be offsettable.
+	* out-sparc.c (output_fp_move_double): Now safe to use std
+	for all reg+reg addresses.
+
+	* vax.md: Add another simplified-casesi pattern for operand 0 constant.
+
+	* cse.c (fold_rtx): Don't truncate VAL at end if WIDTH is 0.
+	Don't alter WIDTH for that purpose based on the operands.
+
+	* stmt.c (warn_if_unused_value): && or || is ok if 2nd op has effect.
+
+	* c-parse.y (ALIGNOF unary_expr): Find a larger value if possible.
+
+	* reload.c (combine_reloads): Don't combine an output address reload.
+	(find_reloads): Call combine_reloads after setting reload_when_needed.
+	(find_reloads_address): Update OPERAND if copy the operand.
+
+	* cccp.c (macroexpand): Missing arg no error in 1-arg macro if -trad.
+
+Tue Sep  5 14:12:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (find_dummy_reload): Don't use the output reg if it is
+	a fixed reg which can overlap with other regs.
+
+	* cse.c (exp_equiv_p): Two vectors must have same length.
+
+	* tree.def (WITH_CLEANUP_EXPR): Print-name string was wrong.
+
+	* optabs.c (expand_fix): Undo previous change (unsigned conversion).
+	It doesn't work.
+
+	* gcc.c: Pass -i option to cpp.  It takes an arg.
+
+	* cccp.c (cplusplus_include_defaults) [VMS]: Typo in array indices.
+
+	* Makefile (gnulib): Create it in tmpgnulib, then rename at the end.
+
+	* i860.md (movdi from constant pattern): Fix `st' opcode typos.
+
+	* Makefile (hard-params*): Use CCLIBFLAGS, not CFLAGS.
+
+Fri Sep  1 03:43:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i386gas.h (ASM_OUTPUT_ALIGN): .align arg isn't a log, in gas.
+	(ASM_OUTPUT_ALIGN_CODE): Align labels, etc. to 4-byte boundary.
+
+	* integrate.c (save_for_inline): Delete NOTE_INSN_DELETED notes.
+
+	* Makefile (clean): Delete dbr and jump2 dumps.
+
+	* Makefile (gnulib, gnulib2): Compile in main dir, not libtemp subdir.
+	This avoids trouble with -I options, etc.
+
+Thu Aug 31 15:07:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns):
+	Be specific moving REG_DEAD notes to an output reload.
+	Sometimes move them to output-operand-address reloads.
+
+	* out-sparc.c (output_fp_move_double): Very cautious about std.
+	Use it only for something visibly aligned, or for an array element.
+
+	* cccp.c (main) [VMS]: Remove dirs and extension from PROGNAME.
+	(pfatal_with_name) [VMS]: Return VMS system call error code as status.
+	(cplusplus_include_defaults) [VMS]: Add GNU_GXX_INCLUDE.
+
+	* xm-vms.h (FATAL_EXIT_CODE): Now (44 | 0x10000000).
+
+	* expr.c (do_store_flag): Allow more values of STORE_FLAG_VALUE.
+
+	* gnulib2.c (__fixunsdfdi): Explicitly cast doubles to `long int'
+	to avoid infinite recursion.
+
+Wed Aug 30 13:28:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (skip_consec_insns): Skip NOTEs.
+
+	* loop.c (general_induction_var): If G or V is a nonreplaceable giv,
+	give up.  If G is allocated here, consider it replaceable.
+
+	* stupid.c: Make uid_suid, reg_where_born and reg_where_dead
+	vectors of ints, not short.
+
+Tue Aug 29 00:21:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-iris.h: Fix typo in formfeed char.
+
+	* out-i860.c (singlemove_string): Add missing `.l' to `st', `ld'.
+
+	* loop.c (general_induction_var): Don't set G from 2nd op. of MINUS,
+	since that would negate the result.
+
+Mon Aug 28 00:16:36 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): When we need a pointer type, don't
+	record it in TYPE_POINTER_TO, lest it not live as long as its target.
+
+	* tm-hp9k320.h (CPP_PREDEFINES): Delete __hp9000s300 and _HPUX_SOURCE.
+
+	* Makefile (gnulib): Deleted stamp-gnulib2 in wrong dir.
+	(hard-params.o): Copy it into current dir before compiling.
+	(STAGESTUFF): Include the stamp-*.[ch] files.
+
+Sun Aug 27 13:59:39 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* out-i860.c (output_size_for_block_move): Typo in CC_KNOW_HI_R31.
+
+	* integrate.c (expand_inline_function): Ignore insns to set value reg
+	if we don't want the value.
+
+	* varasm.c (make_function_rtl, make_decl_rtl): Use DECL_ASSEMBLER_NAME.
+
+	* Makefile (stamp-gnulib2): Don't explicitly delete old members,
+	just replace them.
+
+	* m68k.md, alliant.md (trunchiqi): Use movew if moving from memory
+	or from a const_int.
+
+	* integrate.c (expand_inline_function): Set first_parm_offset
+	later on, after computing the args, in case those args
+	contain inline function calls.
+
+	* alliant.md (movqi): Like recent change in m68k.md.
+
+Sat Aug 26 00:26:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* tm-hp9k320.h (CPP_PREDEFINES): Take out m68k and mc68000.
+	* tm-news.h (CPP_PREDEFINES): Add mc68000.
+
+Fri Aug 25 15:37:35 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* optabs.c (expand_fix): Can convert to unsigned int
+	by subtracting 2**(N-1), converting to signed, and adding 2**(N-1).
+
+	* reload.c (find_reloads_address): For out-of-range stack slot,
+	reload the displacement into a reg.
+	(find_reloads_toplev): For subreg of a reg with a reg_equiv_address,
+	turn the whole thing into a memref.
+
+Thu Aug 24 14:07:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): If function is declared `extern inline',
+	set current_extern_inline.
+	(start_function): In that case, set TREE_EXTERN in function decl.
+	* toplev.c (rest_of_compilation): In that case, don't really compile.
+	(compile_file): Don't output such functions at the end either.
+
+	* c-typeck.c (build_function_call): Do set NAME if we have one.
+
+	* Prevent any variability in results of qsort.
+	* stupid.c (stupid_reg_compare): Compare by regno as last resort.
+	* global-alloc.c (allocno_compare): Same idea.
+	* local-alloc.c (qty_compare_1): Same idea.
+	* reload1.c (hard_reg_use_compare, reload_reg_class_lower): Same idea.
+
+	* cccp.c (macroexpand): If read one arg, but it's whitespace,
+	consider that 0 args for checking number of args.
+	Improve plurals in error messages.
+
+	* expr.h (inhibit_defer_pop): New name for current_args_size,
+	now declared here.
+	(NO_DEFER_POP, OK_DEFER_POP): Moved here.
+	* expr.c: Names related to current_args_size renamed.
+	(clear_current_args_size): Deleted.
+	* stmt.c (expand_function_start): Init inhibit_defer_pop here.
+
+	* stmt.c (expand_start_stmt_expr): Do NO_DEFER_POP.
+	(expand_end_stmt_expr): Do OK_DEFER_POP, and don't do deferred pops.
+
+	* Makefile (c-parse.tab.c): Pass -o option to Bison.
+
+Wed Aug 23 23:14:06 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* expmed.c (store_bit_field, extract_bit_field):
+	Use GET_MODE_WIDER_MODE to scan possible modes for bestmode.
+
+	* Makefile (stamp-gnulib2): Discard error messages from `ar d'.
+
+Tue Aug 22 00:31:51 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* final.c (output_source_line): In COFF, don't output `.ln 0'.
+
+	* Makefile (stamp-gnulib2): Depend on gnulib.  For parallel make.
+
+	* stmt.c (uninitialized_vars_warning): Don't crash if DECL_RTL is 0.
+
+	* i386.md (truncdfsf2): Pay attention whether stack top is dead.
+
+Mon Aug 21 22:02:40 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* reload1.c (choose_reload_regs): Don't use regno uninitialized,
+	in the code that does find_equiv_reg.
+
+Sun Aug 20 00:06:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* m68k.md (movqi): Was outputting bad code for areg->mem and mem->areg.
+
+	* explow.c (memory_address): Handle a hard reg in wrong reg class.
+
+	* stmt.c (expand_function_end): Set REG_FUNCTION_VALUE_P in return
+	reg when returning address of structure value block.
+
+	* integrate.c (save_for_inline): Preserve integrated bit on insns.
+
+Sat Aug 19 14:20:07 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
+
+	* combine.c (subst): Don't change (subreg:M (mem:N ...)) to 
+	(mem:M ...) if address is mode-dependent.
+
+	* config.gcc: Copy and alter Makefile for any srcdir except `.'.
+	In that case, make a .gdbinit as well.
+
+	* sparc.md (andcbsi3, iorcbsi3, xorcbsi3): These are not commutative.
+
+	* vax.md (cmpv and cmpzv patterns): Use COMPARE, not MINUS.
+
+Fri Aug 18 12:24:52 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* alliant.md (movqi): Change move to mov in assembler code.
+
+	* integrate.c (expand_inline_function):
+	Handle args passed in regs and copied to slots reached via arg ptr.
+
+	* out-sparc.c (output_delayed_branch):
+	Do alter_subreg on operands of delay insn.
+
+	* reload1.c (choose_reload_regs): Look for a reg to share
+	before one that we won't share.
+
+	* expr.h: Define OPTAB_MUST_WIDEN.
+	* optabs.c (expand_binop): Handle that case.
+	* expmed.c (expand_shift): Use that when widening lshift to ashift.
+
+	* optabs.c (emit_cmp_insn): Use CONST0_RTX, not individual vars.
+
+	* gnulib2.c (lsh*di3, ash*di3): Return right away if count is zero.
+	Otherwise tried to shift by 32.
+	Also replace constant 32 by something symbolic.
+
+	* final.c (output_source_line): Output line number in COFF
+	even if wrong file.
+
+Thu Aug 17 15:16:34 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* Makefile (version.o): Make this a target; specify source file.
+	(obstack.o): Likewise.
+
+	* config.gcc (i860): New alternative.
+
+	* i860.md (movstrsi): Record the alignment as operand 3.
+	Renumber following (internal) operands.
+	* out-i860.c (output_block_move): Rewrite as in out-sparc.c.
+	(output_size_for_block_move): Likewise.  And don't
+	subtract alignment from the size.
+
+Wed Aug 16 13:27:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* loop.c (combine_movables): Don't combine zero-extend
+	registers that live outside the loop.
+
+	* integrate.c (expand_inline_function): Use copy_to_mode_reg
+	to set up this_struct_value_rtx, to handle sums right.
+
+	* Makefile: Use $(srcdir) in bison output files used as deps.
+	Supply some missing deps.
+	(*.info, doc): *.info files go in srcdir.
+
+Tue Aug 15 00:11:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* i860.md, tm-i860.h, out-i860.c: New files.
+
+	* c-decl.c (duplicate_decls): Fix bug determining whether NEWDECL
+	is a definition or just a decl.
+	Combine code to preserve various things from old definition
+	through a declaration.
+
+	* config.gcc: Scan all args at beginning, setting variables.
+	Arg of form -srcdir=... sets srcdir explicitly.
+	srcdir now doesn't contain a slash, and is used with a slash.
+
+	* Makefile (install): Copy header files and gcc.1 from srcdir.
+	But copy float.h from current dir.  (Remove that from USER_H.)
+	(various): Use new variable INCLUDES to get the -I options.
+	Add -I. at the beginning of these.
+	(gnulib, gnulib2): Likewise, use SUBDIR_INCLUDES.
+	Also, get source file from srcdir.
+	Also, depend on $(CONFIG_H).
+	(alloca.o): Get alloca.c from srcdir.
+
+	* reload1.c (emit_reload_insns): Bug in last change:
+	don't fail to set this_reload_insn.
+
+	* Makefile (Bison rules): Specify $(srcdir) for target and source.
+	(Explicit C rules): Specify $(srcdir)/ for source in commands.
+	Use sed to eliminate `./' in normal case.
+	(insn-*.c): Use $(srcdir) to run move-if-change.
+
+	* config.gcc: Check . and .. for the sources.
+	If in .., use that when making links.
+	Also, copy Makefile, alter srcdir in it, and add a VPATH.	
+
+	* stmt.c (expand_end_case): When converting CONST_INT index
+	to an INTEGER_CST, sign-extend if signed type.
+
+Mon Aug 14 13:51:08 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): Warn for qualifier mismatch
+	only if pedantic; don't consider it a type mismatch.
+	Merge the qualifiers of the two decls if the types match.
+
+	* expmed.c (store_bit_field): For insv, memref displacement
+	always counts in bytes, regardless of unit fetched.
+	When checking predicate of op0, accept any mode.
+
+	* optabs.c (expand_float): One call to can_float_p had args backwards.
+
+	* loop.c (check_dbra_loop): Set the JUMP_LABEL of the new jump insn.
+	Increment label's use count rather than storing 2.
+
+	* Makefile: Instead of $<, which fails in certain makes,
+	use $@ and then substitute in the name with sed.
+
+	* out-sparc.c (output_scc_insn): Handle CC_REVERSED for ordered tests.
+	Use orcc insns to store the result and set cc's for it.
+
+	* sparc.md (scc combination patterns):
+	Use operands[0] as basis for recorded cc value.
+
+	* gnulib2.c (floatdidf, fixdfdi, fixunsdfdi): New functions.
+
+	* gnulib.c (floatdidf, fixdfdi, fixunsdfdi): Deleted.
+	(union longlong, union double_di): Deleted.
+	(HIGH, LOW): Deleted.
+	These were deleted because most did not handle full range of DI
+	and they didn't use the right calling convention for DI.
+
+Sun Aug 13 13:06:45 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* c-typeck.c (comptypes): Qualifiers must match.
+	(Was already true for scalars.)
+	Also, array elt qualifiers must match.
+
+	* tm-apollo68.h (STRUCT_VALUE): Make it 0.
+	(This was done before and lost.)
+	* out-i386.c (function_epilogue): Use ret $4 to pop structure address.
+	(This was done before and lost.)
+
+	* out-i386.c (call_top_dead_p): Don't fail to check
+	the rtx code of the insns themselves.
+	(This was done before and lost.)
+
+	* out-sparc.c (output_block_move): If align is 8, make it 4.
+
+	* typeclass.h: New file.
+	* expr.c: Include it.
+	(expand_builtin): Use those codes in __builtin_classify_type.
+
+	* Makefile (all, lang-c): Reinstall gnulib2.
+
+	* Makefile (gnulib2): Don't give up if `ar d' fails.
+
+	* expr.c (emit_library_call): New 2nd arg NO_QUEUE.
+	All callers changed to pass it.
+	* optabs.c (expand_binop, expand_unop): Don't call emit_queue.
+	Instead, pass 1 for NO_QUEUE to emit_library_call.
+
+Sat Aug 12 12:05:22 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns): Decision for where to put input
+	reload insn is now common to ordinary case and auto-increment.
+	Likewise, updating these positions afterward.
+
+	* stmt.c (assign_parms): Treat last named arg as nameless.
+	* expr.c (expand_call): Likewise.
+
+	* explow.c (copy_to_mode_reg): Use force_operand for PLUS or MULT.
+	(copy_addr_to_reg): Use copy_to_mode_reg.
+
+	* expmed.c (store_bit_field): Handle case where insv rejects memrefs.
+
+	* tm-convex.h (ASM_OUTPUT_ALIGN): Magic to handle the fact
+	that this is not called when LOG is 0.
+
+Fri Aug 11 16:39:51 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* emit-rtl.c (get_lowpart): For multi-word, in error check,
+	test the unit size of the containing mode.
+
+	* cccp.c (macroexpand, dump_all_macros): Return void.
+	(macroexpand): Cast sprintf arg to char*.
+	(error, warning, error_with_line): Declare first arg char*.
+
+Thu Aug 10 21:42:13 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
+
+	* expr.c (expand_call):
+	Use force_operand to copy arithmetic to register.
+
+	* dbxout.c (dbxout_symbol): Go back to N_FUN for const variable.
+
+	* integrate.c (expand_inline_function): Use proper machine mode
+	for a structure value in memory at address passed by caller.
+
+Wed Aug  9 15:21:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc: Delete unnecessary variable assignments in case stmt.
+	(isi68-nfp): New alternative.
+
+	* combine.c (try_combine): Don't substitute for a register
+	which is being explicitly clobbered.
+
+	* This change was requested for C++.
+	* varasm.c (decode_reg_name, make_decl_rtl): Arg ASMSPEC now char *.
+	* toplev.c (rest_of_decl_compilation): Likewise.
+	* c-decl.c (finish_decl): Change call to rest_of_decl_compilation.
+
+	* tree.h (struct tree_decl): Pack machine_mode into 8 bits.
+
+	* explow.c (memory_address, copy_to_reg):
+	Use force_operand to copy arithmetic to register.
+
+	* tm-isi68-nfp.h: New file.
+	* tm-isi68.h: Allow overriding TARGET_DEFAULT, and let that
+	change CPP_SPEC and LINK_SPEC.
+	(ASM_FILE_START): No `.globl fltused' if soft-float.
+
+Tue Aug  8 21:50:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (const_hash): For constructor, mask TREE_TYPE to HASHBITS
+	bits and take modulo, so we don't get negative numbers.
+
+	* varasm.c (record_constant_1, compare_constant_1):
+	Record and compare the width of an integer.
+
+	* varasm.c (assemble_function, assemble_variable, get_or_assign_label):
+	(force_const_mem): Don't call ASM_OUTPUT_ALIGN if boundary is 1.
+
+	* c-decl.c (duplicate_decls): Consider const and volatile as part of
+	type when checking for match and when installing new type into OLDDECL.
+
+	* expr.c (do_store_flag): Make sure target fits operand predicate.
+	Also, omit the AND insn when true-value is 1
+	and the mode we get is wider than the one we want.
+
+	* genrecog.c (main): Make insn-recog.c include real.h.
+
+Mon Aug  7 16:58:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* genemit.c (main): Define `operands' as `emit_operands',
+	not `recog_operands'.
+
+	* reload1.c (emit_reload_insns): Don't copy back a dead output reg.
+
+Sun Aug  6 13:56:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (plain_type_1, sdbout_one_type): Use the main variant.
+	(sdbout_type_fields): No need to check TREE_ASM_WRITTEN here,
+	since sdbout_one_type does that.
+
+	* expr.c (do_store_flag): Ensure the CLOBBER doesn't clobber an input.
+
+	* fold-const.c (fold_convert): Attempt to avoid overflow
+	when converting real to integer.  Use unsigned conversion for
+	low part; always convert as positive and then change sign;
+	subtract high part before converting low part.
+	Also, check for real values out of range for chosen int type;
+	warn and do not convert.
+
+	* tm-hp9k320.h (CPP_SPEC) [not HPUX_ASM]: Don't define mc68000 here.
+	(CPP_PREDEFINES): Remove mc68k, add m68k and mc68000.
+	[HPUX_ASM]: Define CPP_SPEC here as in the other case,
+	but add __HPUX_ASM__ to each alternative.
+
+	* tm-m68k.h (FUNCTION_EPILOGUE): Call new hook FUNCTION_EXTRA_EPILOGUE.
+	* tm-altos3068.h (FUNCTION_EXTRA_EPILOGUE): Define it.
+
+	* Makefile: Use $< wherever appropriate.
+	Also put definitions of customization vars before the comments
+	saying how to override them.
+
+Sat Aug  5 14:15:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (sne): Typo in opcode name.
+
+	* tree.h (struct tree_identifier): Delete redundant/unused error_locus.
+
+Fri Aug  4 00:04:10 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (const_hash, compare_constant_1, record_constant_1):
+	Compare types only for record constructors, not for array constructors.
+
+	* dbxout.c (dbxout_parms): When outputing parm from home in local slot,
+	with address from the RTL, don't do big-endian correction on it.
+
+	* c-typeck.c (build_unary_op): Do default conversion for unary +.
+
+	* cccp.c (rescan): Accept comments between macro and its args.
+
+	* c-decl.c (lang_decode_option): -traditional implies writable strings.
+
+	* cccp.c (trigraph_pcp): Make warning msg more accurate.
+
+	* c-typeck.c (c_expand_asm_operands): Delete the default promotion
+	which was inserted mysteriously since 1.35.
+
+	* global-alloc.c (global_conflicts): Allocate regs_set only once.
+	Make it twice as big since clobbers are stored twice.
+
+	* sparc.md (block move patterns): Record and use alignment operand.
+	* out-sparc.c (output_block_move): Get alignment from there.
+	(output_size_for_block_move): Greatly simplified.
+
+	* tm-i386v.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
+
+	* stor-layout.c (layout_record): Anonymous bitfields don't affect
+	overall structure alignment, in PCC_BITFIELD_TYPE_MATTERS case.
+
+	* loop.c (strength_reduce): Prevent hard reg from becoming biv or giv.
+
+	* combine.c (subst): Simplify (eq (neg ...) (const_int 0)).
+
+Thu Aug  3 13:08:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (fold_rtx): For (op var const) special cases, also check 
+	for constant as first argument.
+
+	* c-decl.c (pushtag): For global_binding_level, make permanent nodes.
+
+	* expr.c (do_store_flag): Put the CLOBBER before the comparison.
+
+	* expr.c (emit_push_insn): Conditionalize recent changes
+	on no FIRST_PARM_CALLER_OFFSET, so they don't happen on sparc.
+
+	* out-sparc.c (gen_scc_insn):
+	Don't be confused by CLOBBER emitted by do_store_flag.
+	Skip past such insns looking for last_insn.
+	Don't alter last_insn; instead, patch it to a NOTE and emit new insn.
+
+	* varasm.c (const_hash, compare_constant_1, record_constant_1):
+	For a CONSTRUCTOR, hash/compare/record type as well as elts.
+
+	* cse.c (cse_insn): July 18 change was wrong.
+	Now, invalidate at the beginning any regs explicitly clobbered
+	so they will not be substituted for if they appear as inputs.
+	* sparc.md (movstrsi): Copy addresses to temp regs, then use them.
+
+	* loop.c (record_giv): When comparing life spans for setting
+	->forces, use luids consistently, not uids.
+
+	* sparc.md (ashlsi3, ashrsi3, lshrsi3): Truncate constants mod 32.
+
+Wed Aug  2 17:50:30 1989  Richard Stallman  (rms at sugar-bombs)
+
+	* mips.md (patterns to move a subreg): Deleted.
+
+Sun Jul 30 19:23:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (process_command): Skip `-b' like `-B', in 2nd scan.
+
+	* xm-sunos4.h: Deleted.
+	* tm-sparc.h, tm-sun3.h: Define LINK_SPEC here instead.
+	* tm-sun4os3.h: Undef it here.
+	* tm-sun3os3.h, tm-sun3os3nf.h: New files to undef LINK_SPEC.
+	* config.gcc: Use those new files where needed.
+
+	* config.gcc: Delete sun3-fpa and sun3-os4-fpa.
+	* tm-sun3-fpa.h: Deleted.
+
+	* cccp.c (do_include): Mention even non-ex files for -M.
+
+	* out-mips.c (addr_compensate): Handle HImode.
+	* mips.md (Set HI from subreg of SI rule):
+	Allow operand in memory.
+
+	* mips.md (cmpqi, cmphi): Patterns deleted.
+	(cmpsi, cmpsf, cmpdf): Change predicates to register_operand.
+
+	* cexp.y (rule for ?:): Result is unsigned if either operand is.
+
+	* expr.c (emit_push_insn): If PARTIAL > 0, load the partial regs
+	at the end, in case the rest of the push does a function call.
+
+	* reload1.c (alter_frame_pointer_addresses):
+	After altering a PLUS, re-fetch CODE before scanning subexps.
+
+	* stmt.c (assign_parms): Don't copy the arg pointer value
+	if it is also the frame pointer.  If we do copy it,
+	inhibit REG_EQUIV notes for parms copied into pseudo regs
+
+	* integrate.c (copy_for_inline, copy_rtx_and_substitute):
+	Set up filename and lineno fields of copy of ASM_OPERANDS.
+
+Sat Jul 29 18:58:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Handle struct-value-addr
+	passed in memory just like that passed in reg:
+	in either case, translate the pseudo-reg made in
+	expand_function_start.
+	(function_cannot_inline_p): Permit inlining in that case.
+	But reject it if using pcc-style return convention.
+
+	* stor-layout.c (layout_type): Consider STRICT_ALIGNMENT
+	for ARRAY_TYPE just as for RECORD_TYPE.
+
+Wed Jul 26 12:54:59 1989  Richard M. Stallman  (rms at mipos3)
+
+	* cse.c (fold_rtx): If WIDTH is zero for binary operator,
+	look at the modes of the original operands.
+
+	* cse.c (cse_insn): Set prev_insn_explicit_cc0, for (set (cc0) INT).
+	(predecide_loop_entry): Likewise.
+	(fold_rtx): Look at it, for (if_then_else (cc0) ...).
+
+	* expr.c (expand_builtin): Pass back return value from
+	__builtin_saveregs.
+
+	* stmt.c (assign_parms): Allow arg pointer reg not to be fixed.
+	If it is not, copy it to a pseudo reg and use that later on.
+
+Tue Jul 25 15:42:04 1989  Richard M. Stallman  (rms at mipos3)
+
+	* expr.c (expand_builtin): New builtin __builtin_classify_type.
+	* tree.h, c-decl.c: Additional support.
+
+	* flow.c (mark_used_regs): Treat arg pointer like stack pointer.
+
+	* expr.c (emit_library_call):
+	Pass (tree)0 as TYPE arg to FUNCTION_ARG, etc.
+
+Mon Jul 24 11:18:10 1989  Richard M. Stallman  (rms at mipos3)
+
+	* loop.c (regs_match_p): Fix braino.
+
+	* integrate.c (copy_for_inline, copy_rtx_and_substitute):
+	Make ASM_OPERANDS constraint vector be shared like operand vector.
+
+	* xm-iris.h: New file.
+
+	* Makefile (stage4): New target.
+
+	* gnulib2.c (badd, bsub, bmul, bdiv): If want long value from
+	arithmetic, widen the operands first.
+	(__div_internal aka bdiv): Rename to __bdiv.
+
+	* sparc.md (seq combination patterns): Fully initialize cc_status.
+
+	* expr.c (emit_push_insn): Like July 19 change, for BLKmode.
+
+	* stmt.c (expand_function_end): Stack-restore for alloca
+	is now done after the return_label.
+
+	* loop.c (scan_loop): Set MAYBE_NEVER for conditional jump to loopbeg.
+
+	* integrate.c (copy_rtx_and_substitute): Allow mapping of hard regs.
+	(expand_inline_function): Always create parm_map.
+	Handle structure value that way if nec. even if no parms.
+	Otherwise, find the pseudo used in the function to hold the
+	structure address, and map it to a new pseudo.
+
+	* expr.c (expand_call):
+	Use mark_addressable to make FNDECL addressable.
+	* c-typeck.c (mark_addressable): No longer static.
+
+	* cse.c (cse_insn): Modify last change: don't canon_reg
+	for hard regs inside clobbers.
+
+	* expr.c (expand_assignment): ALIGN arg to store_field comes from
+	the structure, not from the value stored.
+
+Fri Jul 21 16:23:45 1989  Richard M. Stallman  (rms at mipos3)
+
+	* stmt.c (warn_if_unused_value): Don't warn for a cast
+	around a MODIFY_EXPR.
+
+	* tm-hp9k320.h (PCC_STATIC_STRUCT_RETURN): Undefine it.
+	(CPP_PREDEFINES): Add some.
+
+	* combine.c (simplify_and_const_int):
+	Simplify (and (ashiftrt (zero_extend FOO) N) M).
+
+	* optabs.c (expand_binop): When widening,
+	for some operations we need not actually extend.
+
+Thu Jul 20 16:16:35 1989  Richard M. Stallman  (rms at mipos3)
+
+	* Makefile (insn-emit.o): Depend on insn-codes.h.
+
+	* stmt.c (check_for_full_enumeration_handling): 
+	Handle all cases for TYPE_NAME of enum type.
+
+Wed Jul 19 17:00:39 1989  Richard M. Stallman  (rms at mipos3)
+
+	* fold-const.c (fold_convert): Don't fail to force_fit_type.
+
+	* expr.c (emit_push_insn): When pushing only part of scalar on stack,
+	adjust stack offset not to count the words not pushed.
+
+	* stmt.c (expand_function_end): Always put return structure address
+	in return register.
+
+	* c-typeck.c (process_init_constructor): Assume 0 for nameless field.
+
+	* recog.c (general_operand, memory_operand):
+	Check validity of mem address using the mode of the MEM.
+
+	* fixincludes: When calling egrep, use redirect, not -s.
+
+Tue Jul 18 11:18:55 1989  Richard M. Stallman  (rms at mipos3)
+
+	* Makefile (bootstrap*): Pass value of libdir down.
+
+	* cse.c (cse_insn): Do canon_reg on any CLOBBERs and USEs.
+
+	* cse.c (cse_insn): Don't use no_labels_between_p to check
+	for jump to following label; find following label and compare.
+
+	* combine.c (try_combine): Don't substitute into subreg(x)=y
+	if modes of x and y are not tieable.
+
+	* out-i386.c (call_top_dead_p): Don't fail to check
+	the rtx code of the insns themselves.
+
+	* i386.md (tstsf, tstdf): Don't discard TOS if not dead.
+
+	* stupid.c: Don't use regs with PRESERVE_DEATH_INFO_REGNO_P
+	for pseudos which live across jumps or labels.
+	(stupid_life_analysis): Update last_jump_suid, last_label_suid.
+	(stupid_mark_refs): Use those to set reg_crosses_blocks.
+	(stupid_find_reg): Check that data, passed from stupid_life_analysis.
+
+	* toplev.c (main): Avoid using caddr_t.
+
+	* mips.md (inverted bgeu peephole): Typo in opcode.
+
+Mon Jul 17 12:29:45 1989  Richard M. Stallman  (rms at mipos3)
+
+	* i386.md (mulb patterns): Turned off due to assembler bug.
+
+	* rtl.c (read_name): Use 0, not NULL, for character.
+
+	* alliant.md (movqi): Typos in mov opcodes.
+
+	* tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
+	Use CONST_DOUBLE_LOW, etc. 
+
+	* stmt.c (expand_function_end): Check value of EXIT_IGNORE_STACK,
+	not just whether defined.
+
+	* i386.md (seq, etc.): New patterns.
+	* expr.c (do_store_flags): If result is wrong mode, 
+	ensure rest of bits are cleared.
+	Before storing low part of TARGET, emit a CLOBBER for it.
+
+	* i386.md (load address): Use an immediate add if possible.
+
+	* i386.md (ashlsi3): Don't generate leal; shift is faster.
+
+	* Now struct_value_rtx is 0 to treat it as a parm.
+	* expr.c (expand_call): Implement that.
+	* integrate.c (expand_inline_function): Don't freak out.
+	* tm-apollo68.h (STRUCT_VALUE): Make it 0.
+
+	* On 386, called function must pop the structure value address.
+	* tm-i386.h (STRUCT_VALUE): Don't change this.
+	Address is now pushed but not counted as a parm.
+	* out-i386.c (function_epilogue): Use ret $4 to pop that address.
+	* output.h: Declare the current_function_... variables.
+	* final.c: Include output.h.
+
+	* varasm.c (make_decl_rtl): Insert missing `else', validating reg decl.
+
+Fri Jul 14 14:12:17 1989  Richard M. Stallman  (rms at mipos3)
+
+	* out-sparc.c, out-spur.c (output_move_double):
+	Fixed typo, addreg0 => addreg1.
+
+	* c-decl.c (lang_decode_option): Handle -fshort-enums.
+	(finish_enum): In that case, give enum minimum number of bytes.
+	* toplev.c (main): Default flag_short_enums.
+	* toplev.c, flags.h (flag_short_enums, flag_signed_char): 
+	Define those flags here, not in c-decl.c and c-tree.h.
+
+	* i386.md (mulqi3, umulqi3): New patterns.
+
+	* c-convert.c (convert_to_integer): Tighter restrictions on
+	distributing truncation through max, min, and multiplication.
+	If operands were extended from unsigned, make the operation
+	unsigned.
+
+	* cccp.c (main): Fix bug where #include <...>, when -I- was used,
+	failed to search standard dirs and/or searched some dirs
+	intended only for #include "...".
+
+	* tm-mips.h (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE):
+	Increment push_loc after store or load, not before.
+
+Thu Jul 13 11:24:30 1989  Richard M. Stallman  (rms at mipos3)
+
+	* emit-rtl.c (add_insn_after): Don't update last_insn
+	if insn is in a sequence.  Instead, update end of sequence.
+
+	* stmt.c (fixup_var_refs): Update end of stacked sequence.
+
+	* stmt.c (expand_function_start): Set result rtl before assign_parms.
+
+	* optabs.c (emit_unop_insn): Set PREV_INSN after preliminaries.
+
+	* stmt.c (warn_if_unused_value): Do CONVERT_EXPR like NOP_EXPR.
+
+	* stmt.c (expand_function_start): Make sure parm_birth_insn
+	is a NOTE.
+
+	* Makefile (clean): Delete tmp-insn-*.
+
+Wed Jul 12 14:24:12 1989  Richard M. Stallman  (rms at mipos3)
+
+	* i386.md (mulqi3): Restrict operand 2 to `q' reg.
+
+	* reload1.c (choose_reload_regs): Check HARD_REGNO_MODE_OK
+	for regs to be inherited.
+	Also check HARD_REGNO_MODE_OK at end for modes of both
+	reload_in and reload_out as well as reload_mode.
+
+	* Makefile (maketest): Update for config subdir.
+
+Tue Jul 11 16:29:57 1989  Richard M. Stallman  (rms at mipos3)
+
+	* integrate.c (copy_decl_tree): Copy TREE_USED of each LET_STMT.
+
+	* make-cc1.com: Changes by Angel Li.
+	Define variables CC, CFLAGS, LDFLAGS, LIBS.
+	Use LIBR library, not LIB.  Specify a /INC in CFLAGS.
+	Use MCR to run the gen* files.  Add some comments.
+	* make-cccp.com: Similar.
+	* config-gcc.com: New file.
+
+	* stmt.c (assign_parms): Compute parm alignment from passed type.
+
+	* c-typeck.c (actualparameterlist): Instead of truncating
+	and then promoting for PROMOTE_PROTOTYPES, go straight to int.
+
+	* c-parse.y (setspecs): Save old current_declspecs on a stack.
+	(decl, component_decl): Restore from that stack.
+
+Wed Jul  5 15:01:00 1989  Richard Stallman  (tiemann at yahi)
+
+	* tm-aix386.h, xm-aix386.h: New files.
+
+	* loop.c (check_dbra_loop): Handle either test or compare
+	for insn two before loop end; detect and reject anything else.
+
+	* expr.c (expand_call, expand_builtin): If alloca is done,
+	set current_function_calls_alloca.
+	* stmt.c (expand_function_end): If so, generate code to save and
+	restore the stack pointer, if not EXIT_IGNORE_STACK.
+
+	* ns32k.md (movsi): Fixes for moving from fp or sp.
+
+	* tm-mips.h (ASM_OUTPUT_ASCII): Start new .ascii every 256 chars.
+
+Tue Jul  4 11:01:00 1989  Richard Stallman  (tiemann at yahi)
+
+	* reload1.c (choose_reload_targets): Don't depend on
+	reload_spill_index when cancelling invalid inheritance.
+	Also, abort if trying to preserve death info
+	on a spill reg used in operand addressing.
+
+	* fold-const.c (fold): Don't fold "foo"[n] here.
+	* expr.c (expand_expr): Do it here.
+	Handle wide strings correctly.
+
+	* i386.md (movsf,movdf): Disallow mem-mem moves.
+	Enable mem-to-reg moves.
+
+	* c-decl.c (finish_{struct,enum}): Warn if inside parm decls.
+	(in_parm_level_p, declare_parm_level): Record when inside.
+	* c-parse.y (parmlist, parmlist_or_identifiers): Call
+	declare_parm_level.
+
+	* c-decl.c (parmlist_tags_warning): Revise warning message text.
+
+	* tm-hp9k320.h (ASM_SPEC): Pass -V switch to assembler.
+
+	* tm-sun386.h (ASM_START_FILE): Truncate filename to 14 chars.
+
+	* c-typeck.c (decl_constant_value): Use only literal values.
+
+Sat Jul  1 17:29:54 1989  Richard Stallman  (tiemann at yahi)
+
+	* integrate.c (copy_rtx_and_substitute): Don't make nested SUBREGs.
+
+	* stmt.c (expand_function_start): Set new global
+	current_function_returns_pointer.
+
+	* stmt.c (get_frame_size): Return the size, not the offset.
+	* integrate.c (expand_inline_function): When setting FP_DELTA,
+	compensate for this change.
+	* tm-alliant.h,tm-mips.h,tm-sparc.h,tm-tahoe.h
+	(FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Compensate.
+
+	* out-mips.c (function_arg): Return 0 for BLKmode.
+
+	* tm-mips.h (FUNCTION_INCOMING_ARG): Delete; no register windows.
+	* out-mips.c (function_inarg): Delete; no longer used.
+
+	* mips.md (addsi3): Use register_operand for operands 0,1.
+	(load address): New pattern, following movsi.
+	(fix_trunc*): Use trunc insn, not cvt.
+	(cmpfs + bgt peephole): Operands were backwards in template.
+
+	* gcc.c (main): Record in explicit_link_files which input files go
+	straight to linker.  If linker is not run, complain about them.
+	(execute): Increment execution_count, to show we were called.
+
+	* gcc.c (validate_all_switches): Check ASM_SPEC, CC1_SPEC, etc.,
+	so we find all switches that could be valid.
+
+	* varasm.c (output_constructor): Position fields according to
+	DECL_OFFSET; don't try to compute alignment here.
+
+	* tm-sparc.h (PCC_BITFIELD_TYPE_MATTERS): Define this.
+
+	* reload1.c (emit_reload_insns): Fix stupid error in last change.
+
+	* c-decl.c (duplicate_decls): If redeclaring builtin, give error is
+	type mismatched; otherwise warn only if -W.
+
+	* jump.c (jump_back_p): Verify that PREV is not null.
+
+Mon Jun 26 13:50:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (choose_reload_regs): If number of reloads needing
+	spill regs exceeds n_spills, don't inherit any reloads.
+
+	* sdbout.c (sdbout_record_type_name): Dumb error in last change.
+
+	* reload1.c (emit_reload_insns): Extend last change: don't use
+	equiv reg if reg is in use at same stage of insn, either.
+
+Sun Jun 25 00:00:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns): Don't use an equivalent register
+	to reload from, if that register was used for reloading
+	earlier in this insn.
+
+	* sdbout.c (sdbout_record_type_name): Handle a TYPE_DECL as the
+	type name.  Get rid of TYPE_TAG_NAME as separate macro.
+
+	* optabs.c (emit_cmp_insn): Args to memcmp are addresses, not blocks.
+
+	* reload1.c (choose_reload_regs): Typo, clearing reload_override_in.
+
+	* tm-i386.h: Add register classes SIREG and DIREG.
+	(enum reg_class, REG_CLASS_NAMES): Define class names.
+	(REGNO_REG_CLASS, REG_CLASS_CONTENTS): Define their contents.
+	(REG_CLASS_FROM_LETTER): Define letters `S' and `D'.
+
+Sat Jun 24 00:17:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (keep_next_level): New function.
+	(struct binding): New slot `keep' says make a LET_STMT for this level.
+	(pushlevel, poplevel): Implement that.
+	* c-parse.y (stmt exprs): Call keep_next_level.
+
+	* sdbout.c (plain_type_1): Handle REFERENCE_TYPE, METHOD_TYPE.
+	Correct for size less than 0.
+	(plain_type): Correct for size less than 0.
+
+	* global-alloc.c (mark_reg_set): For CLOBBERs, call mark_reg_clobber.
+
+	* reload1.c (order_regs_for_reload): Among regs explicitly used,
+	prefer those used less often.
+
+	* reload1.c (choose_reload_regs): If we find alternate place
+	to reload from, verify it after all reloads assigned.
+	New variable reload_override_in used for this.
+
+	* combine.c (record_dead_and_set_regs): Look inside SIGN_EXTEND and
+	STRICT_LOW_PART for place being set.
+	(subst): When using reg_last_set to find what a register contains,
+	verify the entire register was set.
+
+	* toplev.c (rest_of_decl_compilation): Report invalid register name.
+
+Fri Jun 23 13:19:41 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-hp9k3bsd.h: New file.
+	* config.gcc: New target hp9k320-bsd.
+
+	* gcc.c (record_temp_file): Don't add a name twice to one queue.
+
+	* stmt.c (expand_expr_stmt): Call warn_if_unused_value.
+	(warn_if_unused_value): Code extracted from expand_expr_stmt.
+	Recurse to handle COMPOUND_EXPR.  Don't warn about COND_EXPR.
+
+	* tm-encore.h (DBX_REGISTER_NUMBER): Override tm-ns32k.h;
+	return operand unchanged.
+
+	* reload1.c (emit_reload_insns): Don't use recog_memoized
+	on an asm.
+
+	* jump.c (delete_insn): Update last_insn.
+	* emit-rtl.c (set_last_insn): New function.
+
+	* reload1.c (reload): Put a note at end of insn chain.
+
+	* gcc.c: Put cpp output of .S file into a .s file.
+
+Thu Jun 22 22:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (expand_binop, expand_unop): Emit queue before library call.
+	It is done within emit_library_call, and cse screws up if there is a
+	queued insn in the middle of a cse-able sequence.
+
+Wed Jun 21 11:57:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-mips.h (CPP_PREDEFINES): Define -Dunix.
+
+	* reload.c (combine_reloads): Combined reload needed for entire insn.
+
+	* c-parse.y (yylex): Braino checking for out-of-range escape seq.
+
+	* stor-layout.c (layout_union): Handle PCC_BITFIELD_TYPE_MATTERS.
+	(layout_struct): Don't let a bitfield cross the storage unit
+	of its type, if PCC_BITFIELD_TYPE_MATTERS.
+
+Tue Jun 20 00:03:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (get_or_assign_label): Let CONSTANT_ALIGNMENT specify
+	alignment of the constant.
+	CONSTANT_ALIGNMENT is a new optional macro.
+
+	* varasm.c (force_const_mem, get_or_assign_label):
+	Make buffer bigger.
+
+	* toplev.c (print_target_switch_defaults): New fn called for -version.
+
+	* toplev.c (compile_file): Detect error closing output file.
+
+	* stor-layout.c (fixup_unsigned_type): Don't shift by 32.
+
+	* stmt.c (emit_case_nodes): Pass UNSIGNEDP along to emit_cmp_insn.
+
+	* stmt.c (expand_end_case): If index is narrow and cannot be
+	directly compared, widen it just once.
+
+	* c-parse.y (yylex): Support multi-character constants.
+	Thorough rewrite of char constant parsing.
+
+	* c-decl.c (pushdecl): Replace local extern function decl with
+	previous global decl if latter is inline, or builtin, or has
+	more arg type info.
+
+	* hard-params.c (xmalloc): Define it, for alloca.c.
+
+	* tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Override -D in Makefile.
+
+	* expmed.c (store_fixed_bit_field): Avoid shift by 32.
+
+	* stmt.c (expand_function_start): Emit a NOTE_INSN_FUNCTION_BEG.
+	* final.c (final_scan_insn): For SDB output, do the
+	sdbout_begin_function at that note.
+
+	* reload1.c (choose_reload_regs): If a reload reg inherits
+	from a previous reload, verify safety after all reloads are assigned.
+
+	* c-decl.c (build_enumerator): Remove no-op casts.
+
+	* reload.c (find_reloads): If an earlyclobber operand matches
+	an input operand it is constrained to match, that's not a problem.
+	If an earlyclobber operand loses due to earlyclobber, its matching
+	input operand also loses.
+
+	* reload1.c (choose_reload_regs): Don't use result of find_equiv_reg
+	if that reg is used for reloading in an earlier part of the insn.
+
+	* cse.c (fold_rtx): If WIDTH is 0, don't try sign-extending ARG0, ARG1.
+
+	* Makefile (hard-params*): Use $(OLDCC).
+
+	* c-typeck.c (c_alignof): No warning for -pedantic.
+
+	* c-parse.y (readescape): Don't have both error and warning
+	on one hex escape.
+
+	* c-parse.y (yylex): Treat vertical tab as white space.
+	(skip_white_space): Likewise.
+
+	* c-parse.y (datadef): If pedantic, warn for stray semicolon.
+
+	* expr.c (expand_increment): Pass accurate unsignedp arg
+	to expand_binary_op.
+
+Mon Jun 19 13:36:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc (news, news-gas): Use xm-m68k.h.
+
+	* final.c (output_asm_label, output_addr_const): Make buf bigger.
+
+	* cexp.y (main): Handle EOF on input.
+	(lookup, warning): Provide as a dummy.
+	(is_idchar, is_idstart): Declare as unsigned char.
+
+	* cexp.y (parse_escape): Use TARGET_NEWLINE, etc., as values.
+	Support hex escapes.  Warn if octal or hex escape doesn't fit in char.
+
+	* cexp.y (yylex): Sign-extend char constants if appropriate.
+
+	* genemit.c: Make insn-emit.c include insn-flags.h.
+
+	* gcc.c: Move record_temp_file past page which declares vflag.
+
+	* integrate.c (expand_inline_function): If copying an insn with
+	a REG_EQUIV note, make a similar note.
+
+	* Allow reload regs to be reused for parts of an insn.
+	* reload.c (find_reloads): Classify each reload for which part
+	of the insn it is needed in.
+	(find_reloads_address, etc.): Pass down the overall operand
+	that this is part of, to record it on address reloads.
+	(push_reload): Record that for each reload.
+	* reload1.c (reload): Compute maximum needs of any part of the insn.
+	(choose_reload_regs): Part of old choose_reload_targets.
+	Hairier criteria for inheriting reloads and for which ones are
+	available for the next insn to inherit.
+	(emit_reload_insns): The rest of old choose_reload_targets.
+	Emit reload insns in proper order according to where they are needed.
+	* Record `reload_reg_in_use' separately for each part of the insn.
+	(mark_reload_reg_in_use): New function.
+	(reload_reg_free_p, reload_reg_free_before_p): New functions.
+	(reload_reg_reaches_end_p): New function.
+
+	* expr.c (expand_expr): Emit queue in X+=(Y?Z:A) optimization.
+
+	* rtlanal.c (rtx_equal_p): Check vectors have same length.
+
+Sun Jun 18 12:16:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_expr_stmt): Maybe warn if top-level operator
+	makes an unused result.
+
+	* gcc.c (delete_temp_files, delete_failure_queue):
+	If -v, report failures in unlink.
+
+	* Makefile (includes): New target to run fixincludes.
+	(install): Swap arms of if-statement.
+
+Sat Jun 17 12:41:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_union): Arg to error_with_decl was missing.
+
+	* ns32k.md (movsf): Use CONST_DOUBLE_LOW to extract from CONST_DOUBLE.
+
+	* loop.c (consec_sets_giv): Change type of force, force2.
+
+	* combine.c (dump*): Declare arg as FILE*.
+
+	* Makefile (clean): Delete hard-params.
+
+	* flow.c (life_analysis): Use a special obstack for the temporary
+	regsets.
+
+	* m68k.md (clr pattern): On 68000, use moveq to clear data reg.
+
+	* gvarargs.h: File varargs.h renamed.
+	The old name conflicted with <varargs.h>, now that -I. is used.
+	* tree.c, expr.c, emit-rtl.c: Change #include commands.
+	* Makefile (install): Install gvarargs.h under name varargs.h.
+	* gcc.c: Include gvarargs.h, not system's varargs.h.
+
+	* Makefile: Use -I$(srcdir) before -I$(srcdir)/config.
+	* config/tm.h: Deleted; didn't work if config was a symlink.
+
+	* cse.c (cse_insn): Record location of inner_dest
+	so it can be replaced properly if a new MEM rtx is made.
+
+Fri Jun 16 14:17:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* make-cc1.com: Compile and link rtlanal.c.
+
+	* c-typeck.c (build_array_ref): Call fold on the array ref.
+	* fold-const.c (fold): Simplify array ref of string constant.
+
+	* stmt.c (expand_asm_operands): Fix error message.
+
+	* Makefile (gnulib2): Remove old members before compiling new.
+	Fix stupid errors.
+	* gnulib2.c (__cmpdi2, __ucmpdi2): Typos in names of interface unions.
+
+	* genconfig.c (main): Don't write MAX_CLOBBERS_PER_INSN; obsolete.
+	Add 3 to MAX_RECOG_OPERANDS.
+
+	* cse.c (fold_cc0): Extra arg specifies machine mode.
+	Callers changed.
+	(cse_insn): Record original mode of each src for this purpose.
+
+Thu Jun 15 12:35:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (_cmpdi2, _ucmpdi2): Moved here from gnulib.c.
+	Use long long for argument type.
+
+	* rtlanal.c (may_trap_p): Moved here from loop.c.
+	Return 1 for division by explicit zero.
+
+	* reload1.c (eliminate_frame_pointer, alter_frame_pointer_addresses):
+	Rerecognize insns which are changed by this.
+
+	* i386.md (call_value): Don't return prematurely.
+
+	* alliant.md (movqi): Handle moving Aregs to mem and vice versa.
+	(bftst -> btst): Restrict to bitpos less than 8
+	so operand may be non-offsettable.
+	(nop): New pattern.
+	(return): Was disabled; now deleted.
+	* tm-alliant.h (PRINT_OPERAND_PUNCT_VALID_P): Define it.
+	* out-alliant.c (output_btst): Same change as in out-m68k.c
+
+	* alliant.md, out-alliant.c: Offsetable -> offsettable.
+
+	* c-parse.y (rule for stmt_exprs): Make the LET_STMT volatile. 
+
+	* c-decl.c (duplicate_decls): Don't save inline function data
+	from previous definition if a new *definition* is seen.
+
+	* integrate.c (access_parm_map): Handle subregs and constants.
+
+	* stmt.c (expand_return): Don't crash if DECL_RTL (DECL_RESULT()) is 0.
+
+	* tm-tahoe.h (LONGJMP_RESTORE_FROM_STACK): Define it.
+
+	* tm-mips.h (CONSTANT_P): Deleted; duplicates rtl.h.
+
+Fri Jun  9 01:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile (float.h): Avoid using $(MAKE).
+
+	* Don't cram two things into STMT_BODY of a LET_STMT.
+	* tree.h (struct bind_stmt): New field, subblocks.
+	(STMT_SUBBLOCKS): New macro to access it.
+	* print-tree.c (walk): Print new field.
+	* tree.c (build_let_stmt): Store the old BODY arg into subblocks field.
+	* c-parse.y (stmt expr rule): Put rtl expr alone into body field.
+	* dbxout.c (dbxout_block): Recurse on subblocks, not body.
+	* sdbout.c, symout.c: Likewise.
+	* integrate.c (copy_decl_tree): Likewise.
+	* stmt.c (setjmp_protect, uninitialized_vars_warning): Likewise.
+	* expr.c (expand_expr): For LET_STMT, simply use its body.
+
+	* machmode.def: Add sixth arg to each entry.
+	* tree.h, rtl.h, rtl.c: Add arg to DEF_MACHMODE.
+	* rtl.h (GET_WIDER_MODE): New macro; table in rtl.c.
+	* expr.c (expand_expr): Use that for widening multiply.
+
+	* stmt.c (fixup_var_refs_1): When converting MEM to QImode for
+	bit field, adjust the address if possible to make bitpos
+	less than 8.
+	* m68k.md (bftst -> btst): Restrict to bitpos less than 8
+	so operand may be non-offsettable.
+
+	* cccp.c (do_line): Accept and pass on 3rd arg for enter or leave file.
+
+	* out-m68k.c (output_btst): Handle COUNT bigger than size of unit.
+
+	* cccp.c (CHECK_DEPTH): Macro to detect instack overflow.
+	(finclude, macroexpand, expand_to_temp_buffer): Use that.
+
+	* cccp.c (rescan): Don't check for disabled macro if traditional.
+	(macroexpand): Don't disable macro if traditional.
+
+	* sdbout.c (sdbout_one_type): Take out last change; assembler barfs.
+
+	* c-parse.y (maybe_attribute): Eliminate #-syntaxes.
+	Make ATTRIBUTE the name for __attribute.
+
+	* c-parse.gperf: Add __attribute{,__} and __signed{,__}.
+	* c-parse.y: Install results of that change.
+
+	* Fix bug in sizeof ({...}).
+	* c-decl.c (poplevel): Set TREE_USED.  Return the LET_STMT.
+	* c-parse.y (stmt-expr rule): Put the RTL_EXPR in the LET_STMT,
+	clear its TREE_USED, and use it as the result.
+	* expr.c (expand_expr): Allow LET_STMT as an expr.
+	Set its TREE_USED and expand the TREE_VALUE of its body.
+	* dbxout.c (dbxout_block): Ignore LET_STMT if TREE_USED not set.
+	* sdbout.c, symout.c: Likewise.
+
+Thu Jun  8 00:06:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (yylex): Extend ERANGE-inhibitor for 0.0
+	to 0.0e0 as well.
+
+	* flow.c (life_analysis): Prevent allocation of regs live at setjmp
+	on certain machines.  Controlled by LONGJMP_RESTORE_FROM_STACK.
+	Sets reg_live_length to -1.
+	* local-alloc.c (block_alloc): Be prepared for that.
+	* tm-vax.h (LONGJMP_RESTORE_FROM_STACK): Define it.
+
+	* gnulib2.c (all interfaces): Declare args and values as long long,
+	and split them using unions.
+
+	* loop.c (check_dbra_loop): Don't reverse loop if there are two
+	refs to varying addresses.  Consider foo[i] = foo[i-1].
+	(count_nonfixed_refs): Subroutine to count them.
+
+	* cexp.y: Distinguish signed and unsigned.
+	An integer value is now represented by a struct.
+	All rules for arithmetic changed.
+	(yylex): Adapt to change in yylval data type.
+
+	* limits.h (LONG_MIN): Make sure it's a signed long.
+
+	* sdbout.c (sdbout_one_type): Output types of fields first,
+	if they are structs.  Don't go through pointers.
+	(sdbout_field_types): Subroutine for that
+
+Wed Jun  7 13:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Switch to /usr/include before doing vuid_event.h.
+	Use $2 as output directory for sed.
+
+	* tm-i386.h (FUNCTION_PROFILER): Put counter address in %edx.
+	* tm-i386v.h (LIB_SPEC): Use -L/usr/lib/libp if profiling.
+
+	* expr.c (expand_increment): Typo testing for BImode component.
+
+	* convex changes from csmith:
+	* tm-convex.h: use EXTRA_SECTIONS to do .bss.
+	out-convex.c: set_section, align_section are now unused.
+	* convex.md: add pattern to pick an A-reg destination for sums
+	whose source involves a dedicated A reg (frame or arg pointer)
+	* convex.md: immediate and, or, xor instructions store a 32-bit
+	result.  Fix instructions that assumed it was 64.
+
+	* mips.md (probe): New pattern to create stack space.
+
+	* Makefile (float.h): Ignore errors from hard-params.
+	Specify ./ to run it.
+
+Tue Jun  6 15:45:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-tahoe.c: Rename `offsetable' to `offsettable'.
+
+	* tahoe.md (nop): New pattern.
+
+	* i386.md (umul...): Constrain operand 1 as `0', not `a'.
+	`a' sometimes wanted two a-regs for operands 0 and 1.
+
+	* cccp.c: Forward-declare some structs.
+
+	* c-decl.c: Rearrange fcn fwd decls and struct decls.
+
+	* expr.c: Move some fcn fwd decls after structs their args use.
+	* genpeep.c, genextract.c: Likewise.
+
+	* loop.c: Forward-declare some structs.
+
+	* stmt.c: Move decls of structs before those of static functions.
+
+	* loop.c (strength_reduce): Delete extra arg to check_eliminate_biv.
+
+	* integrate.c (expand_inline_function): Supply missing arg
+	to convert_to_mode.
+
+	* gcc.c (handle_braces): Supply missing arg to do_spec_1.
+
+	* explow.c (lookup_static_chain): Accept a context arg.
+
+	* expmed.c (store_split_bit_field): Pass ALIGN arg
+	to extract_fixed_bit_field.
+
+	* expr.c (expand_assignment): Convert TYPE_ALIGN to bytes.
+	(store_constructor, expand_expr): Likewise.
+
+	* tm-m68k.h: NO_ADDSUB_Q conditionals turn off all addq, subq insns.
+	(Fully supported only with MOTOROLA and HPUX_ASM flags.)
+
+	* jump.c (do_cross_jump): Don't die if LABEL is 0.
+
+	* tm-mips.h (PRINT_OPERAND_PUNCT_VALID_P): New macro.
+	* tm-iris.h: New file.  Unsplit lines accidentally split.
+
+Mon Jun  5 15:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (output_inline_function): Call init_function_start,
+	not expand_function_start.
+	* emit-rtl.c (restore_reg_data): No need to init reg_rtx_no.
+
+	* stmt.c (init_function_start): Set current_function_returns_struct.
+
+	* rtlanal.c (reg_set_between_p): New fn analogous to reg_used_between_p
+	* loop.c (strength_reduce): Reject biv initial value which is altered
+	subsequently before actual loop start.
+
+	* rtlanal.c: New file split out from rtl.c.
+	Has things not used in the gen files.
+
+	* loop.c (strength_reduce): Reject biv initial value in a hard reg
+	clobbered by an intervening function call.
+
+	* tree.c (get_identifier): New flag needed to enable id-clash warnings.
+	(start_identifier_warnings): Set that flag.
+	* c-decl.c (init_decl_processing): Call that, after making built-ins.
+
+Sat Jun  3 14:41:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c (final_scan_insn): No basic block profiling at jump tables.
+
+	* stmt.c (expand_decl): Probe the stack to make pages exist.
+	* expr.c (expand_builtin): Likewise, for alloca.
+
+	* move-if-change: Specify /bin/sh.
+
+	* tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): Don't accept PLUS
+	with constant operands but not inside CONST.
+
+	* integrate.c (output_inline_function, save_for_inline):
+	Save stack_slot_list, and restore it for actual output.
+	* emit-rtl.c (gen_inline_header_rtx): New arg for this.
+
+	* emit-rtl.c (restore_reg_data): Initialize reg_rtx_no.
+	(restore_reg_data_1): Handle reg_rtx_no jumping past
+	reg_pointer_flag_length.
+
+	* reload1.c (alter_reg): Do nothing if regno_reg_rtx has 0.
+
+	* integrate.c (copy_rtx_and_substitute): Typos for stack parm
+	addresses in PLUS case.
+
+	* genoutput.c (gen_insn, gen_peephole): Make output_n fns static.
+	(output_prologue): Use new macro DEFAULT_MACHINE_INFO if defined.
+
+	* tree.h (enum machine_mode): Define MAX_MACHINE_MODE as in rtl.h.
+
+Fri Jun  2 15:40:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (do_include): A file included via a system header file
+	counts as a system header file for -M.
+
+	* gnulib2.c: Support boolean ops and shifts.
+
+	* loop.c (emit_iv_inc): Use emit_iv_init_code.
+
+	* rtl.h (CONST0_RTX): Don't try to cast abort.
+
+    	* tm-news.h (PRINT_OPERAND_ADDRESS): Fix typo `reg_name'.
+	Delete two garbage lines.
+
+	* loop.c (eliminate_biv): Use emit_iv_init_code to compute comparison
+	value.  If value is constant, recognize the insn, and if that fails,
+	put the value in a register.  
+
+Thu Jun  1 16:56:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* print-tree.c (dump): Don't die if rtx components are null.
+
+	* expmed.c (expand_mult_add): New fn to do A * X + B.
+	(make_tree): New subroutine.
+	* loop.c (emit_iv_init_code): Use that.  Much simpler now.
+
+Tue May 30 17:20:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fold-const.c (fold): Use TREE_SET_CODE to store in tree codes.
+
+	* tree.h (struct tree_common): Make `code' an unsigned int.
+	(TREE_CODE, TREE_SET_CODE): Put in casts.
+
+	* optabs.c (emit_cmp_insn): Supply all the args in recursive calls.
+
+	* toplev.c (report_error_function): Fix typo; METHOD_TYPE missing.
+
+	* fixincludes: Add code to make internal non-directory links.
+
+Mon May 29 21:36:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (find_exec_file): Try both with and without machine_suffix.
+	(find_file): Use machine_suffix here too.
+
+Sat May 27 00:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (decompose): OFFSET wasn't initialized.
+
+	* cse.c (cse_main): Assign monotonic cuids.
+	(make_regs_eqv, CHEAPER): Use cuids, not uids.
+	(cse_end_of_basic_block): Return a cuid, not a uid.
+
+	* expr.c (expand_builtin): For BUILTIN_SAVEREGS, range of regs
+	moved included one extra previous insn.
+
+	* emit-rtl.c (emit_line_note): Don't check -g here.
+	(emit_note): For line number when no -g, increment cur_insn_uid anyway.
+	* stmt.c (expand_start_case): Always output a NOTE_INSN_DELETED.
+
+	* loop.c (loop_optimize): Don't count line-number NOTEs for luids.
+	Prevents -g from affecting optimization decisions.
+
+Fri May 26 17:31:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* local-alloc.c (block_alloc): Don't count notes in insn_number.
+	Prevents -g from affecting order of allocation.
+
+Thu May 25 14:12:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* local-alloc.c (block_alloc): Clear full length of regs_live_at.
+
+	* ns32k.md (cmpsi): Make this the first cmp pattern.
+
+	* jump.c (do_cross_jump): Skip NOTEs while checking for existing label.
+
+	* cse.c (cse_insn): When no-oping a jump, decrement use count of label.
+	(cse_basic_block): If label use count is 0, go past it.
+
+	* integrate.c (access_parm_map): New fn, broken out of
+	copy_rtx_and_substitute, handles case of mem ref to stack arg.
+	(copy_rtx_and_substitute): Call it.
+	Also use it for address of a stack arg.
+
+	* gen*.c (fatal): Declare 1st arg as string.
+
+Wed May 24 00:13:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (init_optabs): Handle movdi and movdf insns.
+
+	* final.c (end_final): Realign locn ctr after outputting string.
+
+	* tm-sparc.h (LINK_SPEC): Link bb_link.o before standard lib.
+
+	* tm-sun386i.h (LINK_SPEC): Accept and ignore -sun386.
+
+	* gcc.c (find_exec_file): Use machine_suffix.
+	(process_command): Set that for -b option.
+
+	* integrate.c (function_cannot_inline_p): No size limit
+	for functions declared inline.
+
+	* loop.c (skip_consec_insns): New fn, skip several insns or libcalls.
+	(force_movables): New fn, part of scan_loop broken out.
+	(ignore_some_movables): New fn, ignore a movable whose insn
+	is within another movable's libcall.
+	(scan_loop): Call those three.
+	Don't handle m->consec for zero-extend movables, since always 0.
+
+Tue May 23 12:58:24 1989  Joe Weening  (weening at gang-of-four.stanford.edu)
+
+	* config/alliant.md:
+	Removed operand classes 'x', 'y', 'G', 'H'.
+	Added "%." to many opcodes to simplify comparison with m68k.md.
+	Changed TARGET_68881 to TARGET_CE.
+	Changed floating-point insns to better describe the Alliant CE.
+	Most args to floating-point insns are now nonimmediate_operand.
+	Removed special insns for pushing doublewords onto stack.
+	Added non-CE versions of movsf and movdf to avoid using FP
+	registers in this case.
+	(float*i*f2): Don't allow immediate ops.
+	(sne): Fix typo, fsne => fsneq.
+	(call, call_value): Changed to always pop args from stack
+	upon return; this gives better code than before and conforms
+	to Alliant calling standard.
+	Incorporated some recent changes to m68k.md.
+
+	* config/out-alliant.c:
+	(regno_reg_class): Removed FPA reg classes.
+	(output_move_const_double): Function not needed, removed.
+
+	* config/tm-alliant.h:
+	Removed FPA registers and reg classes.
+	Target flags: changed TARGET_68881 to TARGET_CE, removed
+	TARGET_RTD, TARGET_REGPARM, TARGET_FPA.
+	Removed TARGET_CE test in several places since we need to
+	use FP regs even for non-CE programs.
+	(TARGET_VERSION, CPP_SPEC): Define for Alliant.
+	(CONDITIONAL_REGISTER_USAGE): Removed, not needed.
+	(FRAME_POINTER_REQUIRED): Defined.
+	(RETURN_POPS_ARGS): Defined.
+	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P):
+	Use fp0 to return floating-point values.
+	(FUNCTION_ARG): Remove TARGET_REGPARM code.
+	(FUNCTION_ARG_PARTIAL_NREGS): Always 0.
+	(FUNCTION_PROFILER): Define for Alliant.
+	(FUNCTION_EPILOGUE): Remove use of rtd instruction.
+	Renamed CC_IN_68881 to CC_IN_FP.
+	(NOTICE_UPDATE_CC): Incorporate changes that were made
+	in tm-m68k.h.
+
+	* config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
+
+Tue May 23 12:58:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c: Don't include c-tree.h.
+
+	* tree.c (build_index_type): Use sizetype for min and max values.
+	Convert maxval rather than clobbering it.
+
+	* tm-hp9k320.h: Finish unterminated comment.
+
+	* sdbout.c (sdbout_parms): Use gen_fake_label for anonymous parm.
+
+Sun May 21 12:58:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (aggregate_value_p): New fn says whether expression is a type
+	that functions cannot return as a scalar.
+	(assign_parms, expand_function_start): Use that.
+	* expr.c (expand_call): Likewise.
+
+	* gcc.c (delete_failure_queue): New subroutine.
+	(delete_temp_files): No longer delete the failure queue.
+	(main): Delete failure queue after each failing compilation.
+
+Sat May 20 13:16:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (force_const_mem): New optional macro SELECT_RTX_SECTION.
+
+	* mips.md: Change %u0 to %:.
+	(movsi): Add constraint alternative accepting address arg.
+
+	* fold-const.c (mul_double): Special case for 2nd arg 2, 4, 8.
+	(combine): Special case shortcuts for plus, minus, mult, div.
+
+	* stmt.c (expand_function_start): Simplify hairy statement for 3B1.
+	* expr.c (expand_call): Likewise.
+
+	* math-68881.h: New file.
+
+	* m68k.md (movqi): Handle moving aregs to mem and vice versa.
+
+	* dbxout.c (dbxout_type): Don't test use_gdb_dbx_extensions
+	in cases that occur in C.
+
+	* stmt.c (expand_function_{start,end}): Make DECL_RESULT's rtl 0
+	when function returns no value.
+
+	* tree.c (build_decl): Initialize DECL_PRINT_NAME, DECL_ASSEMBLER_NAME.
+
+	* c-decl.c (store_parm_decls): Call init_function_start.
+
+Thu May 18 00:41:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_null_return_1): New arg USE_GOTO says jump to
+	return_label even if could otherwise use a return insn.
+	Make a return_label if we need one and don't have one already.
+	If have parm cleanups, always jump to cleanup_label.
+	(expand_null_return): Pass 1 for USE_GOTO if cleanups pending.
+	(expand_return): Set LAST_INSN if have local cleanups or parm cleanups.
+	Use that if jumping to tail-recursion label.
+	Optimization for returning a comparison is safe for local cleanups
+	but don't do it if there are parm cleanups.
+	Calling expand_null_return_1, pass 1 for USE_GOTO if local cleanups.
+	(this_contour_has_cleanups_p): New function.
+
+	* stmt.c (init_function_start): New function, beginning of
+	expand_function_start broken out.
+	Use DECL_PRINT_NAME to get function's name.
+	(expand_function_start): Now two args, function and PARMS_HAVE_CLEANUPS
+	Compute RETURN_LABEL sooner; make one if parm cleanups.
+	If parms have cleanups, put scalar return value in pseudo-reg.
+	Don't mark that pseudo with REG_FUNCTION_VALUE_P.
+	(expand_function_end): Simplify decisions about output of return_label
+	and return insn.
+	If DECL_RESULT is pseudo-reg, copy it to real return reg.
+
+	* stmt.c (expand_function_end): Handle ordinary struct values
+	like pcc, but only if unoptimized.
+	(expand_function_start): Make a return_label for ordinary struct value.
+
+	* stor-layout.c (layout_type): Handle METHOD_TYPE like FUNCTION_TYPE.
+	(layout_decl): Allow TYPE_DECL.
+
+	* stor-layout.c (layout_basetypes): Code for basetypes broken
+	out of layout_record.  Sets the type size tentatively.
+	(layout_record): Start with that tentative size.
+	Also, don't do anything with CONST_DECL members.
+
+	* stor-layout.c (layout_union): Simpler error report for static memb.
+
+	* reload1.c (eliminate_frame_pointer): Reduce PUSH_ROUNDING
+	conditional to apply only to push instructions.
+
+	* expr.c (expand_call): Fix stupid errors handling MAX_PARM_BOUNDARY.
+	* stmt.c (assign_parms): Likewise.
+
+	* toplev.c (announce_function, report_error_function):
+	(error_with_decl, warning_with_decl): Use DECL_PRINT_NAME.
+
+	* toplev.c (compile_file): Subtract integration_time from parse_time.
+
+	* toplev.c (compile_file): Don't output read-only static variables
+	at end of compilation if address was not used.
+
+	* toplev.c (rest_of_compilation): Handle flag_syntax_only.
+
+	* toplev.c (main): Handle -g0 and -G0 options.
+	For -g and -G, set use_gdb_dbx_extensions.
+
+	* toplev.c (main): Set `progname'.
+	(pfatal_with_name, fatal_io_error, {error,warning}_with_file_and_line):
+	(sorry): Print value of `progname', not "cc1".
+
+	* tree.def: Delete FRIEND_DECL.  Add PUSH_EXPR and POP_EXPR.
+
+	* tree.c (simple_cst_equal): Handle INDIRECT_REF.
+
+	* tree.c (lvalue_p): Handle METHOD_TYPE.  Handle NEW_EXPR.
+
+	* tree.c (copy_list): New function.
+
+	* tree.h (struct tree_decl): New fields print_name and assembler_name.
+	(DECL_PRINT_NAME, DECL_ASSEMBLER_NAME): New accessors.
+
+	* c-decl.c (LONG_DOUBLE_TYPE_SIZE): New compilation parameter.
+
+Wed May 17 22:07:17 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+
+	* dbranch.c (emit_delay_sequence): Reset insn code to -1 when
+	turning insn into a sequence so that it won't think that it matches
+	something in the md file.
+
+	* dbranch.c (insn_eligible_p): Call refers_to_regno_p with a
+	non-zero range.
+
+	* dbranch.c (pnote): Modified to make sure instruction clobbered
+	register is a set, rather than, say, a clobber.
+
+Wed May 17 14:01:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (sdbout_parms): Handle parm with no name.
+
+	* loop.c (combine_movables): Test for overlap of zero-extend regs
+	was screwed up.
+
+	* c-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
+	since c defines sizeof (char) as 1.
+	(pointer_int_sum, pointer_diff): Use c_sizeof{,_nowarn}. 
+
+Tue May 16 16:27:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (choose_reload_targets): Don't reuse regs
+	mentioned in reload_reg_rtx.
+
+	* tm-tahoe.h, tahoe.md, out-tahoe.c, xm-tahoe.h: New files.
+
+Mon May 15 16:25:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Exit with explicit status 0 at end.
+	cd to /usr/include before cd to subtree root in case of relative link.
+	Create dir $LIB earlier.
+	When checking for a link, treat .. like an absolute target.
+
+	* symout.c (symout_block_symbols): Give every local decl a typespec.
+	* cexp.y (parse_number):
+	* flow.c (life_analysis, dump_flow_info):
+
+	* loop.c (consec_sets_invariant_p): Logic error accepted consec sets
+	of which only one was invariant.
+
+	* expr.c (expand_expr): Use no subtargets inside loops.
+	* stmt.c (inside_loop): New function.
+
+Sun May 14 00:11:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h: Declare long long types.
+
+	* c-parse.y (combine_strings): Make string contents saveable.
+
+	* tree.c (savealloc): New function.
+
+	* m68k.md (movdi): % missing in fmove%.d.
+
+	* c-parse.y (yylex): Detect overflow past 64-bits.
+	Detect specially numbers not fitting in signed long long.
+
+Sat May 13 13:16:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (alter_frame_pointer_addresses): Preserve volatility.
+
+	* varasm.c (output_constructor): Die if BITS_PER_UNIT is too big
+	for this function to work.
+
+	* genpeep.c (match_rtx): For match_operator, match the operands, too.
+
+	* varasm.c (output_constant): Use ASM_OUTPUT_DOUBLE_INT for DImode.
+
+	* stor-layout.c (make_signed_type, make_unsigned_type):
+	(fixup_unsigned_type): Use HOST_BITS_PER_INT.
+
+	* stor-layout.c (layout_type): Use TFmode if appro.
+
+	* optabs.c (emit_cmp_insn): Use mode sizes to check cmpstrqi, cmpstrhi.
+
+	* c-typeck.c (get_floating_type): Compare MODE against modes of types.
+	(signed_type, unsigned_type, signed_or_unsigned_type, type_for_size):
+	Handle long long types.
+	(digest_init): Don't assume width of `char' is BITS_PER_UNIT.
+
+	* c-parse.y (yylex): For truncating chars, use width of `char' type.
+	Allow `ll' in int constants and make long long.
+	Also make long long if constant won't fit in an int.
+
+	* c-decl.c (SHORT_TYPE_SIZE): Round up when dividing.
+
+Fri May 12 22:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* real.h: Allow multiple inclusion.
+
+	* tm-sun386i.h (DBX_REGISTER_NUMBER): Bizarre renumbering.
+
+Thu May 11 00:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Fix non-ansi declaration of sprintf in X11/Xmu.h
+
+	* c-parse.y (stmt from expr): Do default conversion if useful
+	for sake of ({...}).
+
+	* sparc.md (andcc recognizer): Operand missing in subreg.
+
+Wed May 10 17:20:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* rtl.c (read_name): Error if name is missing.
+	(dump_and_abort): Don't print char args if -1.
+
+	* i386.md (umulqihi3): Operand numbers were missing.
+
+	* reload1.c (choose_reload_targets): Allow spill reg in find_equiv_reg
+	if it's free and correct class. 
+
+	* cse.c (canon_hash): Handle empty strings.
+
+	* cccp.c (macroexpand): Newline newline treated like real white space
+	when stringifying.
+
+	* Rename *offsetable* to *offsettable*.
+
+Tue May  9 22:54:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (finish_type): Layout any variants of the type.
+
+Tue May  9 12:30:28 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+
+	* final.c (final_scan_insn, final): Added an argument to
+	final_scan_insn to disallow peephole processing (to turn it off
+	during delayed branch scheduling).
+
+	* final.c (final_scan_insn): Made insn not matching any MD rtl a
+	criteria for delayed branch case.  Moved delayed branch case to just
+	before real insn recognition to reduce the number of insns on which
+	recog_memoized is called.
+
+Mon May  8 15:02:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes (LIB): Allow overriding.
+
+	* cccp.c: Don't search /usr/include/CC by default.
+
+Mon May  8 13:09:21 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+
+	* print-tree.c (dump): Fixed typo; IDENTIFIER ==> IDENTIFIER_NODE.
+
+Sun May  7 12:44:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* print-tree.c (dump): TYPE_NAME may be IDENTIFIER or TYPE_DECL.
+
+Sat May  6 00:13:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.def: Define EXACT_DIV_EXPR, for when remainder known as 0.
+	* fold-const.c (combine, fold, div_and_round_double): Handle new code.
+	* expr.c (expand_expr): Likewise.
+	* c-typeck.c (pointer_diff): Use EXACT_DIV_EXPR.
+
+	* integrate.c (expand_inline_function): Use size of passed type
+	for allocating stack slot with that type.
+
+	* c-parse.y (maybe_attribute, attribute*): New syntax for Apollos.
+	These tokens currently not generated.
+
+Fri May  5 18:43:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c [USG]: Undefine FLOAT for sake of sys/param.h on hpux.
+
+	* optabs.c (expand_binop): If backtracking, don't delete insns made
+	for -fforce-mem.
+
+Thu May  4 01:57:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (find_reloads): Don't compare an earlyclobber operand
+	with itself.
+
+	* reload.c (immune_p): Constants and stack slots don't overlap.
+
+	* Put no-ops in front of loops and labels,
+	to prevent confusion in the debugger.
+	* c-parse.y (loops and labels): Call emit_nop.
+	* stmt.c (emit_nop): New function--sometimes emit a no-op.
+	* *.md (nop): New insn.
+
+	* expr.c (expand_call): Typo in arg to FIRST_PARM_CALLER_OFFSET.
+
+Wed May  3 01:34:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (scan_loop): Scanning around end of loop
+	should not set maybe_never.
+
+	* Rename SELECT_VARIABLE_SECTION to SELECT_SECTION.
+	* varasm.c (get_or_assign_label): Use SELECT_SECTION if defined.
+	* varasm.c: Use EXTRA_SECTION_FUNCTIONS if defined (new macro).
+
+	* mips.md: Change %u to %u0 to avoid error check.
+
+	* tm-mips.h (TARGET_VERSNUM): Inc. to 1 08.
+	(TARGET_VERSION): Change strings.
+	(AL_DEBUG): Don't define it.
+	(HARD_REGNO_MODE_OK): Add some casts to int.
+	(STACK_ARGS_ADJUST): Name was misspelled.
+	(PRINT_OPERAND_ADDRESS): Just abort for MEM, POST_INC, etc.
+	(EXTRA_SECTIONS, SELECT_VARIABLE_SECTION, SELECTORS_EXTRA_SECTIONS,
+	SELECT_VARIABLE_CONST_SECTION): New macros.
+	(ASM_FILE_END): Change function name.
+	* out-mips.c (function_arg_advance): Delete debugging printfs.
+	(function_inarg, function_arg): Likewise.
+	(compare_collect, compare_restore): Add some.
+
+	* reload1.c (reload): Fix handling of caller_save_needed.
+
+	* stmt.c (expand_function_start): Clear caller_save_needed.
+
+	* stmt.c (emit_case_nodes): Some compiler has trouble with calling
+	a function pointer.
+	* gnulib.c: likewise.
+
+Tue May  2 15:32:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (combine_movables): For zero extend,
+	do each from-mode separately.
+
+Mon May  1 00:18:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-apollo68.h: New file.
+
+	* c-parse.y (is_reserved_word, hash): Add keywords `__asm__', etc.
+	* c-parse.gperf: Corresponding changes.
+
+	* c-parse.y (check_newline): Set main_input_filename before
+	considering optional arguments.
+
+	* final.c (final_scan_function): Return next insn to process.
+	Usually that's the following insn; occasionally, previous compare.
+
+	* c-decl.c (DOUBLE_TYPE_SIZE): Wrong value.
+
+	* reload.c (decompose): Failed to return value.
+
+	* Support local specified-register variables.
+	* varasm.c (decode_reg_name): New function, cvt asmspec to regnum.
+	(make_decl_rtl): Call that.
+	* toplev.c (rest_of_decl_compilation): Handle local specified-register
+	declarations.
+
+	* i386.md (tstqi, trunc*qi): Constrain to `q' regs.
+
+	* loop.c (scan_loop, move_movables): ->global for zero-extend register
+	now means register is used outside range from where it is set
+	to the following label.  Non-global zero-extend regs
+	may be entirely cleared.
+
+	* loop.c (combine_movables): Loop that combines matching movables
+	broken out from scan_loop.
+	Now also combine non-global zero-extend registers with each other
+	if their lifespans don't overlap.
+
+	* c-typeck.c (build_unary_op, ADDR_EXPR of a COMPONENT_REF):
+	Always convert to desired result type.
+
+Sun Apr 30 12:58:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): New macros parameterize int types.
+	CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE,
+	FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE.
+
+	* fixincludes: Use sed instead of ex.  No problem with split lines.
+
+	* print-tree.c (dump): Print type's name, if any.
+
+	* c-parse.y: Use __inline, not plain inline.
+
+	* toplev.c: New option -fdelayed-branch.
+	(compile_file): Open and close dbranch dump file.
+	Collect and print dbranch time.
+	(rest_of_compilation): Optionally do dbranch scheduling, 
+	only if HAVE_DELAYED_BRANCH.
+	(main): Handle -dd.
+
+	* rtl.c (copy_rtx): Handle null pointers as code `e'.
+
+	* final.c (dbr_sequence_length): New function.
+	(final_scan_insn): Most of `final' broken out.
+	Add support for SEQUENCE insns.
+	last_ignored_compare and new_block now top-level static.
+
+	* c-parse.y (MAX_WORD_LENGTH): Long enough for __volatile.
+
+Sat Apr 29 13:03:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (asm statements): Output line numbers.
+
+	* loop.c (emit_iv_init_code, emit_iv_inc, eliminate_biv): Copy
+	additive term rtx's to prevent sharing between insns.
+
+	* c-parse.y (check_newline): Increment input_file_stack_tick.
+	* toplev.c (report_error_function): Describe input stack only if
+	changed.
+
+	* c-decl.c (finish_struct): Reject zero width for named field.
+
+	* tm-sun3.h (CC1_SPEC): Prevent error on `-sun3'.
+	* tm-sparc.h (CC1_SPEC): Prevent error on `-sun4'.
+
+	* Makefile (cleanconfig): cleanlinks renamed; also delete gnulib.
+	(gnulib): Delete stamp-gnulib2 since gnulib2 should be redone after.
+
+Fri Apr 28 00:38:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc (genix): Correct xm file name.
+
+	* tm-genix.h: Undefine ASM_SPEC inherited from tm-encore.h.
+
+	* Makefile: Make float.h using hard-params.
+	(clean): Delete float.h.
+
+	* hard-params.c: New program.
+
+	* varasm.c (assemble_variable): Use SELECT_VARIABLE_SECTION if defined.
+	(in_section): Use EXTRA_SECTIONS if defined.
+
+	* toplev.c (compile_file): Call ASM_FILE_END if defined.
+
+	* gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Let config override.
+
+	* loop.c (emit_iv_init_code): Force A to a reg if it isn't.
+
+Thu Apr 27 12:51:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-mips.h (ASM_START_FILES): Don't call print_options.
+	Don't call the funny abort-functions.
+	* out-mips.c: Delete funny debugging functions and aborts.
+	(print_options): #if 0.
+	(compare_restore): Test for COMPARE, not MINUS.
+	(mips_section_get, mips_output_external, mips_asm_final): New fns.
+
+	* input.h: New file with *input_filename, lineno and input_file_stack.
+	Included in toplev.c and c-parse.y.
+	* c-decl.c (finish_function): LINENO is now arg.
+	* c-parse.y: Calls changed.
+
+	* c-parse.y (check_newline): Handle `1' or `2' from cpp
+	by pushing or popping input_file_stack.
+	* toplev.c (compile_file): Push main input file on input_file_stack.
+	(report_error_function): If in include file, print the chain
+	of include-locations.
+
+	* cccp.c (output_line_command): New arg says whether entering or
+	leaving a file.  Output `1' or `2' on #-line if so.  Callers changed.
+
+	* gnulib2.c: Little-endian fixes from csmith@convex.com.
+
+	* fixincludes: Wrong quoting in `echo' command.
+
+	* tm-mips.h (REG_P): Duplicate defn deleted.
+	(PRINT_OPERAND): `\' was missing.
+
+Wed Apr 26 02:44:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (handle_directive): Preprocess even #pragma, but copy 
+	to output file afterward.
+	(do_pragma): Use standard calling convention.
+	(install_builtins, special_symbol): Define __INCLUDE_LEVEL__.
+
+	* cccp.c (do_include): Don't forget to close file.
+
+	* final.c (output_asm_insn): Use PRINT_OPERAND_PUNCT_VALID_P
+	to validate punctuation after percent.
+	* tm-m68k.h, tm-alliant.h, tm-ns32k.h, tm-vax.h, tm-i386.h:
+	Define PRINT_OPERAND_PUNCT_VALID_P.
+
+	* Version 1.35 released.
+
+	* c-decl.c (grokdeclarator): Use INT_CST_LT only on int constants.
+
+Tue Apr 25 15:47:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload.c (find_reloads_address_1): Always return a value.
+
+	* flow.c (mark_set_1): Look inside zero_extract, sign_extract.
+
+	* expr.c (emit_library_call) [STACK_ARGS_ADJUST]:
+	Fix typo for `struct args_size'.
+
+Mon Apr 24 00:12:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* flow.c (mark_set_1): Look inside strict_low_part.
+
+	* c-typeck.c (decl_constant_value): Don't use var's init if volatile.
+
+	* print-tree.c (dump): Don't call walk on rtx's.
+
+	* integrate.c (expand_inline_function): Convert expanded arg from
+	passed mode to nominal mode.
+
+Sun Apr 23 13:14:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: fix _IO macros if split across two lines.
+	Fix typo: EOF was indented.
+
+	* gnulib2.c: New file with DImode library routines.
+	* Makefile (gnulib2): Put them into gnulib.
+	Must be explicitly requested.
+
+Fri Apr 21 13:45:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (main): Don't turn on trigraphs for -Wtrigraphs or -Wall;
+	use -trigraphs for that.
+
+	* cccp.c (main): Use -trigraphs to enable trigraphs.
+	* gcc.c: Pass -trigraphs to cpp; don't pass -T.
+
+	* Makefile: Variable srcdir relates location of sources
+	to current directory.  Default is `.'.
+
+	* integrate.c (expand_inline_function): When copying expanded arg,
+	use mode it's passed in, not arg's nominal mode.
+
+	* dbxout.c (dbxout_block): Print generated name with assemble_name.
+
+Thu Apr 20 12:36:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stdarg.h: check __sparc__ instead of sparc.
+
+Tue Apr 18 18:58:03 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-next.h (STARTFILE_SPEC): Define it.
+
+Mon Apr 17 19:56:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* dbxout.c (dbxout_block): Use ASM_GENERATE_INTERNAL_LABEL to format
+	the labels LBB... and LBE...
+
+Sun Apr 16 23:57:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* mips.md: Change MINUS to COMPARE where appropriate.
+
+Sat Apr 15 16:11:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (finish_struct, redeclaration_error_message):
+	Rename variables named OLD and NEW.
+
+	* sparc.md (cse'd mult pattern): Handle memory operands.
+	Optimize small integer operands.
+
+	* stmt.c (expand_decl): On sparc, ensure dynamic arrays of doubles
+	are properly aligned, despite unaligned STACK_POINTER_OFFSET.
+
+Fri Apr 14 10:59:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_call): Bugs treating struct value address as param:
+	do so only if it's supposed to be pushed;
+	decode value of FUNCTION_ARG properly.
+
+	* tm-altos3068.h (CPP_SPEC): Some braces were dropped.
+
+	* gcc.c (pexecute): Print message when exec fails.
+	(perror_exec): New fn.
+	(perror_with_name,pfatal_with_name): Change message syntax.
+
+	* tm-hp9k320.h (ASM_IDENTIFY_GCC): Define as no-op.
+
+Wed Apr 12 00:20:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (cse_insn): Can record constant value being stored in
+	a bit field, if we can tell that truncation won't change it.
+
+	* m68k.md (bfset, bfclr, bfchg insns): Do CC_STATUS_INIT
+	since the cc's are set from the old contents.
+
+	* gcc.c (compilers): Running `as', put -o option before input file.
+
+	* gcc.c: Delete output file only if that file's compilation fails.
+	* gcc.c (record_temp_file): Changed args: always_delete, fail_delete.
+	(store_arg): Likewise.  Callers changed.
+	(clear_failure_queue): Called after each compilation.
+
+Tue Apr 11 01:18:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (subst): (SET (ZERO_EXTRACT) (OR (ZERO_EXTRACT) const))
+	optimization was sometimes invalid.
+
+	* tm-m68k.h (NOTICE_UPDATE_CC): A doubleword move that requires 2 insns
+	does not set the cc's usefully.
+
+	* Makefile (cleanlinks): Just do `clean', not `realclean'.
+	(realclean): Delete config links also.
+
+	* expr.c (expand_call): Handle case where return value is in memory
+	but TARGET is a register.
+
+	* c-typeck.c (build_binary_op_nodefault): New arg ERROR_CODE
+	is passed to binary_op_error instead of CODE.
+	All callers changed.
+	(binary_op_error): CODE = NOP_EXPR is new special case.
+	(truthvalue_conversion): Call build_binary_op_nodefault directly
+	and specify NOP_EXPR for the error code.
+
+	* c-decl.c (xref_tag): If pedantic, warn on fwd ref to enum.
+
+Mon Apr 10 19:44:48 1989  Chris Smith  (csmith at mozart)
+
+	* tm-convex.h (PCC_BITFIELD_TYPE_MATTERS): It doesn't,
+	but set it anyway.  It makes for better code on this
+	word machine.
+
+	* convex.md (one_compl*): add not:QI and not:HI, which
+	do get used after all.
+
+	* tm-convex.h (A_REG_P, S_REG_P): define new macros
+	convex.md: use them
+
+	* convex.md (addsi3): tidy up constraints.
+
+	* tm-convex.h (REG_OK_FOR_INDEX_P): stack pointer is not ok.
+
+	* convex.md: add a pattern to push REG+CONST so we can
+	prefer an A reg.
+
+	* tm-convex.h (tstqi): should sign extend, not zero extend.
+
+	* expr.c (convert_move): Extending narrow to DI via SI,
+	operand of extendsidi2 was wrong.
+
+	* emit-rtl.c (gen_lowpart): Handle CONST_DOUBLE.
+
+Mon Apr 10 05:19:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* recog.c (nonmemory_operand): Test constant operands
+	as general_operand does.
+
+	* tm-m68k.h (PRINT_OPERAND): Limit effect of code `d'
+	to constant addresses.
+
+	* loop.c (can_eliminate_biv_p, eliminate_biv): Don't rely on givs with
+	nonconstant coefficients, since the coeffs could be zero.
+
+	* loop.c (can_eliminate_biv_p): Check each giv for ! ignore
+	before assuming it can be used.
+	(check_eliminate_biv): New fn, a piece of strength_reduce broken out.
+
+	* cccp.c (error_from_errno): New fn, like error and perror_with_name.
+	(do_include): Call that if open fails.
+	(finclude): Print I/O error msg before closing desc.
+
+	* c-decl.c (shadow_tag): If more than one tag or structure,
+	or anything other than a tag, warning.
+
+	* c-parse.y (components): Just warn if memb decl has no member,
+	and only if pedantic.
+
+	* loop.c (strength_reduce): Print uids, not luids, for dump.
+	(record_giv): giv_count field counts only DEST_REG givs.
+	(check_dbra_loop): src_two_before_end was set wrong.
+
+	* loop.c (record_giv): New arg LOOP_END; all callers changed.
+	Don't mark giv replaceable if used past LOOP_END.
+	(find_mem_givs): New arg LOOP_END; all callers changed.
+
+	* out-i386.c (FP_CALL): Make this a `return' stmt.
+
+Fri Apr  7 11:56:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr, case ..._DECL): Preserve mode thru
+	calling change_address.
+
+	* expr.c (emit_library_call): Typo: ARGNUM => COUNT.
+
+	* expr.c (preexpand_calls, expand_call): Take note of RETURN_IN_MEMORY.
+	* stmt.c (assign_parms): Likewise.
+	* integrate.c (function_cannot_inline_p): Likewise.
+
+	* STACK_ARGS_ADJUST: Arg is now a `struct arg_data' and it should
+	be updated in place.
+	* tm-mips.h: Define it.
+	* expr.c (expand_call): Adapt to this.  Assume padding comes after args
+	so turn off the feature of changing the args' offsets.
+	(emit_library_call): Adapt to this.
+
+	* tm-mips.h (PRINT_OPERAND): Use CONST_DOUBLE_{LOW,HIGH}.
+	Truncate SFmode constants to single precision.
+
+	* c-typeck.c (mark_addressable): Fix test for local vs global reg var.
+
+	* config.gcc: Change `:-' to `-' in var refs.
+	Shell on convex doesn't handle `:-'.
+
+Thu Apr  6 00:09:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Compare actual's mode
+	against formal's DECL_ARG_TYPE's mode, not TREE_TYPE's mode.
+
+	* c-decl.c (implicitly_declare): Make the decl permanent if
+	in global binding level.  (Can happen for certain invalid input.)
+
+	* c-typeck.c (build_modify_expr): Block path that made a MODIFY_EXPR
+	containing an ERROR_MARK.
+
+	* config/tm.h: New file.
+
+	* loop.c (only_reg_use_p): Fix bugs in recursion, add some fast
+	special cases.  Comment on return value was backwards.
+	(strength_reduce): Negate the value of only_reg_use_p.
+
+	* genoutput.c (output_prologue): Output `#include hard-reg-set.h'.
+	* Makefile: insn-output.o depends on that.
+
+	* toplev.c (main): Typo recognizing -Wswitch.
+
+	* config.gcc (mips): New alternative.
+	* tm-mips.h, out-mips.c, mips.md, va-mips.h: New files.
+	* varargs.h: Include va-mips.h if on mips.
+
+Wed Apr  5 16:58:04 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): Rename OLD, NEW to OLDDECL, NEWDECL.
+
+	* stmt.c (expand_function_start): Ref subr instead of
+	current_function_decl; should make no difference.
+
+	* stmt.c (assign_parms): Do extra padding for some parms,
+	controlled by MAX_PARM_BOUNDARY.
+	* expr.c (expand_call): Same thing for caller side.
+	Note this is implemented only for machines that lack push insns.
+	Also, in both cases, it doesn't handle variable-size args.
+
+Tue Apr  4 12:22:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (find_file): Try STANDARD_EXEC_PREFIX for startfiles too.
+
+	* varasm.c (make_decl_rtl): Delete never-executed clause.
+
+	* spur.md (movqi, loadhi, extend*, zero_extendhisi):
+	Make subregs with C code, not RTL patterns, so we can
+	avoid generating subreg of subreg.
+
+	* optabs.c (emit_cmp_insn): Not all clauses always succeed,
+	so stop using `else' structure.
+
+	* stmt.c (expand_return): Avoid moving void to void, in cleanups case.
+
+Mon Apr  3 18:04:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* m68k.md (cmphi): Don't allow a-reg vs a-reg, since that sign-extends.
+	If there is one a-reg, make sure it is not last.
+
+Sun Apr  2 13:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (agg_mode): Use highest mode that has desired size.
+	Allow all integer modes, but reject sizes > MAX_FIXED_MODE_SIZE.
+	(That defaults to the size of DImode.)
+
+	* machmode.def: Add PSI, PDI and XF, CXF modes.
+
+Sat Apr  1 00:50:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* ns32k.md (ashd, lshd): Delete patterns that logand the count with 31.
+	The shift count is not truncated on this machine.
+
+	* combine.c (subst): Simplify nested or's, nested xor's.
+	(try_distrib): XOR doesn't distribute through anything.
+
+	* rtl.c (rtx_equal_p): Don't die on null pointers.
+
+	* loop.c (eliminate_biv): Use COMPARE, not MINUS, in generated compare.
+
+	* loop.c (invariant_p): Mem refs in constant pool are invariant.
+
+	* c-decl.c (redeclaration_error_message): If -traditional, allow
+	redeclarations of typedef provided they agree.
+
+	* c-decl.c (start_decl): Do expand_decl on the decl that pushdecl
+	returns.  If there was a prev. decl with a different type,
+	we have changed its type and cleared its old rtl, so it need new rtl.
+
+Sat Apr  1 00:50:11 1989  Matthew Self  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (convert_move): Modified to use mode classes
+	instead of refering to specific machine modes.
+
+	* expr.c (do_jump): Converted to use CONST0_RTX macro.
+	do_jmp no longer refers to any machine modes directly except
+	for VOIDmode!
+
+	* expr.c (compare, compare1): Modified to use CONST0_RTX
+	macro.  No longer refers to any machine modes directly
+	except VOIDmode and BLKmode!
+
+	* machmode.def: Documented assumptions made about the order
+	of machine modes during mode widening.
+
+	* optabs.c (expand_binop, expand_twoval_binop, expand_unop,
+	emit_cmp_insn): Added mode widening which is independent of
+	specific machine modes.  It assumes that we may widen to any
+	higher numbered mode of the same mode class.
+	  NOTE: the checks for VOIDmode ops which were present in
+	QI and HI to SI widening are now present in all widening.
+	I assume this is correct.  Also, widening is now possible
+	from QI to HI.  This may or may not be a good thing....
+
+	* rtl.h (CONST0_RTX): Added definition of new macro
+	CONST0_RTX (mode).
+
+	* rtl.h (GET_NOTE_INSN_NAME, GET_REG_NOTE_NAME): New macros.
+	* rtl.c (note_insn_name, reg_note_name): New tables.
+	* rtl.def (NOTE): Change last field from `i' to `n'.
+	* rtl.c (print_rtx): Print mode of INSN_LIST or EXPR_LIST as reg-note.
+	Print operand code `n' as name of kind of note.
+	(read_rtx): treat `n' like `i'.
+
+	* loop.c (struct induction): Add `mode' field.
+	(strength_reduce, record_giv): Set the `mode' field in V.
+	(can_eliminate_biv_p, eliminate_biv): Use that field.
+
+	* loop.c (struct iv_class): `init_insn' records what inits the biv.
+	Replaces `init_val_set' flag.
+	(strength_reduce): Update and test `init_insn' instead.
+	Use of a biv between its init and the start of the loop
+	does not preclude its elimination from the loop.
+	Setting a giv is ok for eliminating a biv, even if giv is "ignore",
+	since that just means giv will be combined with another.
+	Handle some DEST_ADDR givs for that purpose.
+	Test for giv-setting before check can_eliminate_biv_p.
+	New error check for replaceable giv whose value needed after loop.
+	(only_reg_use_p): New fn.
+
+	* expr.c (expand_expr): PLUS, MINUS with EXPAND_SUM:
+	Associate even harder.
+
+	* loop.c (strength_reduce): Treat all constant biv init vals like ints.
+
+	* loop.c (strength_reduce): Clear all_reduced when v->ignore is set;
+	the code to check this later didn't always do the job.
+
+	* loop.c (verify_loop): Set loop_continue.
+	(scan_loop): mention its value.
+	* rtl.h: Define NOTE_INSN_LOOP_CONT.
+	* stmt.c (expand_loop_continue_here): Output one.
+
+Fri Mar 31 10:08:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (pointer_int_sum, pointer_diff): Treat const void * like
+	void *.
+
+	* rtl.c (rtx_addr_varies_p): Don't die on null exp.
+	* cse.c (refers_to_mem_p, refers_to_p): Likewise.
+
+	* gcc.c (validate_switches, validate_all_switches): New fns.
+	Mark a switch as valid if any compiler spec or the linker spec
+	matches it, even for languages not being used.
+
+Thu Mar 30 00:22:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* loop.c (loop_optimize, move_movables): when moving a `clr' insn used
+	in zero-extension, sometimes change it to an `and' so that the
+	significant low bits are not clobbered.
+
+	* cccp.c: Implement __BASE_FILE__ and #once.
+	(savestring): New fn.
+	(struct file_name_list): new name for struct directory_stack.
+	(enum node_type): Add T_ONCE, T_BASE_FILE.
+	(directive_table): Add #pragma once.
+	(initialize_builtins): Add __BASE_FILE__.
+	(special_symbol): Handle __BASE_FILE__, together with __FILE__.
+	(do_include): Ignore the file if it's on the #pragma once list.
+	(do_once): New fn; add current file to #pragma once list.
+
+	* cccp.c (do_include): Don't add non-ex files to list of deps.
+
+	* config.gcc: Use {...:-...}, not {...=...}.
+
+	* c-parse.y: Add precedence for IF/ELSE, and for parens;
+	avoids some conflicts.
+
+	* tm-newsgas.h: Include tm-news.h and define USE_GAS.
+
+	* tm-news.h: New name for tm-news800.h.
+	If not USE_GAS, define SONY_ASM.
+	Don't define USE_GAS by default.
+	(CPP_PREDEFINES): Various alternatives depending on processor type.
+	(ASM_FORMAT_PRIVATE_NAME): Override this.
+	(ASM_IDENTIFY_GCC): Override; output nothing.
+	(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Round fsize up to % 4.
+	Max for halfword link insn is 32k, not 64k.
+	(FUNCTION_EPILOGUE): Don't output move.l if no regs to restore.
+	(PRINT_OPERAND_ADDRESS): Change handling of tableref pc-rel addresses.
+	* m68k.md (movhi): Add SONY_ASM conditional.
+
+	* cse.c (cse_insn): If replacing a dest address, preserve MEM_IN_STRUCT
+
+	* gcc.c (error, fatal): alternate varargs defns if HAVE_VPRINTF.
+
+Wed Mar 29 09:54:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (process_command): Check WORD_SWITCH_TAKES_ARG, so that
+	-Tdata can be handled right.
+
+	* stmt.c (check_for_full_enumeration_handling): new fn, for warn_switch
+	(expand_end_case): Call it, if orig index was enum.
+	* toplev.c (main): Handle -Wswitch.
+	* c-parse.y (SWITCH stmt): Pass orig switch expr to expand_end_case.
+
+	* tm-*.h, out-*.c: Uniformly use reg_names, not reg_name, and don't
+	define any duplicates.
+	* final.c: Delete reg_name.
+
+	* c-parse.y (is_reserved_word): Add keywords __asm and __inline;
+	also __const and __volatile.
+	(yylex): Keywords that start with `__' are recognized regardless of
+	-traditional or -ansi.
+
+	* c-parse.y (check_newline): Always recognize #ident.
+	Macro IDENT_DIRECTIVE is no more.
+	If ASM_OUTPUT_IDENT is undefined, don't output anything for #ident.
+	* tm-3b1.h: Don't define IDENT_DIRECTIVE or ASM_OUTPUT_IDENT.
+	* tm-encore.h, tm-i386gas.h, tm-i368v.h, tm-sun386i.h, tm-vaxv.h:
+	Don't define IDENT_DIRECTIVE; define ASM_OUTPUT_IDENT to output in
+	default way.
+
+	* expr.h (RETURN_IN_MEMORY): New macro, default defn here.
+	* expr.c (expand_call): Use it to control where to return value.
+	* stmt.c (expand_function_start): Likewise.
+
+	* out-sparc.c (find_addr_reg): Abort if none found.
+	Eliminate confusion; do only one change between tests for PLUSness.
+	(output_move_double): Arg to find_addr_reg is address, not mem ref.
+	* out-m68k.c, out-spur.c, out-i386.c, out-alliant.c: Likewise.
+
+	* jump.c (find_cross_jump): Don't let either E1 or E2 be included
+	in the range of matching insns preceding the other (E2 or E1).
+
+	* c-parse.y (check_newline): No error for `#pragma\n'.
+
+	* Makefile (gcc.o): Control STANDARD_STARTFILE_PREFIX here.
+
+	* stmt.c (walk_fixup_memory_subreg): handle null.
+
+	* tm-sparc.h (FUNCTION_BLOCK_PROFILER): Change LPBnn to LPYnn,
+	to avoid conflict with final.c.
+
+Tue Mar 28 15:23:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (do_include): If fail, print system error message.
+	(perror_with_name): Use more standard error format.  Inc. `errors'.
+
+	* dbxout.c (dbxout_function): Output any temporary types
+	that were made by dbxout itself.
+
+	* stmt.c: always use an epilogue if pcc-struct-return.
+	(expand_function_start): Compute return_label after testing that.
+	(expand_function_end): Output a return insn after pcc-struct-return
+	processing, if there is a return insn.
+	(expand_null_return): Don't output a return insn, in that case.
+	Simplify the conditions--depends entirely on HAVE_return.
+
+	* tm-m68k.h (FUNCTION_BLOCK_PROFILER): Use jsr, not call.
+
+	* reload.c (find_reloads): Certain mem addresses will be offsetable
+	after reloading; in particular, those where reg_equiv_address applies.
+
+	* loop.c (check_dbra_loop): Change MINUS to COMPARE.
+
+	* c-typeck.c (convert_for_assignment): Return THE standard error_mark.
+
+Thu Mar 23 09:39:02 1989  Richard M. Stallman  (rms at watson)
+
+	* c-parse.y (components): Error if empty.
+
+	* dbxout.c (dbxout_symbol): Output const variables as N_STSYM.
+
+	* varasm.c (force_const_mem): Use ASM_OUTPUT_DOUBLE_INT if defnd.
+
+	* c-decl.c (grokdeclarator): Warn about `long long long'.
+
+	* reload1.c (reload): When changing REG to MEM, clear REG_USERVAR_P.
+	* final.c (alter_subreg): Preserve volatile bit of MEM.
+
+	* m68k.md (cmpsi, cmphi): Permit cmpm.
+
+	* gcc.c (find_file): Use standard_startfile_prefix_2.
+	Now search /usr/local/lib/, /lib/ and /usr/lib/.
+
+	* tm-m68k.h (PRINT_OPERAND): Support code `d'.
+	* m68k.md (cmpsi, cmphi, cmpqi): Use it for all mem addresses.
+
+	* final.c (output_asm_insn): Don't allow %LETTER without an
+	operand number.
+	* tm-m68k.h, m68k.md, tm-hp9k320.h, tm-news*.h: Use %@ instead of %s.
+	* tm-alliant.h, alliant.md: Likewise.
+	* i386.md, out-i386.h: Put `0' after each %L, %W, %B, %S, %Q, %R.
+
+	* stmt.c (expand_end_stmt_expr): Pop pending stack args.
+
+	* varasm.c (assemble_variable): For 0-size common variable,
+	allocate at least 1 byte.
+
+	* tm-encore.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Use 0f, not 0l,
+	for doubles.
+
+Mon Mar 13 10:24:56 1989  Richard M. Stallman  (rms at ccvi)
+
+	* out-i386.h (function_prologue, function_epilogue):
+	Use call_used_regs, not a copy, so -f options work.
+	Save regs in the opposite order.
+	Save regs even starting from 0 if they happen to be call-saved.
+
+	* Bug fixes from Rob McMahon.
+
+	* loop.c (strength_reduce): When inserting insn to set
+	nonreplaceable giv, put it after all the consecutive insns
+	that compute it.
+
+	* reload.c (find_reloads): When forcing const to mem,
+	use the insn's operand mode, not the const's mode.
+
+	* reload1.c (choose_reload_targets): Use wider of inmode and outmode
+	when determining have_groups.
+
+	* reload1.c (choose_reload_targets): typo checked wrong insn with
+	constraint_accepts_reg_p.
+
+	* reload1.c (choose_reload_targets): Enable #if-0'd code for
+	forgetting old reloads in case of output reload from a non-spill-reg.
+
+Sun Mar 12 00:04:49 1989  Richard M. Stallman  (rms at ccvi)
+
+	* c-parse.y (yyerror): Add forward-decl here.
+	* c-tree.h: Delete decl here.
+
+	* New macro USE_C_ALLOCA.
+	* cse.c (cse_main): Do alloca (0) to clear out C alloca.
+	* flow.c (life_analysis):
+	* local-alloc.c (local_alloc):
+	* reload1.c (reload_as_needed): likewise.
+
+	* loop.c (emit_iv_init_code, eliminate_biv):
+	Always put constant in a PLUS last.
+
+	* gcc.c (make_switch): Unused function deleted.
+
+	*gcc.c (switches): Each switch has a `used' field.
+	(process_command): Init it to 0 when making `switches'.
+	(do_spec_1, handle_braces, give_switch): Set to 1 when switch is used.
+	(main): If it remains 0 at the end, print error message.
+
+	* expr.c (convert_move, convert_to_mode): Don't truncate a MEM in
+	place if it is volatile.
+
+	* loop.c (strength_reduce): When reducing a giv, if the biv is
+	incremented between the giv's creation and its use, increment
+	the reduced giv var *after* its use.
+
+	* c-decl.c (duplicate_decls): Warn about proto vs nonproto
+	only if no other errors apply.
+
+	* jump.c (invert_exp): Don't crash if arg is null.
+
+	* alliant.md (float*i*f2): Don't allow immediate ops.
+	(sne): Fix typo, fsne => fsneq.
+
+	* expr.c (store_one_arg, expand_call): When size doesn't matter,
+	pass const0_rtx, not (rtx) 0.
+
+	* expr.c (do_jump): Args to invert_exp were missing.
+
+	* gcc.c (store_arg): Now 2 separate args for delete-on-success
+	and delete-on-failure.  All calls changed.
+	(do_spec_1): DELETE_THIS_FILE is meaningful for output files.
+
+	* config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
+
+Sat Mar 11 10:30:41 1989  Richard M. Stallman  (rms at ccvi)
+
+	* tm-*.h, xm-*.h, *.md: Moved to subdir `config'.
+	* output-*.c: Moved to `config/out-*.c'.
+	* Makefile (.c.o): Define rule to use -Iconfig when compiling.
+	(various): Delete the commands from some compilation rules.
+	Put -Iconfig in other compilation commands.
+	Also some reordering of variable defs and comments for cleanliness.
+	(realclean): Change a shell comment to a Make comment.
+
+	* fold-const.c (fold): Simplify and extend TRUTH_... operators
+	knowing that args must be ints and values will be 0 or 1.
+
+	* gcc.hlp: New file (for VMS).
+
+	* reload1.c (reload): Don't let two 2-groups overlap.
+
+	* reload.c (push_reloads): When a plain reg matches a reload
+	for an increment, don't change the reload_in to a plain reg.
+	Leave the increment there.
+
+	* integrate.c (expand_inline_function): Don't try to inline
+	unless the parm machine modes really match what's expected.
+
+	* stmt.c (emit_case_nodes): default_label is an rtx, not tree.
+
+	* tm-next.h (DOLLARS_IN_IDENTIFIERS): Define it as 1.
+
+	* output-sparc.c (output_move_double): Don't trust random structs
+	to be double-word aligned.
+
+	* gcc.c: Pass -Wcomments to cpp.
+
+	* rtl.def (ASM_OPERANDS): New operands, source file and line.
+	* rtl.h (ASM_OPERANDS_*): New macros for components of ASM_OPERANDS.
+	* stmt.c (expand_asm_operands): Use new fields, not REG_ASM_* notes.
+	* toplev.c (error_for_asm): likewise.
+	* rtl.h (enum reg_note): Delete REG_ASM_FILE, REG_ASM_LINE.
+
+	* combine.c (try_combine): Check explicitly for volatility in I2, I1.
+
+Fri Mar 10 19:30:10 1989  Richard M. Stallman  (rms at ccvi)
+
+	* c-parse.y (GOTO stmt): Set TREE_USED for the label.
+	* c-decl.c (poplevel): Warn about unused label.
+
+	* c-decl.c (warn_pointer_arith, warn_strict_prototypes): New vars.
+	(lang_decode_options): Options to set them.
+	* c-typeck.c (pointer_int_sum, c_sizeof): Maybe warn if bad target.
+	* c-decl.c (grokparms): Maybe warn if nonprototype fn decl.
+
+	* flags.h, toplev.c (warn_shadow): New flag.
+	* toplev.c (main): Decode it.
+	* c-decl.c (pushdecl): Maybe warn about any shadowing.
+	Existing parm-shadowing warning now disabled if shadowing decl
+	is also a parm.
+
+	* flags.h, toplev.c (warn_id_clash, id_clash_len): New flags.
+	* toplev.c (main): Decode -Wid-clash-LEN.
+	* tree.c (get_identifier): Implement warning if two idents match.
+
+	* toplev.c (compile_file): Warn about statics defined and unused.
+
+	* rtl.h (CONST0_RTX): New macro.
+
+	* recog.c (offsetable_address_p): New 1st arg says whether to demand
+	a strictly valid address.
+	(offsetable_memref_p): Pass nonzero.
+	* stmt.c (optimize_bit_field): Pass zero.
+
+	* cccp.c (main): Allow -Wcomment like -Wcomments.
+	* c-decl.c (lang_decode_options): Likewise.
+
+Sun Mar  5 15:02:59 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
+
+	* m68k.md [tstdf, cmp[sd]f, truncdfsf2, floatsi[sd]f2, add[sd]f3,
+	sub[sd]f3, mul[sd]f3, div[sd]f3, neg[sd]f2, abs[sd]f2]: Made sure
+	that the test function's in the match_operands of the define_expand
+	and define_insn's matched, and made that test function
+	"register_operand" when both define_insn's really needed registers
+	in that spot.
+
+Sat Mar  4 00:25:37 1989  Richard M. Stallman  (rms at c2v)
+
+	* expr.c (emit_push_insn): Don't ever bypass the big-endian
+	padding at the end.
+
+	* cccp.c (deps_output): Break line if would otherwise exceed 75 chars.
+	Make a name for that value 75.
+
+	* combine.c (subst): Handle general case of (subreg (sign_extend X)).
+
+	* tm-sun386i.h (CPP_PREDEFINES): Define `sun'.
+
+	* fixincludes: change `find' calls to find dirs thru symlinks.
+
+	* flow.c (mark_set_1): (set (subreg (reg N))...)
+	does make reg N significant for this basic block.
+
+Fri Mar  3 13:55:25 1989  Richard M. Stallman  (rms at c2v)
+
+	* c-decl.c (parmlist_tags_warning): Print an explanation
+	for the first such warning.
+
+	* i386.md (extendsfdf): Let op 1 match op0 if that is an fp reg.
+
+	* expr.c (expand_call): Fix stupid errors copying pcc struct value.
+
+	* varasm.c (output_constructor): Discard NOP_EXPRs from build_c_cast.
+
+Thu Feb 23 05:55:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.34 released.
+
+	* c-typeck.c (build_c_cast): If EXPR is an error mark, return that.
+
+	* fold-const.c (div_and_round_double): Abort if divisor is 0.
+	(combine): Likewise, for real constants.
+	(real_zerop): New subroutine.
+	(fold): Don't try to fold division if divisor is 0.
+	Don't try to fold reals if can't do arithmetic on them.
+	Don't try to compare reals for TRUTH_..._EXPR if can't do arith.
+	Use real_zerop to test reals for zeroness.
+	For TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, can simplify based on
+	first operand alone.
+
+	* c-typeck.c (store_init_value): Fix error msg text.
+
+	* tm-sparc.h (FUNCTION_PROFILER): Use `mcount'.
+	* tm-sun4os3.h (FUNCTION_PROFILER): Override it; use `.mcount'.
+
+Wed Feb 22 04:33:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-hp9k320.h (CPP_SPEC, CPP_PREDEFINES): Make handling of
+	-Dmc68000 depend on TARGET_DEFAULT.
+
+	* tm-sparc.h (FUNCTION_PROFILER): Missing newline in fprintf.
+
+	* integrate.c (expand_inline_function): Don't map struct-value-address
+	in memory if fn does not use it.
+
+	* c-parse.y (check_newline): At skipline, detect eof.
+
+	* stmt.c (uninitialized_vars_warning): Change text of warning.
+
+Tue Feb 21 03:58:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_mul_insn): Handle case of both args
+	in reg 8, or both in reg 9.
+
+	* tm-sparc.h (ASM_SPEC): Define, to handle -pipe.
+
+	* tm-sparc.h (FUNCTION_PROFILER): Add omitted fprintf args.
+	(BLOCK_PROFILER): Likewise.  Use tempvar.
+
+	* m68k.md (QImode btst): Allow nonoffsetable mem refs.
+
+Mon Feb 20 00:32:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* flow.c (mark_used_regs): Don't record about global reg vars.
+
+	* config.gcc (convex-*): tm file names are tm-convex1.h, tm-convex2.h.
+
+	* tm-vax.h, tm-ns32k.h, tm-alliant.h: Define PCC_STATIC_STRUCT_RETURN.
+
+	* gcc.c (compilers): Pass `-a' to cc1.
+	* tm-sun3.h, tm-sparc.h (LIB_SPEC): Define, to handle `-a'.
+
+	* expr.c (emit_push_insn): Copy stack addresses to be passed to bcopy;
+	old method of preadjustment is broken by changes in emit_library_call.
+
+	* c-decl.c (finish_decl): New temp `temporary'; don't get confused
+	about whether allocation was temporary.
+
+Sun Feb 19 17:03:35 1989  Chris Smith  (csmith at mozart)
+
+	* tm-convex.h: define PCC_STATIC_STRUCT_RETURN
+
+	* convex.md:
+	remove pshea patterns, movsi does it better.
+	add ashift:DI abs:DF abs:SF
+	(tstdi): use a clobbered register instead of a bogus DImode zero.
+	(trunchiqi2): delete noninstruction cvth.b
+	(udivsi3, udivhi3, udivqi3): deleted, expand_divmod does it now.
+	(call, call_value): delete stupid call/ret -> jump optimization.
+	(call, call_value): flush call_ap_check, use reg_mentioned_p instead.
+
+	* convex.md: (movxx): swap constraint alternatives so that the
+	leftmost alternative is (set =g r).  This makes (set mem const)
+	get combinable input reloads of const instead of uncombinable
+	output reloads to mem.  They still do not combine, but wtf,
+	I'll inch up on it.
+
+	* output-convex.c: (const_double_{high,low}_int): new routines
+	to pick apart const_doubles for assembler.
+
+Sun Feb 19 01:40:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (shift memory right 24 bits): Another `a1' typo.
+
+	* config.gcc (convex-*): Delete troublesome whitespace.
+
+	* c-decl.c (grokparms): Delete redundant `parm != 0' tests.
+
+	* stmt.c (fixup_memory_subreg): Slight simplification.
+
+	* tm-sparc.h (FUNCTION_PROFILER): Fill delay slot.
+	(FUNCTION_BLOCK_PROFILER): Use sethi.
+	(BLOCK_PROFILER): Use %g2, not %g0.  Use sethi.
+
+Sat Feb 18 02:11:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr): Ignore const array's initial value
+	if it's an error_mark.
+	* c-decl.c (finish_decl): Set DECL_INITIAL to an error_mark
+	if the decl is a permanent node.
+
+	* cccp.c (rescan): If traditional, if macro ends inside string,
+	keep scanning for the end of the string.
+	(handle_directive): A line of just `#' becomes blank.
+	(collect_expansion): \ in strings traditionally doesn't hide macro arg.
+
+	* m68k.md, alliant.md (addsi3): New alternative a=r+a, in addition
+	to old a=a+r, needed since reload-insns are not commuted.
+
+Fri Feb 17 03:15:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-m68k.h (PCC_STATIC_STRUCT_RETURN): Define it.
+	* toplev.c, flags.h: New var flag_pcc_struct_return.
+	* stmt.c (expand_function_start): Obey new flag and new variable.
+	* expr.c (expand_call): Obey new flag and new variable.
+	* varasm.c (assemble_static_space): New function.
+
+	* stmt.c (expand_return): If we need cleanups, compute retval first
+	into pseudo reg, then do the cleanups, then copy it to return reg.
+
+Thu Feb 16 02:59:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* regclass.c (init_reg_sets_1): Win if STATIC_CHAIN_REGNUM undefined.
+
+	* expr.c (expand_call): Handle conflict between two precomputed
+	args that are both function calls returning structures.
+
+	* loop.c (move_movables): Bkwds test of m->partial, for a matching reg.
+
+	* expr.c (emit_library_call, expand_call): Handle STACK_ARGS_ADJUST.
+
+Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c (flag_caller_saves): New var, for -fcaller-saves.
+	DEFAULT_CALLER_SAVES controls initial value.
+	* global-alloc.c (find_reg): Do caller saves only if flag set.
+	* local-alloc.c (find_free_reg): Do caller saves only if flag set.
+	* tm-alliant.h, tm-convex.h: Define DEFAULT_CALLER_SAVES.
+
+Wed Feb 15 01:59:15 1989  Chris Smith  (rms at sugar-bombs.ai.mit.edu)
+
+	* caller-save.c: New file.
+	* regs.h (CALLER_SAVE_PROFITABLE): New macro.
+	(reg_n_calls_crossed): new int-vector replaces reg_crosses_calls.
+	* flow.c (allocate_for_life_analysis, propagate_block, dump_flow_info):
+	Use reg_n_calls_crossed.
+	* stupid.c (stupid_mark_refs, stupid_life_analysis): Likewise.
+	* global-alloc.c (find_reg): Sometimes allocate call-clobbered regs
+	for call-crossing pseudos.
+	New arg ACCEPT_CALL_CLOBBERED; callers changed.
+	* local-alloc.c (find_free_reg): Similar changes.
+	(qty_n_calls_crossed): New int-vector replaces qty_crosses_calls.
+	(alloc_qty, local_alloc, combine_regs, find_free_reg): change that var.
+	* regclass.c (call_fixed_regs, call_fixed_reg_set): new vars.
+	(init_reg_sets_1): Initialize them.
+	* reload1.c (reload): Call caller-saves processing if needed.
+
+Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr): INTEGER_CST for DImode: don't handle
+	endianness here.  So CONST_DOUBLE_LOW is always the low word.
+	* varasm.c (force_const_mem): Handle it here. 
+
+	* expr.c (convert_move): widening followed by extendsidi2 had braino.
+
+	* integrate.c: Don't include ctype.h; not needed and kills Sun cpp.
+
+	* m68k.md (cmpsf, cmpdf and their recognizers):
+	Replace MINUS with COMPARE.
+	Also, use VOIDmode for COMPAREs, not SF or DF.
+
+	* optabs.c (sign_expand_binop): Handle ops such as division where
+	an unsigned char could be widened and handled with signed int insns.
+	* expmed.c (expand_divmod): Use that.
+
+	* c-typeck.c (digest_init): Allow for type variants in validating
+	initialization from a string constant.
+
+	* c-typeck.c (decl_constant_value): Disable opt. if pedantic or
+	outside functions, so that validity of program is never affected.
+
+	* fold-const.c (fold): Signedness-test for ABS_EXPR was backwards.
+
+Tue Feb 14 01:30:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (main): Don't omit normal output, if we want deps on
+	a separate stream.
+
+	* c-decl.c (grokdeclarator): Don't record any arg types for functions
+	if -traditional.
+
+	* print-tree.c (prtypeinfo): Mention permanent attribute.
+
+	* tm-next.h: New file.
+
+	* c-typeck.c (decl_constant_value): The DECL_INITIAL may be ERROR_MARK.
+
+	* c-decl.c (duplicate_decls): For fns, new static decl overrides
+	old non-static one.
+
+	* emit-rtl.c (gen_lowpar, gen_highpart): Use change_address, so we
+	preserve volatility, etc.
+
+	* stmt.c (expand_expr_stmt): Use emit_filename, emit_lineno
+	as file and line for any warning.
+	* emit-rtl.c (emit_line_note): Set those vars.
+
+	* c-decl.c (store_parm_decls): If -Wimplicit, warn of arg with no decl.
+
+	* recog.c (offsetable_address_p): Use strict_memory_address_p,	
+	since called from reload.c.
+
+Mon Feb 13 03:11:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (compare-to-reg patterns): Some still had MINUS.
+
+	* toplev.c (main): Warn if `-a' on system that can't handle it.
+
+	* stmt.c (expand_asm_operands): Delete unused local `val'.
+	(pushcase_range): Likewise for `value'.
+	(fixup_var_refs): Likewise for `insn'.
+	* emit-rtl.c (start_sequence): Likewise for `save'.
+	* loop.c (scan_loop): Likewise for `before_start'.
+	* expr.c (expand_expr): Delete label `binop1'.
+
+	* reload1.c (constraint_accepts_reg_p): Handle SUBREGs of REGs.
+
+Sun Feb 12 05:37:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib.c (__bb_init_func): New function
+
+	* tm-m68k.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): Defined.
+
+Sat Feb 11 00:05:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sparc.h (FUNCTION_PROFILER): Make it really work.
+	(BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
+
+	* final.c (final): Use BLOCK_PROFILER at start of each basic block.
+	(final_start_function): Use FUNCTION_BLOCK_PROFILER if -a.
+	(end_final): New fn to output the block-profiling tables.
+	* toplev.c (profile_block_flag): Set if -a.
+	(compile_file): Call end_final.
+
+	* combine.c (try_combine): Avoid combining in most cases if I3
+	has an inc or dec and I1 or I2 uses the same register.
+
+	* tree.c (size_in_bytes, int_size_in_bytes): Use type's main variant.
+
+	* c-typeck.c (actualparameterlist): Error if parm type is incomplete.
+
+	* expr.c (expand_call): Ignore args that have incomplete type.
+
+Fri Feb 10 02:26:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (case stmts): strip dummy NOP_EXPRs.
+
+	* reload1.c (reload_as_needed): Clear reg_{has,is}_output_reload here,
+	(choose_reload_targets): not here.
+
+Thu Feb  9 01:35:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_mul_by_constant): Forget cc status.
+
+	* stmt.c (assign_parms): Don't put volatile parms in regs.
+
+	* vax.md (jlbs/jlbc recognizers): Move them before jbc/jbs recognizers.
+
+	* cse.c (fold_rtx): Handle (EQ (COMPARE ...) (CONST_INT 0)).
+
+	* c-typeck.c (default_conversion, digest_init): For static const
+	nonvolatile scalar variable, use its initial value if known.
+
+	* expr.c (expand_expr: case COMPONENT_REF): If containing structure
+	comes out volatile, leave the component MEM volatile too.
+
+	* hard-reg-set.h: Fix multi-word case macros to swallow semicolon.
+
+	* c-typeck.c (default_conversion): In array=>ptr, volatility
+	of target type comes from TREE_THIS_VOLATILE, not TREE_VOLATILE.
+
+	* reload1.c (forget_old_reload_1, choose_reload_targets):
+	New array reg_is_output_reload is converse of reg_has_output_reload.
+	forget_old_reload_1 needs both.
+
+Wed Feb  8 01:26:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reload1.c (forget_old_reloads_1): New fn, guts of forget_old_reloads.
+	Do process a spill reg if it isn't used for reloading in this insn.
+	(forget_old_reloads): Deleted, replaced with note_stores.
+	(reload_as_needed): Undo Feb 1 change.
+	Call forget_old_reloads_1 on pseudos autoincremented and not reloaded.
+
+	* c-typeck.c (convert_for_assignment): Handle variant types.
+
+	* c-decl.c (lang_decode_option): -Wall implies -Wunused.
+
+Tue Feb  7 01:32:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (try_combine): Don't try adding outputs to an asm_operands.
+
+	* cse.c (CHEAPER): Don't ever let a hard reg get ahead of a pseudo.
+
+	* stmt.c (fixup_gotos): Don't crash on undef label if THISBLOCK is 0.
+
+	* c-decl.c (parmlist_tags_warning): New fn.
+	* c-parse.y (parmlist, parmlist_or_identifiers): Call it,
+	to warn about any tags defined inside the parmlist.
+	* c-decl.c (grokparms): Don't warn about ptr to incomplete type.
+	The new warning is better.
+
+Mon Feb  6 01:11:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (store_constructor): Incorrect ALIGN arg in store_field calls.
+
+	* c-parse.y (%union): Delete unused alternative.
+
+	* c-decl.c (grokparms): Use main variant to test for ptr to incomplete.
+
+	* c-decl.c (finish_enum): Delete superfluous init for `pair'.
+
+	* cse.c (fold_rtx): Optimize X+0, X-0 in floating point.
+	Fix typo in PLUS case; omitted value to compare GET_MODE_CLASS against.
+	(equiv_constant): Allow CONST_DOUBLE.
+
+	* cse.c: Optimize past if-statements that are known to fail.
+	(cse_insn): If condjump becomes uncond to end of this block,
+	set cse_skip_to_next_block.
+	(cse_basic_block): If that happens, ignore rest of block, and maybe
+	treat next block as part of this one (if tables have room).
+	Resume insn that starts next basic block to be scanned.
+	(cse_main): Make room for at least 500 qtys.
+	(cse_end_of_basic_block): Subroutine broken out of cse_main.
+
+	* c-parse.y (hash, is_reserved_word): Rewrite: new hash technique.
+
+	* c-decl.c (duplicate_decls): Be smart about proto vs nonproto mismatch
+	involving a function definition.
+
+Sun Feb  5 17:31:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* alliant.md (movdi): Typo in `fmoved'.
+	(ftruncsf2): Handle moving into fp reg.
+
+	* jump.c (jump_optimize): Typo in testing PRESERVE_DEATH_INFO_REGNO_P.
+
+	* reload1.c (choose_reload_targets): Move all death notes to the
+	output reload insn.
+
+	* m68k.md (fix_truncsfsi2,fix_truncdfsi2): Use accurate rtl pattern.
+
+	* loop.c (delete_insn_forces): Use presence of REG_RETVAL to check
+	for value-of-library-call insn.
+
+Sat Feb  4 18:17:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Make addresses of stack
+	slots valid somehow.
+
+	* tm-3b1.h (DIVSI3_LIBCALL, etc.): Define these macros; avoid gnulib.
+
+	* expmed.c (store_bit_field): Avoid (subreg (mem)) when converting
+	VALUE1 to SImode.
+
+	* jump.c (jump_optimize): Do delete USE and CLOBBER insns.
+	This is needed for proper jump optimization.
+
+	* rtl.def (COMPARE): New code.
+	* *.md (compare and related patterns): Use COMPARE, not MINUS:VOID.
+	* loop.c (eliminate_biv, can_eliminate_biv_p): Likewise.
+	* cse.c (fold_rtx, fold_cc0, cse_insn):
+	* output-m88k.c (output_{f,}compare, output_store):
+	* output-sparc.c (strict_single_insn_op_p, single_insn_src_p, safe_insn_src_p):
+	* combine.c (subst):
+	* jump.c (jump_back_p):
+
+Fri Feb  3 18:34:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-i386.c (notice_update_cc): If arith insn sets the cc's,
+	discard all remnants of previous cc value and flags.
+
+	* sparc.md (ashiftrt mem by 24): Fix typo `a1'.
+
+Thu Feb  2 14:55:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_mul_insn): Clear the CC status.
+
+Wed Feb  1 20:01:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Version 1.33 released.
+
+	* reload1.c (reload_as_needed): On entering new basic block,
+	if it didn't need reload regs, forget all inherited contents of those.
+
+	* tm-alliant.h (NOTICE_UPDATE_CC): Floating moves don't set the cc's.
+	Also delete the clauses and tests for FPA regs. 
+
+Tue Jan 31 21:51:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc: Handle convex-c1, convex-c2.
+	* tm-convex1.h, tm-convex2.h: New files that include tm-convex.h.
+	* tm-convex.h: Define switches -mnoc1, -mnoc2.
+
+	* config.gcc: rename `nofp' to `nfp', to match the file names.
+
+Mon Jan 30 22:12:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_delay_insn): Extract the operands,
+	call alter_subreg, constrain_operands and NOTICE_UPDATE_CC.
+	So callers other than output_eager_then_insn don't lose.
+	(output_eager_then_insn): No need to do that stuff.
+
+	* symout.c (symout_block_symbols): Handle (MEM (REG)) for
+	variable-sized arrays.
+
+	* tm-encore.h (ASM_SPEC): Always pass -j; avoid jump-range lossage.
+
+Sun Jan 29 17:06:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* alliant.md: Fix refs to CONST_DOUBLEs to use CONST_DOUBLE_{HIGH,LOW}.
+
+	* combine.c (subst): (minus (zero_extend ...) (const_int ...)) opt.
+	now limited to within the context of (set (cc0) ...).
+
+Sat Jan 28 14:26:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (fold_cc0): Missing `&' extracting CONST_DOUBLEs.
+	(fold_rtx): Don't put CONST_DOUBLEs together into a (CONST (PLUS...)).
+
+	* output-convex.c (gen_cmp): Recognize CONST_DOUBLE as a constant.
+
+	* tree.c (build_real_from_int_cst): Typo in REAL_ARITHMETIC case.
+
+	* Makefile (bootstrap2): Don't use bootstrap3 as subroutine.
+
+	* varasm.c (force_const_mem): Put the CONST_DOUBLE on the chain
+	if its MEM is stored in it; so it can be cleared at end of function.
+
+	* stmt.c (emit_case_nodes): Put a compare before each cond-jump.
+	Two cond-jumps after one cond is invalid and makes cse produce garbage.
+
+Fri Jan 27 01:05:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sun2.h (CPP_SPEC): Define __HAVE_68881__ only if -m68881.
+
+	* c-decl.c (start_decl): Don't expand_decl if DECL already has rtl.
+	(grokparms): If just declaring fcn, incomplete parm type is just
+	a warning, and don't discard the specified type.
+
+	* expmed.c (expand_divmod): Be smarter about not clobbering args
+	with intermediate results; one mem can clobber another, and a reg
+	can clobber a mem.
+
+	* tm-i386.h (FUNCTION_PROFILER): Use LPREFIX.  May actually work now.
+	* tm-i386gas.h: Include tm-bsd386.h, not tm-att386.h.
+	This means changing asm syntax.
+	#undef DBX_NO_XREFS and DBX_CONTIN_LENGTH.
+
+	* sparc.md (eager branch peepholes): Don't forget 2nd arg to
+	safe_insn_src_p.
+	Don't print warnings.
+	* output-sparc.c: (strict_single_insn_op_p): Return 0 for floating
+	REG or MEM, since copying that may take 2 insns.
+	(operands_satisfy_eager_branch_peephole): require delay insn to
+	be strict_single_insn_op_p as well as safe_insn_src_p.
+	(operand_clobbered_before_used_after): Don't print warnings.
+
+	* varasm.c (decode_rtx_const): Clear entire structure incl. gaps.
+	Avoids spurious hash mismatches.
+	(force_const_mem): If CONST_DOUBLE, store its CONST_DOUBLE_MEM field.
+	Also look in that field rather than hashing, to save time.
+
+	* c-typeck.c (build_c_cast): If value is literal, mark NOP_EXPR as so.
+	(store_init_value): Change error msg.
+
+	* c-decl.c (duplicate_decls): Classify prototype vs nonprototype
+	mismatches better.
+
+	* tm-3b1.h: Fix comment.
+
+Wed Jan 25 12:46:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile (cleanlinks): Use -f.
+
+Tue Jan 24 17:54:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (canon_hash): Fix paren error in last change.
+
+	* varasm.c (immed_real_const_1): Missing arg to bcmp.
+
+Mon Jan 23 02:43:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_type): BLKmode elts force array to be BLKmode.
+
+	* genpeep.c, genoutput.c, genemit.c: Put `#include "real.h"' in output.
+
+	* stmt.c (expand_expr_stmt): No "no effect" warning for error-mark.
+
+	* varargs.h: Rename implicit arg name to __builtin_va_alist
+	which triggers code in assign_parms.  Does this really matter?
+
+	* sparc.md (sne): New define_expand.
+	(seq recognizers): Handle sne as well.
+	* output-sparc.c ({strict_,}single_insn_src_p):
+	Some NEG and MINUS insns are actually 2 asm insns.
+	(safe_insn_src_p): No floating arith is safe; they can trap.
+	(eq_or_neq): New fn, for seq/sne recognizers.
+
+	* c-decl.c (grokdeclarator, size of array type):
+	Strip from SIZE any NOP_EXPRs that don't change anything.
+
+	* reload.c, recog.c: Include real.h so constraint macros can examine
+	CONST_DOUBLEs.
+
+Sun Jan 22 04:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Define __builtin_saveregs.
+	* tree.h: likewise.
+	* expr.c (expand_builtin): Handle it.
+
+	* tm-sparc.h: Define TARGET_EAGER and -meager.
+	* sparc.md (eager branch peepholes): Reenable, but test TARGET_EAGER.
+	Change fb insns to use %F.  Delete `,a' from some of them.
+	* jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
+
+	* xm-vms.h (const): Define it as empty.
+
+	* make-cccp.com: Move the rename of cexp_tab.c.
+	Compile cccp.c with no macro definitions.
+
+	* cccp.c (main): VMS conditional for setting max_include_len.
+
+Sat Jan 21 12:53:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varargs.h (va_start): On sparc, call __builtin_saveregs.
+	Delete the old conditional that used va-sparc.h.
+	Rename macros and locals to start with two underscores.
+	* va-sparc.h: File deleted.
+
+	* c-decl.c (store_parm_decls): Initialize OTHERS.
+
+	* stmt.c (assign_parms): Obey layout_decl.
+
+Fri Jan 20 02:19:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cse.c (fold_rtx): For SYMBOL_REF and LABEL_REF, mask address
+	to 16 bits.
+
+	* tree.h (NUM_TREE_CODES): NUM_TREE_CODE renamed.
+
+Thu Jan 19 13:53:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (mark_addressable): For global reg var, report error.
+	Now returns an int; value of 0 means caller should fail.
+	All calls (in this file) changed.
+
+	* stor-layout.c (layout_decl): Don't let an more than 1 word
+	of any aggregate go in any 1 register.  (Needed for machines whose
+	integer regs are 64 bits).
+
+	* tm-convex.h, xm-convex.h, convex.md, output-convex.c: new files.
+
+	* expr.c (convert_move): Use extendqidi2, etc. for converting
+	small ints to double ints.  Use zero_extendsidi2 rather than
+	clearing the high half.
+
+Wed Jan 18 01:20:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (make_decl_rtl): If global `register' decl is invalid,
+	make ordinary non-register rtl.
+
+	* output-sparc.c (operand_clobbered_before_used_after): new fn.
+	(reg_clobbered_p, safe_insn_src_p): New fns.
+	(single_insn_src_p): Treat constants all as ok, even though not
+	always literally so.  Also accept some SIGN_EXTENDs and ZERO_EXTENDs.
+	(strict_single_insn_src_p): New fn, like above but is strict
+	about constants and constant memory addresses.
+	(relop): New fn.
+	(output_move_double): Don't make a MEM, and don't use %m.
+	(output_delayed_branch): New name for output_delay_insn.
+	Now handle non-small constant operands.
+	Avoid duplicate loads of g1 for constant addresses.
+	Use recog_operand directly for output of the delay insn.
+	(output_delay_insn): Now a completely new fn.
+	(output_eager_then_insn, next_real_insn_no_labels): New fns.
+	(operands_satisfy_eager_branch_peephole): New fn.
+
+	* sparc.md: New peepholes for testing a recently used operand.
+	New peepholes for delayed branches, incl. conditional ones.
+	** Some of them commented out because they seem not to work.
+	(andcc recognizer): Fix typo, missing %.
+	(bgt): Change bgt to bg in output.
+	(reversed jumps): Replace with one pattern using match_operand.
+	It uses %F to output the condition.
+	(movsi): For round-valued immed const, use just a sethi.
+	For other immed, use explicit sethi and or.
+	(movhi, movqi): use `move' for reg source or small int source.
+	For other immed, use explicit sethi and or.
+	(movsi, etc.):	Handle all constant addresses like SYMBOL_REFs.
+	(movsf): Delete never-used duplicate code for constant addresses.
+	(addsi3, subsi3, cse'd multiply): Use sethi and or, rather than set.
+	(andsi3, iorsi3, xorsi3): Likewise.
+	(jump): Make an annulled branch.
+
+	* tm-sparc.h (PROMOTE_PROTOTYPES): Define this.
+	(GO_IF_LEGITIMATE_ADDRESS): Now accept all constant addresses;
+	also cleaned up.
+	(NOTICE_UPDATE_CC): Don't change the G1 status when storing in memory.
+	Assume all PARALLEL insns are peepholes.
+	(PRINT_OPERAND): New codes C and N for outputting conditions,
+	either forward or reversed.  Also F for reversed floating.
+
+	* jump.c (delete_for_peephole): New function to delete range of insns.
+	* genpeep.c (gen_peephole): Output code to use this.
+
+	* Makefile (install): Fix typo, had $${name} for $${file}.
+
+Tue Jan 17 00:00:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* i386.md (ashlsi3): Use addl or leal for special cases.
+
+	* c-decl.c (grokdeclarator): Make a non-global VAR_DECL public
+	if it is external.
+
+	* masm386.c: Clean up formatting.
+
+	* cse.c (fold_rtx): Typo simplifying x|0 or x^0
+	when the 0 comes second.
+
+	* expmed.c (store_fixed_bit_field): For halfwords, verify that
+	the field fits in an *aligned* halfword.
+	(extract_fixed_bit_field): likewise.
+
+	* expmed.c (store_split_bit_field): New arg align, passed in from
+	store_fixed_bit_field and passed back to it.
+	(extract_split_bit_field): likewise.
+
+	* expr.c: Reinsert changes from Jan 2, mysteriously deleted Jan 3.
+	Also changes from Dec 23, Dec 28 and Dec 29.
+
+	* tm-i386.h: Likewise for changes from Dec 30.
+
+	* c-typeck.c (build_component_ref): If field's type is error-mark,
+	return an error-mark.
+
+Mon Jan 16 14:16:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* genpeep.c (main): Output code to exit early if insn is followed
+	by a barrier.
+	(gen_peephole): Reject barriers just like labels.
+
+	* stmt.c (do_jump_if_equal): New arg UNSIGNEDP, for emit_cmp_insn.
+	Caller changed.  Now static.
+
+	* final.c (final): Set INSN_DELETED_P in insns when output.
+
+	* final.c (final): Re-set BODY if peephole does anything.
+
+	* c-decl.c (grokparms): Ignore anything but PARM_DECLs in the list.
+	(store_parm_decls): If we had a prototype, separate out anything other
+	than a PARM_DECL declared in it, and pushdecl those at the end,
+	after DECL_ARGUMENTS is set.
+
+	* stmt.c (expand_end_case): Do stack adjusts after computing index.
+
+	* expr.c (store_one_arg): Handle padding for case of BLKmode
+	for which space was preallocated.
+
+	* integrate.c (copy_rtx_and_substitute): When copying asm insn,
+	preserve sharing of the input-operand vectors.
+	(expand_inline_function): Clear {orig,copy}_asm_operands_vector
+	to make that mechanism work.
+	(save_for_inline, copy_for_inline): Likewise.
+
+	* stmt.c (expand_asm_operands): Reject `+' in constraints.
+	Every output constraint requires `='; inputs reject it.
+
+	* stmt.c (expand_function_end): Arg to fixup_gotos was missing.
+
+Sun Jan 15 00:28:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c, gcc.c (main): Handle SIGPIPE.
+	(pipe_closed): New fn; report suitable fatal error.
+
+	* loop.c (loop_optimize): Initialize moved_once.
+
+	* gcc.c (do_spec): Don't call `execute' if value != 0.
+	Delete redundant second call to do_spec_1.
+
+	* toplev.c (compile_file): Make declared-but-not-defined warnings
+	only if -Wunused.
+
+	* stmt.c (emit_case_nodes): Fix typo setting gen_ble_pat.
+
+	* tm-sparc.h ({U,}MODSI3_LIBCALL): Name was wrong.
+
+	* gcc.c (env_exec_prefix refs): Don't try to open via it if it's null.
+
+	* output-sparc.c (output_store, output_load_{fixed,floating}):
+	Fixed confusions between the mem ref and its address.
+
+	* cse.c (canon_hash): global_regs has entries only for hard regs.
+	* flow.c (insn_dead_p, mark_set_p, mark_used_regs): Likewise.
+
+	* cse.c (fold_rtx): More simplifications for MULT, IOR, AND, XOR
+	DIV and shifts with one arg 0 or 1.
+
+Sat Jan 14 11:41:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (build_array_ref): If pedantic, check for regdecl arrays.
+
+	* fixincludes: Make all subdirs in advance, so no need for `dirname'.
+
+	* genpeep.c (gen_peephole): Delete code to increment LABEL_NUSES;
+	instead, clear JUMP_LABEL for any jumps being deleted.
+	No need to test INSN1 for being a label, since not called then.
+	[If any of the matched insns is a JUMP_INSN, set want_jump,
+	and in that case make the matched peephole a JUMP_INSN itself.]
+	That's in an #if 0 now; it's good in jump, but not in final.
+
+	* jump.c (jump_optimize): Don't do peepholes here.
+	* final.c (final): Do them here.
+
+	* jump.c (jump_optimize): In optimizing `if (foo) bar; else break;',
+	don't try to invert anything but a standard-looking conditional jump.
+
+	* jump.c (jump_optimize): Do peepholes on ALL BUT the first pass.
+
+	* gcc.c (env_exec_prefix): New var used like user_exec_prefix
+	but set from envvar GCC_EXEC_PREFIX.
+
+Fri Jan 13 13:21:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* genpeep.c (gen_peephole): Test INSN1 for a label at the very start,
+	then test following insns at the end of the loop.
+
+	* sparc.md (call recognizers): do CC_STATUS_INIT, for %g1.
+
+Thu Jan 12 02:13:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (make_decl_rtl): Recognize more error cases for reg vars:
+	BLKmode, or initializer given.
+	Distinguisn missing asm from invalid name.
+
+	* expr.c (expand_call): Never return 0; return const0_rtx instead.
+	This makes expand_expr more uniform.
+
+	* c-decl.c (grokparms): For ptr to incomplete type, just warn;
+	don't change the parm's type.
+
+	* stmt.c (expand_return): Set RETVAL_RHS so as to recognize
+	tail-recursive fcn returning void.
+	Unconditionally test value of expand_expr for being a REG.
+
+	* reload.c (find_reloads): Don't process insns that have
+	no constraint alternatives.  No more need for have_constraints.
+
+	* recog.c (constrain_operands): New local var nalternatives.
+	Don't bother checking the insn if nalternatives is 0.
+
+Wed Jan 11 01:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Implement global register decls.
+
+	* varasm.c (make_decl_rtl): Handle global register vars.
+	(make_function_rtl): Set function_defined: after 1st function dfn.
+	(assemble_variable): Ignore global register vars.
+
+	* c-decl.c (grokdeclarator): Don't reject global register decls.
+	(builtin_function): Use make_decl_rtl, not make_function_rtl,
+	to avoid setting function_defined.
+
+	* regclass.c (init_reg_class{,_1}): Init and process global_regs.
+	They are fixed, and call-clobbered.
+
+	* flow.c (insn_dead_p): Storing one of global_regs is never dead.
+	(mark_used_regs, mark_set_1): A global reg is never dead.
+
+	* cse.c (canon_hash): Consider global regs volatile.
+
+
+	* expr.c (do_jump): Know how to invert jumps which are sequences.
+
+	* dbxout.c, symout.c, final.c: On USG, use our own stab.h.
+
+	* tm-i386gas.h: New file for GAS on sysV (with DBX debugging info).
+
+	* m68k.md (bfchg and bfins patterns): Make # alternatives uniform.
+	* alliant.md: Likewise; also in movdf patterns.
+
+	* genoutput.c (output_epilogue): Spurious `break' disabled
+	error check for mismatched # of alternatives.
+	(output_epilogue, scan_operands): Errors in input are not fatal.
+
+	* flow.c (regno_uninitialized): Avoid crash if no basic blocks.
+
+	* sparc.md (move insns): Delete special patterns that handled
+	symbolic constant addresses.  The main move patterns now do this.
+	* output-sparc.c (output_store, output_load_{fixed,floating}):
+	Subroutines to do the work for this; has the code from those
+	special patterns.  Also fixed bugs in testing against cc_status.mdep.
+
+	* output-sparc.c (output_delay_insn): Clear the CC status.
+	This is necessary for %g1 in the case of a call insn.
+
+	* tm-i386.h (REG_CLASS_CONTENTS): INDEX_REGS is now all but ESP.
+	(REGNO_REG_CLASS): Corresponding change.
+	(REG_CLASS_FROM_LETTER): Eliminate `x' letter since not used.
+
+	* optabs.c (emit_cmp_insn): New arg ALIGN, used for BLKmode.
+	All callers changed.
+	Pass alignment (as rtx) as 4th arg to cmpstr gen functions.
+	Use cmpstrhi if available.
+	* expr.c (compare): Only this call passes a nonzero ALIGN.
+
+	* expr.c (emit_push_insn, emit_block_move): Pass alignment (as rtx)
+	as 4th arg to movstr gen functions.
+
+Tue Jan 10 23:43:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_type): Use BLKmode, if a struct isn't
+	aligned well enough for a scalar mode.
+
+	* expr.c (expand_expr): For static CONSTRUCTOR, ensure memory
+	address is made valid.
+
+	* genpeep.c (match_rtx): For MATCH_OPERATOR, set max_opno, n_operands.
+
+Mon Jan  9 17:07:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (output_constant): Split strings every 2000 chars.
+
+	* stmt.c (expand_end_case): Test bkwds, handling constant switch arg.
+
+Fri Jan  6 09:11:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* output-sparc.c (output_delay_insn): Add parens to first if test.
+	(output_move_double): Turn addr for `sethi' into MEM for %m.
+
+	* c-typeck.c (convert_for_assignment): move test for ERROR_MARK.
+
+	* c-parse.y (unary_expr): Allow cast_expr as arg of unary op.
+
+	* stmt.c (expand_decl): Don't abort if FUNCTION_DECL lacks rtl;
+	assemble_variable is called after this.
+
+	* c-parse.y (primary -> identifier): Separate case for undeclared
+	identifier outside of functions; avoids confusing error msgs.
+
+Thu Jan  5 01:24:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile (install): Ignore errors in all `if' commands.
+	Create $(libdir) if nec.
+
+	* Makefile (insn-*.[ch]): Put in empty commands.  May help Ultrix Make.
+
+	* stmt.c (emit_case_nodes): New arg UNSIGNEDP says do unsigned jumps.
+	Arg INDEX is an rtx, not a tree.
+	(expand_end_case): Pass that arg.
+	(node_has_{low,high}_bound): check for overflow, avoid confusion.
+
+Wed Jan  4 02:24:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sparc.md (movdi, movdf): Use `&' constraint when loading reg from;
+	otherwise can lose on (set (reg X) (mem (plus (reg X) (reg X+1)))).
+
+	* expr.c (emit_push_insn): For memory scalar partially going in regs,
+	copy each word to reg before pushing.  Avoids memory-to-memory move.
+	Make the displaced address valid.
+	Also delete unfinished STACK_OFFSET variable.
+
+	* c-parse.y (check_newline): Read just one #-directive and return.
+	This prevents lossage when toplev.c calls it to get the main input file
+	name, and it gets a following #ident as well.
+
+	* c-decl.c (lang_decode_option): Set warn_cast_qual for -Wcast-qual.
+	* c-typeck.c (build_c_cast): Issue some warnings if set.
+
+	* tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Missing `;'.
+
+Tue Jan  3 18:07:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_library_call): Do force_operand on each operand
+	if it isn't a REG, MEM or constant.
+	Do this, or mode conversions, earlier, before loading any hard regs.
+
+	* m68k.md (addsi3) [SGS]: Put a zero displacement in the `lea'.
+
+	* c-typeck.c (default_conversion): Don't lose `const' or `volatile'
+	when converting array type to pointer.
+
+Mon Jan  2 01:18:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (store_bit_field, store_fixed_bit_field): New arg,
+	alignment in bytes the structure is known to have.
+	(store_fixed_bit_field): Handle working in halfwords,
+	in case the pointer isn't known to have fullword alignment.
+	* expmed.c (extract_bit_field, extract_fixed_bit_field): likewise.
+	(extract_bit_field): fix unsignedp arg to extract_fixed_bit_field.
+	* expr.c (store_field): New arg, passed to {store,extract}_bit_field
+	(expand_assignment, store_constructor): Pass that arg.
+	(expand_expr): Pass new arg to extract_bit_field.
+
+	* m68k.md (casesi_2 recognizer): Offset always 6 for 3b1.
+
+	* c-typeck.c (convert_for_assignment): Strip from rhs no-op NOP_EXPRs
+	put on by build_c_cast (to make the result not an lvalue).
+	(build_modify_expr, build_compound_expr): likewise.
+	(build_conditional_expr): likewise.
+	(actualparameterlist, build_function_call): likewise.
+	(default_conversion, truthvalue_conversion): likewise.
+
+	* loop.c (move_movables): If reg has moved out of one loop,
+	divide `savings' by 2.
+
+Sun Jan  1 03:00:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (truthvalue_conversion): Distribute the conversion
+	into the arms of a COND_EXPR.
+
+	* cse.c (fold_rtx): Don't fold a MINUS with VOIDmode
+	into a symbolic constant--it's incorrect.
+
+	* cse.c (cse_insn): If SRC is a subreg with known value, simplify it.
+
+	* integrate.c (copy_rtx_and_substitute): Allow a ref to a part of
+	MEM parm whose actual parm is a reg, provided it refs
+	the low part of the MEM.
+	(function_cannot_inline_p): Don't inline functions which have
+	aggregate parameters and take their addresses.  This could produce
+	refs to non-low-parts, which copy_rtx_and_substitute can't handle.
+
+	* c-typeck.c (build_modify_expr): If lhs is COND_EXPR,
+	make a COMPOUND_EXPR to ensure the rhs is computed before the branch.
+
+	* Implement -pipe.
+	* gcc.c (do_spec_1): `|' is now a special delimiter
+	which goes in the argbuf.
+	When a newline is preceded by a `|', delete it if no -pipe.
+	Otherwise, don't execute yet, and keep scanning.
+	(do_spec): At end, if we have stuff with no newline, execute it.
+	(handle_braces): Implement %{|foo:...}.
+	(execute): If argbuf contains some `|'s, run several processes
+	and pipe them together.
+	(pexecute): new subroutine to make one of the processes.
+	(find_exec_file): new fn to search for program to execute.
+	(record_temp_file): new arg FAIL_ONLY.
+	(store_arg): 2nd arg == 3 means delete file on failure.
+	This is used for output files.
+	(delete_temp_files): delete certain files only if fail.
+
+	* cccp.c (include_defaults): /usr/include before /usr/local/include.
+
+	* recog.c (asm_noperands): 1-off in loop checking CLOBBERS
+	when no output operands and PARALLEL.
+
+	* expmed.c (negate_rtx): Sign-extend the high bits rather than clear.
+
+	* cse.c (fold_rtx): fold negation of real values.
+	(fold_cc0): fold comparisons on real values.
+
+	* Makefile (install): Use $(INSTALL) for gcc.1 and files in USER_H.
+
+	* Handle floating-point problems for cross-compilation.
+
+	* real.h (CONST_DOUBLE_LOW, etc.): new macros to access CONST_DOUBLE.
+	* varasm.c (immed_double_const, decode_rtx_const): Use these.
+	({force,clear}_const_double_mem): Likewise.
+	* output-*.c (output_move_double): Use these.
+	* output-m68k.c (standard_{68881,sun_fpa}_constant_p): Likewise.
+	* tm-*.h (PRINT_OPERAND): Use these.
+	* output-i386.c (print_operand): Use these.
+	* final.c (output_addr_const): Likewise.
+	* emit-rtl.c (gen_rtx): Delete special code for CONST_DOUBLE.
+
+	* real.h (union real_extract): Portable type for storing real as ints.
+	* varasm.c (immed_double_const, decode_rtx_const): Use these.
+
+	* varasm.c (immed_real_const_1, decode_rtx_const):
+	Don't assume REAL_VALUE_TYPE is 2 ints long.
+	* emit-rtl.c (init_emit_once): Likewise.
+
+	* real.h (REAL_VALUE_TYPE): Define as `double' if not defined.
+	(REAL_IS_NOT_DOUBLE): Define this if default REAL_VALUE_TYPE not used.
+	(REAL_VALUES_EQUAL, REAL_VALUES_LESS): Define, if not already defined.
+	(REAL_VALUE_LDEXP, REAL_VALUE_ATOF): Likewise.
+	* tree.h (struct tree_real_cst): Use REAL_VALUE_TYPE for the value.
+
+	* rtl.c (init_rtl): Increase length of CONST_DOUBLE if REAL_VALUE_TYPE
+	needs more space.  Change the rtx_format element to match.
+	* varasm.c (immed_real_const_1): 1st arg now has REAL_VALUE_TYPE.
+	(force_const_mem): Assume a CONST_DOUBLE contains REAL_VALUE_TYPE.
+	* emit-rtl.c (init_emit_once): Likewise.
+	And use REAL_VALUE_ATOF to get a floating zero.
+	* optabs.c (expand_float): Use REAL_VALUE_TYPE, REAL_VALUE_LDEXP.
+	* c-parse.y (yylex): Likewise, and use REAL_VALUE_ATOF.
+	* fold-const.c (split_tree): Don't accept REAL_CSTs.
+	(combine, fold_convert, fold): Use REAL_ARITHMETIC if defined;
+	else don't fold reals if they are not doubles.
+	* tree.c (build_real_from_int_cst): Likewise.
+	* print-tree.c (dump) [REAL_IS_NOT_DOUBLE]: output float value
+	in hex, since we don't know how to do it right.
+
+Sat Dec 31 14:15:13 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (init_optabs): Handle new macros {U,}MULSI3_LIBCALL,
+	DIVSI3_LIBCALL, MODSI3_LIBCALL.
+	* tm-sparc.h: Define {,U}{MUL,DIV,MOD}SI3 to call Sun's library direct.
+
+	* tm-sun3-nfp.h, tm-sun3-fpa.h: New files.
+
+Fri Dec 30 00:14:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (main): Certain envvars specify a file to write deps info to.
+
+	* toplev.c (compile_file): Warn about undefined fns declared static.
+
+	* m68k.md (casesi_2 recognizer) [SGS] RTX_INTEGRATED_P test backwards.
+	* tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Likewise.  Also missing `\'.
+
+	* reload1.c (count_occurrences): New function.
+	(choose_reload_targets): Don't delete a reload if the same reg
+	is used elsewhere in the current insn.
+	(delete_output_reload): code split out from choose_reload_targets.
+
+	* c-typeck.c (build_c_cast): Always put on some operator,
+	so the cast is never an lvalue for strict ANSI.
+
+	* c-typeck.c (initializer_constant_valid_p): Don't depend on
+	distinction between NOP_EXPR and CONVERT_EXPR.
+
+	* c-convert.c: Fns reordered; new comments.
+
+	* fold-const.c (fold): If simplifying a NOP_EXPR within a BIT_AND_EXPR,
+	return a NOP_EXPR.
+	New var TYPE holds type of expr.
+
+	* c-parse.y (expr_no_commas): Split off cast_expr and unary_expr,
+	to reject `sizeof (int) foo'.
+
+	* toplev.c (main): Treat plain `-' as input filename.
+
+	* final.c (final): If an insn's output routine returns 0,
+	it means to output the deleted compare insn immediately preceding.
+
+	* m68k.md (branch insns): Use 0 as 3rd arg for OUTPUT_JUMP
+	rather than explicitly clearing the overflow flag.
+
+	* tm-i386.h (OUTPUT_JUMP): Really use NO_OV; don't abort.
+	* i386.md (branch insns): Put real data (sometimes 0) in 3rd arg
+	of OUTPUT_JUMP.  0 means preceding test may not be deleted.
+	(lea pattern): Clear the cc's.
+	* output-i386.c (notice_update_cc): various arith insns set the cc's.
+
+Thu Dec 29 13:22:01 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stmt.c (expand_decl_init): Do nothing for static decls.
+
+	* reload.c (find_reloads_address{,_1}): Return 1 iff entire arg
+	was reloaded as a whole, else 0.
+	(find_reload): If find_reloads_address returns 1, don't let that MEM
+	satisfy a `>' or `<' constraint.
+
+	* m68k.md (cmpmb): Delete special pattern, make cmpqi handle it.
+	The special pattern couldn't handle reloading the incremented register.
+
+	* integrate.c (copy_rtx_and_substitute): Test BYTES_BIG_ENDIAN,
+	not BITS...
+
+	* combine.c (subst): Consider big-endian correction
+	when simplifying (subreg (mem ...) ...).
+
+	* reload.c (find_reloads): Don't crash if matching operands in `asm'
+	are both read or both write.
+
+	* expr.c (emit_push_insn): Address for movstr must be XINNER, not X.
+
+	* toplev.c (main): Typo parsing `-fno...'.
+
+Wed Dec 28 13:07:21 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c (rest_of_compilation): `volatile' fns need jump_optimize
+	for warnings, as if -Wreturn-type.
+	* c-typeck.c (c_expand_return): Warn about `return' in a `volatile' fn.
+	* c-decl.c (finish_function): Warn if `volatile' fn can drop thru end.
+
+	* cse.c (canon_reg): Handle nulls as subexpressions.
+	(fold_rtx, canon_hash, mention_regs, exp_equiv_p): Likewise.
+	* loop.c (invariant_p, replace_regs, replace_call_address, may_trap_p,
+	{basic,general}_induction_var): Likewise.
+
+	* expr.c (expand_call): Handle `const' functions:
+	Local IS_CONST is 1 if function is const.
+	Attach REG_RETVAL and REG_LIBCALL notes around the call.
+	Copy fn address to register outside of those notes.
+	Likewise precompute all parms outside them.
+
+	* expr.c (expand_call): If fn is volatile, emit barrier after the call.
+
+	* c-decl.c (grokdeclarator): Allow function declared const or volatile.
+
+Sat Dec 24 18:40:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* integrate.c (function_cannot_inline_p): If STRUCT_VALUE_INCOMING
+	or STRUCT_VALUE	is defined, can't inline functions returning BLKmode.
+
+Fri Dec 23 13:26:26 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (store_constructor): Compute array's size
+	with int_size_in_bytes.
+
+	* varasm.c (assemble_variable): If shared data, go to data section
+	before outputting an uninitialized symbol.
+
+	* tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Missing backslash.
+	(SHARED_SECTION_ASM_OP): Macro defined.
+	* tm-seq386.h (SHARED_SECTION_ASM_OP): Macro defined.
+
+	* c-typeck.c (c_expand_asm_operands): Warn if output op is `const'.
+
+	* Fix problem where a stmt expr in an initialization
+	refers to the variable it is initializing.
+	* stmt.c (expand_decl_init): New fn split out from `expand_decl'.
+	* c-decl.c (finish_decl): Call that.
+	Don't call expand_decl if already done.
+	(start_decl): Call expand_decl if type is complete already.
+
+	* Makefile (install): Typo in ranlib command.
+
+Thu Dec 22 15:57:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (tree_identifier): New field.
+	(IDENTIFIER_ERROR_LOCUS): Accessor for it.
+	* c-parse.y (primary => IDENTIFIER):
+	Undeclared variable gets one err msg per function it appears in.
+
+	* ns32k.md (andsi3): Delete extra brace.
+
+	* alliant.md, xm-alliant.h, tm-alliant.h, output-alliant.c: New files.
+
+	* combine.c (SUBST, SUBST_INT): Store new field `is_int'.
+	(copy_substitutions): Don't copy an int as an rtx.
+
+	* Makefile (INSTALL): Install gcc.1 properly.
+
+	* tm-ns32k.h (FUNCTION_PROLOGUE, ASM_OUTPUT_ALIGN_CODE):
+	Add missing backslashes.
+
+See file ChangeLog.0.
diff --git a/gcc/ChangeLog.10 b/gcc/ChangeLog.10
new file mode 100644
index 0000000..ad16692
--- /dev/null
+++ b/gcc/ChangeLog.10
@@ -0,0 +1,10185 @@
+Sun Mar 31 05:10:10 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_decl): Don't make a bitfield an integral mode
+	if the mode of the field type is not MODE_INT.
+
+	* sched.c (schedule_block): CALL_INSNs don't affect fixed regs.
+
+	* flow.c (propagate_block): CALL_INSNs don't kill fixed regs.
+
+Sat Mar 30 03:32:48 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* expmed.c (expand_divmod, case TRUNC_DIV_EXPR): Move some code
+	to avoid shifting by a too large count.
+
+Fri Mar 29 15:45:51 1996  Doug Evans  <dje@cygnus.com>
+
+	* configure (i[3456]86-*-sunos5*): Delete, config.sub converts
+	sunos5 to solaris2.
+	(sparc-*-sunos5*): Likewise.
+	(sparc64-*-{solaris2*,sunos5*}): Delete.  Stick with sparc-*-solaris2*.
+
+	* sparc.h (FUNCTION_PROFILER): Save/restore %g2 around mcount call.
+
+Fri Mar 29 14:20:31 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.c (notice_update_cc): Clear cc_status if ref modified MEM.
+
+Fri Mar 29 09:37:52 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* calls.c (expand_call): Remove current_call_is_indirect nonsense.
+	Add additional argument to INIT_CUMULATIVE_ARGS.
+	(emit_library_call): Likewise.
+	(emit_library_call_value): Likewise.
+	* expr.c (expand_builtin): Likewise.
+	* function.c (assign_parms): Likewise.
+	* config/pa/pa.h (hppa_args): New field "indirect".
+	(INIT_CUMULATIVE_ARGS): Initialize "indirect" field.
+	(FUNCTION_ARG): Check "indirect" field, rather than
+	"current_call_is_indirect".
+	* a29k.h (INIT_CUMULATIVE_ARGS):New arg, INDIRECT.
+	* alpha.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* arm.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* clipper.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* convex.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* dsp16xx.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* elxsi.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* fx80.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* gmicro.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* h8300.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* i370/mvs.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* i386.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* i860.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* i960.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* m68k.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* m68k/mot3300.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* m88k.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* mips.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* ns32k.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* pdp11.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* pyr.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* romp.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* rs6000.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* sh.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* sparc.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* spur.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* tahoe.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* vax.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* we32k.h (INIT_CUMULATIVE_ARGS): Likewise.
+	* mips.c (mips_expand_prologue): Add extra arg to
+	INIT_CUMULATIVE_ARGS call.
+
+Thu Mar 28 18:45:49 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* alpha.c (summarize_insn): Fix three "off-by-one" bugs in loop bounds.
+
+Thu Mar 28 16:50:10 1996  Doug Evans  <dje@cygnus.com>
+
+	* ginclude/inl-sparc.h: Deleted.
+
+Thu Mar 28 12:07:31 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* ginclude/va-h8300.h (va_arg): Don't assume sizeof (int) == 4.
+
+	* pa.c (hppa_legitimize_address): Don't lose for
+	(plus (plus (mult (A) (shadd_const)) (B)) (C)) if
+	B + C isn't a valid address for indexing.
+	(basereg_operand): Only accept base registers after
+	cse has completed.  Don't accept the frame pointer if
+	it's likely to be eliminated.
+	* pa.md (unscaled indexing patterns): Add variants with
+	basereg and index register reversed.
+	(HImode and QImode loads): Add zero extended variants.
+
+Wed Mar 27 07:45:27 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* expmed.c (negate_rtx): Fix typo in previous change.
+
+Tue Mar 26 13:50:43 1996  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* calls.c (expand_call): In convert_to_mode call, use word_mode
+	not SImode.
+
+Tue Mar 26 13:44:34 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* configure: Delete unnecessary special handling of --with-cpu.
+
+Tue Mar 26 10:41:57 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* expr.c (emit_push_insn): When doing a partial push, emit
+	a CLOBBER so that flow doesn't think the entire register
+	is live.
+
+Tue Mar 26 10:00:52 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* alpha.c (summarize_insn, default case): Properly use format_ptr.
+
+Tue Mar 26 09:51:09 1996  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.h (output_move_simode_const): New extern declaration.
+	* m68k.c (output_move_simode_const): New function.
+	(singlemove_string): Call it.
+	* m68k.md (fullword move): Likewise.
+
+Tue Mar 26 05:43:06 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* vax.md (insv matcher): Call CC_STATUS_INIT.
+	* vax.h (NOTICE_UPDATE_CC): Handle ZERO_EXTRACT destination.
+
+Mon Mar 25 19:18:08 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* function.c (expand_function_start): Don't set up context_display
+	unless current_function_needs_context.
+
+Mon Mar 25 18:48:18 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* fold-const.c (fold, case BIT_IOR_EXPR): Recognize rotates
+	with variable count.
+
+Mon Mar 25 18:05:28 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (libgcc1-test): Undo Feb 12 change.
+
+Mon Mar 25 08:09:59 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* objc/thread-single.c (objc_mutex_unlock): Properly declare thread_id.
+
+Mon Mar 25 08:02:50 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* configure (m68k-motorola-sysv*): Fixed indentation.
+
+Sun Mar 24 08:16:42 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expmed.c (negate_rtx): Don't try to negate a constant ourself;
+	instead call simplify_unary_operation.
+
+Sun Mar 24 07:29:06 1996  Richard Henderson  <rth@tamu.edu>
+
+	* gcc.c (process_command): Instead of hardcoding non-empty
+	switches_need_spaces to turn on "o" and "L", make the string
+	contain the switches that need the spaces.
+	* m68k/ccur-GAS.h (SWITCHES_NEED_SPACES): Change definition
+	correspondingly.
+
+Sat Mar 23 18:34:44 1996  Harry Dolan  <dolan@ssd.intel.com>
+
+	* i860/paragon.h (LIB_SPEC): Always output -lmach.
+
+Sat Mar 23 18:25:39 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* c-typeck.c (set_init_index): Check for use outside an array
+	initializer.
+
+        * defaults.h (ASM_OUTPUT_ADDR_DIFF_ELT): Delete.
+        * pdp11.h (ASM_OUTPUT_ADDR_DIFF_ELT): Don't define.
+
+Sat Mar 23 15:55:35 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* combine.c (make_extraction): In BITS_BIG_ENDIAN correction of POS,
+	need to treat MEM and REG differently.
+
+	* sparc.h (SPARC_SIMM{10,11,13}_P): Define.
+	(SMALL_INT): Use SPARC_SIMM13_P.
+	(CONST_OK_FOR_LETTER_P): Support new letters L,M.
+	* sparc.c (arith11_operand): Use SPARC_SIMM11_P.
+	(arith10_operand): Use SPARC_SIMM10_P.
+	* sparc.md (*mov{qi,hi,si,di}_cc_sp64): Fix constraints.
+	(*mov{qi,hi,si,di}_cc_reg_sp64): Likewise.
+
+Sat Mar 23 07:47:19 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k/linux.h (TRAMPOLINE_TEMPLATE): Correct first instruction.
+	* m68k/m68kv4.h (TRAMPOLINE_TEMPLATE): Likewise.
+
+Sat Mar 23 07:06:55 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* bc-emit.c (bc_emit_instruction): Add missing va_end call.
+
+	* c-typeck.c (build_array_ref): Give error if subscripting a function.
+
+Fri Mar 22 09:11:45 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (optimize_reg_copy_1): Only update reg_live_length
+	if it is non-negative.
+
+Thu Mar 21 14:42:26 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/splet.h (STARTFILE_SPEC,LINK_SPEC): Define.
+
+Wed Mar 20 17:23:18 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* cse.c (note_mem_written): Delete obsolete code for handling
+	(mem (scratch)).
+
+	* mips.c (mips_expand_prologue): In initialization of fnargs, delete
+	special treatment of METHOD_TYPE.
+
+Wed Mar 20 17:07:45 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sol2.h (ASM_CPU_SPEC): Recognize -mcpu=v8plus, not v9.
+	Fix typo in ultrasparc entry.
+	* sparc/sparc.h (CPP_CPU_SPEC): Add v8plus entry.
+	(ASM_CPU_SPEC): Likewise.
+
+	* sparc/sparc.c (fcc_reg_operand): Ensure correct mode.
+	(icc_or_fcc_reg_operand): Likewise.
+	(gen_v9_scc): IF_THEN_ELSE must have a mode.
+	(print_operand): New operand code `x' for all condition codes.
+	New operand codes `c,d' for reversed conditional moves.
+	* sparc/sparc.md (movqicc,movhicc): New named patterns.
+	(movdicc): if_then_else must have a mode.
+	(movsicc,movsfcc,movdfcc,movtfcc): Likewise.
+	Change condition to TARGET_V9, not TARGET_ARCH64.
+	Fail if DImode compare and ! TARGET_ARCH64.
+	(conditional move matchers): Rewrite.
+
+Wed Mar 20 16:12:29 1996  Stan Cox  <coxs@wombat.gnu.ai.mit.edu>
+
+	* i386.h (HARD_REGNO_MODE_OK): Relax QImode constraint to
+	avoid a reload problem.
+
+Wed Mar 20 13:12:22 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (hppa_legitimize_address): Don't lose for x[n-const]
+	when n-const will not be shifted.  Don't pessimize code for
+	x[n-const] when const is small.
+
+Wed Mar 20 11:42:32 1996  Markus Theissinger  <Markus.Theissinger@gmd.de>
+
+	* m68k/sun3.h (LIB_SPEC): Don't link /usr/lib/bb_link.o with `gcc -a'.
+	(__bb_init_func): Deleted.
+	(BLOCK_PROFILER_CODE): Don't set macro to nothing.
+
+	* m68k/xm-sun3.h: New file.
+	* configure (m68k-sun-sunos*): Use it.
+
+	* xm-linux.h (HAVE_POPEN): New define.
+
+Wed Mar 20 11:28:37 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k/linux.h (ASM_SPEC): Deleted.
+	(STRUCT_VALUE_REGNUM): Redefine as register a0.
+	(STATIC_CHAIN_REGNUM): Redefine as register a1.
+	(TRAMPOLINE_TEMPLATE): Redefine to use the right register.
+
+Wed Mar 20 08:04:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* libgcc2.c (__dummy): New function.
+	* Makefile.in (LIB2FUNCS): Add __dummy.
+	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Call "setjmp"
+	pattern, if any.
+	Call dummy function pointed to by static chain pointer.
+	(expand_builtin, case BUILT_IN_LONJMP): Ignore second expression.
+	Set address of __dummy into static chain pointer.
+	Copy the label to return to into a pseudo earlier.
+
+	* stupid.c (last_setjmp_suid, regs_crosses_setjmp): New variables.
+	(stupid_life_analysis, stupid_mark_refs): Use them to track which
+	regs are live over a setjmp; don't allocate such regs.
+
+Tue Mar 19 22:02:07 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* cplus-dem.c (demangle_template): Fix for non-mangled pointer
+	arguments.
+
+Tue Mar 19 13:54:06 1996  Jeffrey A. Law  <law@wombat.gnu.ai.mit.edu>
+
+	* pa.c (compute_frame_size): Update comments to reflect reality.
+	(hppa_expand_prologue): Don't save registers which aren't
+	used, even if it creates holes.  Partially undoes changes from
+	early March.
+	(hppa_expand_epilogue): Likewise.
+
+Tue Mar 19 08:25:17 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* stmt.c (struct case_node): New member balance.
+	(add_case_node): New function.
+	(pushcase, pushcase_range): Use it.
+	(case_tree2list): New function.
+	(expand_end_case): Use it.
+
+Tue Mar 19 07:44:22 1996  Stephen L Moshier  (moshier@world.std.com)
+
+	* regstack.c (move_for_stack_reg): Avoid stack overflow while
+	storing XFmode from fp reg to memory.
+
+Tue Mar 19 07:38:03 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* m68k.h (MASK_*): New macros.
+	(OVERRIDE_OPTIONS): Use them.
+	(TARGET_SWITCHES): Likewise.
+	Treat -m68332 like -m68000.
+
+Mon Mar 18 20:04:13 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* expmed.c (emit_store_flag): If expanding (GE X 0) will need two
+	insns, don't use subtarget for the result of the first insn.
+	Move a likely constant to the start of a condition.
+
+Mon Mar 18 19:48:14 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* m68k.h (CONST_OK_FOR_LETTER_VALUE): New constraint 'M'.
+	* m68k.c (output_function_epilogue): Restore registers using sp+
+	instead of fp(n) in leaf functions.
+	(USE_MOVQ, use_movq): Function replaced by macro.
+	* m68k.md (pushexthisi_const, movsi_const0): New names.
+	(andsi3, iorsi3): Allow only 'M', not 'K' constants, if dest is 'd'.
+
+Mon Mar 18 19:33:20 1996  Fila Kolodny <fila@ibi.com>
+
+	* i370/t-mvs: New file.
+	* configure (i370-*-mvs*): Use it.
+	* i370/mvs.h (FUNCTION_PROLOGUE): LE/370 takes 120 bytes for DSA.
+	Have only one copy of timestamp and PPA2 per object module.
+	Only have unnamed CSECT to match IBM C.
+
+Mon Mar 18 19:26:21 1996  Paul Russell  (Rusty.Russell@adelaide.maptek.com.au)
+
+	* combine.c (simplify_if_then_else): Allow for case that
+	condition might no longer be a condition.
+
+Mon Mar 18 19:14:42 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (build_conditional_expr): If OP1 is null, set
+	both OP1 and ORIG_OP1 to IFEXP.
+
+	* c-iterate.c (iterator_loop_epilogue): Don't clear DECL_RTL
+	for a static decl.
+
+Mon Mar 18 08:02:25 1996  Stephen L Moshier <moshier@world.std.com>
+
+	* alpha.c (summarize_insn, case SUBREG, CONST_*): New cases.
+
+Sun Mar 17 16:55:00 1996  Doug Evans  <dje@cygnus.com>
+
+	* combine.c (find_split_point): Handle NULL return from
+	make_extraction.
+	(make_field_assignment): Likewise.
+
+Sat Mar 16 18:56:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (substitute_in_expr, case COMPONENT_REF): Ignore
+	if inner PLACEHOLDER_EXPR has not yet been initialized.
+
+	* i386.c (standard_80386_constant_p): -0.0 is not 0.0.
+	* i386.md (insv): Restore missing end of comment.
+
+	* combine.c (make_extraction): Correct typo in force_to_mode
+	call in previous change.
+	Return 0 if pos+len out of range of want desired mode.
+
+Sat Mar 16 16:20:43 1996  David Mosberger-Tang  <davidm@azstarnet.com>
+
+	* alpha.md (trap): New attribute.
+	Modify patterns for all floating-point trap generating instructions.
+	* alpha.h (CPP_SPEC): Added -mieee and -mieee-with-inexact.
+	(alpha_trap_precision, alpha_fp_rounding_mode, alpha_fp_trap_mode):
+	New enum types.
+	(target_flags, alpha_tp, alpha_fprm, alpha_fptm): New external vars.
+	(alpha_fprm_string, alpha_fptm_string, alpha_tp_string): Likewise.
+	(TARGET_IEEE{,_WITH_INEXACT,_CONFORMANT}): New macros.
+	(MASK_IEEE{,_WITH_INEXACT,_CONFORMANT}): Likewise.
+	(MASK_FP, MASK_FPREGS,
+	(TARGET_SWITCHES): Added "ieee-conformant", "ieee", and
+	"ieee-with-inexact"; use MASK symbols.
+	(TARGET_OPTIONS): New macro.
+	(OVERRIDE_OPTIONS, FINAL_PRESCAN_{INSN,LABEL}): New macros.
+	(PRINT_OPERAND_PUNCT_VALID_P): Allow operand codes for FP insns.
+	(CC1_SPEC): New macro.
+	* alpha.c (alpha_tp, alpha_fprm, alpha_fptm): New variables.
+	(alpha_tp_string, alpha_fprm_string, alpha_fptm_string
+	(trap_pending): Likewise.
+	(override_options, summarize_insn, final_prescan_insn): New functions.
+	(print_operand): Handle cases '&', '\'', ')', and '+'.
+	(output_prolog): Emit ".eflag 48" if TARGET_IEEE_CONFORMANT.
+	(output_epilog): Call final_prescan_insn before emitting epilog.
+
+	* final.c (final_scan_insn, case CODE_LABEL): Invoke
+	FINAL_PRESCAN_INSN if FINAL_SCAN_LABEL is defined.
+
+	* alpha/{linux.h,x-linux,xm-linux.h}: New files.
+	* configure (alpha-*-linux*): New case.
+	* alpha.c (output_prolog): Set alpha_function_needs_gp if profiling
+	and TARGET_PROFILING_NEEDS_GP defined.
+
+Thu Mar 14 22:28:20 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Fix last change.
+	* aix41.h (LINK_SPEC): add -bnoentry if shared and no explicit entry.
+
+Thu Mar 14 12:47:33 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.h (ASM_OUTPUT_DOUBLE_INT): Use 'X' if CONST_INT and
+	HOST_BITS_PER_WIDE_INT == 64.
+
+	* mips.c (mips_expand_prologue): Change TYPE_NEEDS_CONSTRUCTING to
+	TREE_ADDRESSABLE;
+
+Thu Mar 14 11:21:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): For 32-bit mode,
+	allow TImode variables with int offsets, so that structures
+	greater than 8 bytes and less than or equal to 16 bytes can be
+	instantiated correctly.
+
+	* rs6000.c (rs6000_valid_type_attribute_p): Add exception
+	attribute for Windows NT.
+
+	* win-nt.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete, merge into
+	ASM_DECLARE_FUNCTION_NAME.
+	(ASM_DECLARE_FUNCTION_NAME): Add support for exception attribute
+	setting fields 3 & 4 of the structured exception handling table.
+
+Thu Mar 14 01:53:19 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (ASM_DECLARE_FUNCTION_NAME): Change TYPE_NEEDS_CONSTRUCTING
+	to TREE_ADDRESSABLE.  From Jim Wilson.
+
+Wed Mar 13 13:40:32 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* c-tree.h (warn_sign_compare): Add extern to declaration.
+
+Wed Mar 13 13:37:00 1996  Doug Evans  <dje@cygnus.com>
+
+	* configure: Use cross-make and build-make if building
+	cross compiler with cross compiler.
+
+Wed Mar 13 12:00:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* i386/cygwin32.h (ASM_OUTPUT_ALIGN): Correct defination.
+
+	* rs6000/{win-nt,cygwin32}.h (STARTFILE_SPEC): Add crti.o before
+	all objects.
+	(ENDFILE_SPEC): Add crtn.o after all objects.
+
+	* configure (powerpcle-*-cygwin32): Use t-winnt, not t-cygin32
+	* rs6000/t-cygwin32: Delete, no longer used.
+
+	* rs6000/t-winnt ({,INSTALL_}LIBGCC): Build and install crti.o and
+	crtn.o.
+
+	* rs6000/win-nt.h (EXTRA_SECTION_FUNCTIONS): Add ctors_section and
+	dtors_section.
+	(INVOKE__main): Define, so that __main is called.
+	(ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Define to put pointers to
+	the constructor/destructor in the appropriate section.
+
+	* nt-c{i,n}.asm: New files to be linked before/after all of the users'
+	objects.
+
+Wed Mar 13 00:42:17 1996  Per Bothner  <bothner@cygnus.com>
+
+	* dbxout.c (dbxout_type):  Better "variant" handling to ignore
+	const/volatile but not typedef names.  Improves Feb 12 change.
+
+Tue Mar 12 17:25:14 1996  David Mosberger-Tang  <davidm@azstarnet.com>
+
+	* glimits.h (__LONG_MAX__): On Alpha, use 64 bit value.
+
+Tue Mar 12 15:07:49 1996  Torbjorn Granlund  <tege@tmg.se>
+
+	* m68k.c (valid_dbcc_comparison_p): Don't test cc_prev_status here.
+	(flags_in_68881): New function.
+	* m68k.md (dbra peepholes): Use flags_in_68881.
+
+Tue Mar 12 13:54:15 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sparc.md (nonlocal_goto): Emit barrier after jump.
+	(setjmp{,_64,_32}): New patterns.
+
+Tue Mar 12 12:43:27 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* i960/i960.h (ROUND_TPE_SIZE): Return round_up result instead of
+	COMPUTED.
+
+	* expr.c (expand_expr, case COMPONENT_REF): For unaligned object in
+	an aligned union, delete check for EXPAND_SUM.
+
+	* expr.h (clear_storage): Add comment terminator.
+
+Mon Mar 11 19:07:50 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* recog.c (constrain_operands, case 'V'): Don't call
+	offsettable_memref_p before reload has completed.
+
+Mon Mar 11 16:06:13 1996  Doug Evans  <dje@cygnus.com>
+
+	* h8300/h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG.
+	(CC_DONE_CBIT): Delete.
+	(CC_OVERFLOW_0,CC_OVERFLOW_UNUSABLE,CC_NO_CARRY): Define.
+	* h8300/h8300.c (cond_string): Delete CC_DONE_CBIT handling.
+	(notice_update_cc): Delete CC_CBIT, CC_WHOOPS.  Add CC_SET_ZN_C0.
+	(restore_compare_p): New function.
+	(shift_one): Use shll instead of shal so overflow bit is usable.
+	Set cc_valid bits to cc_status.flags values.
+	(emit_a_shift): Set cc_status.flags.
+	* h8300/h8300.md (attr cc): Delete whoops,cbit.  Add set_zn_c0.
+	(all patterns) Update cc attr setting.
+	(tstqi,tsthi,tstsi): Delete CC_DONE_CBIT handling.
+	(addhi3,subhi3): Change define_expand to define_insn.
+	(branch_true,branch_false): Check if compare needs to be restored.
+
+Mon Mar 11 13:55:23 1996  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.h (CONST_DOUBLE_OK_FOR_LETTER_P): Add 'H' for movdi
+	patterns in 32 bit that generate 3 instructions.
+	(num_insns_constant): Add declaration.
+
+	* rs6000.c (num_insns_constant{,_wide}) Functions to determine the
+	number of insns it takes to generate an integer constant.
+	(easy_fp_constant): Allow DImode in easy constants.  Use
+	num_insns_constant_wide.
+	(input_operand): Allow any CONST_{INT,DOUBLE}'s for {SI,DI}mode.
+
+	* rs6000.md (movdi): Generate a normal movdi using a CONST_DOUBLE
+	for 32 bit mode rather than using SUBREG's.  For 64 bit mode,
+	break large integer constants into smaller pieces.  Add various
+	define_splits to handle loading the various DImode constants.
+
+Mon Mar 11 06:54:19 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (make_extraction): Use proper mode for INNER in all cases.
+	(simplify_comparison, case ZERO_EXTRACT): For bits big endian and
+	no extzv, use BITS_PER_WORD.
+	* fx80.md, gmicro.md, i386.md, m68k.md, tahoe.md, vax.md:
+	Use proper modes and predicates for {sign,zero}_extract.
+
+Sun Mar 10 06:23:52 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* emit-rtl.c (free_insn): New variable.
+	(init_emit, restore_emit_status): Clear it.
+	(gen_sequence): Store insn in free_insn when sequence length is 1.
+	(make_insn_raw): Use free_insn if available and still in the
+	rtl generation phase.
+
+Fri Mar  8 15:37:31 1996  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_expr, case TARGET_EXPR): Delay putting the cleanup
+	on the cleanup chain until after the subexpression has been expanded.
+
+Fri Mar  8 16:14:51 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+        * i386.c (ix86_binary_operator_ok): one memory operand is OK.
+        This is independent of commutativity.
+
+Fri Mar  8 14:07:43 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (store_constructor_field): Call store_field if bitpos is
+	nonzero and target is not a MEM.
+
+	* jump.c (jump_optimize): When handle a USE insn before an
+	unconditional jump, disable the optimization if the USE is the
+	only insn in the loop.
+
+	* sh.c (reg_unused_after): Return 0 if see a JUMP_INSN.
+
+Fri Mar  8 12:08:36 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/lynx.h (CPP_SPEC): Use %(cpp_cpu).
+
+	* sparc/sparc.md (move_pic_label_si,move_label_di): Rewrite length
+	attr calcs to be more conservative.
+
+Thu Mar  7 19:14:21 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/t-splet: New file.
+	* sparc/splet.h: New file.
+	* configure (sparclet-*-aout*): Use them.
+
+	* sparc/sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define.
+	(FIRST_PSEUDO_REGISTER): Add 1 for %icc (now 101).
+	(FIXED_REGISTERS,CALL_USED_REGISTERS): Update.
+	(FIXED_REGISTERS): %g0 is fixed by default.
+	(SPARC_{FIRST,LAST}_V9_FCC_REG): Define.
+	(SPARC_{ICC,FCC}_REG): Define.
+	(CONDITIONAL_REGISTER_USAGE): Don't fix %fcc0 if v8.
+	(REG_CLASS_CONTENTS): Reg 0 is an int reg, reg 100 is %icc.
+	(REGNO_REG_CLASS): Rewrite to use global `sparc_regno_reg_class'.
+	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Add %icc.
+	(REG_CLASS_FROM_LETTER): Handle 'c' for FPCC_REGS in non-v9 case.
+	(REGNO_OK_FOR_{BASE,INDEX}_P): Treat %g0 as a normal reg.
+	(REG_OK_FOR_{BASE,INDEX}_P,EXTRA_CONSTRAINT): Likewise.
+	(REGISTER_NAMES): Add %icc.
+	(ADDITIONAL_REGISTER_NAMES): Use SPARC_ICC_REG.
+	* sparc/sparc.c (leaf_reg_remap): Add %icc=100.
+	(reg_or_0_operand): Don't allow 0 if TARGET_LIVE_G0.
+	(fcc_reg_operand): Renamed from ccfp_reg_operand.
+	Use SPARC_FCC_REG.  Don't treat reg 0 as an fcc reg.  Don't match
+	modes if `mode' argument is VOIDmode.
+	(icc_or_fcc_reg_operand): New function.
+	(gen_compare_reg): Use SPARC_FCC_REG for v8 fp compares.
+	Use SPARC_ICC_REG for int compares.
+	(eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0.
+	Delete unnecessary test for %g0.
+	(emit_move_sequence): Don't emit (set (mem) (const_int 0)) if
+	TARGET_LIVE_G0.
+	(output_scc_insn): Label moved to operand 3.  Condition code reg
+	moved to operand 2.
+	(sparc_mode_class): Enum C_MODE renamed to CC_MODE.
+	(hard_32bit_mode_classes): Set reg 0 to S_MODES.  Add entry for %icc.
+	(hard_64bit_mode_classes): Set reg 0 to D_MODES.  Add entry for %icc.
+	(sparc_regno_reg_class): New global.
+	(sparc_init_modes): Initialize it.
+	(output_cbranch): Delete fp_cond_reg argument.
+	(print_operand, MEM op): Don't print "%g0+" if TARGET_LIVE_G0.
+	(sparc_flat_eligible_for_epilogue_delay): Don't allow anything if
+	TARGET_LIVE_G0.
+	* sparc/sparc.md (live_g0): New attribute.
+	(*): Integer condition code register is now reg 100.
+	Use SPARC_ICC_REG instead of hardcoding reg 100 where possible.
+	Non-v9 floating point condition code register is now reg 96.
+	(*cmp{sf,df,tf}_{fpe,fp}_sp{32,64}): Combine v9/non-v9 cases.
+	(*{normal,inverted}_{,fp,fpe}_branch): Update call to output_cbranch.
+	(*mov{qi,hi,si}_insn): Don't use if TARGET_LIVE_G0.
+	(*mov{qi,hi,si}_insn_liveg0): New patterns.
+	(*mov{si,di,sf,df,tf}_ccfp{,e}_sp64): ccfp_reg_operand renamed to
+	fcc_reg_operand.
+	(*negdi2_sp32,negsi2,one_cmplsi2,ffssi2): Ensure %%g0 is 0 if
+	TARGET_LIVE_G0.
+	(*one_cmpldi2_sp32): Move operand 1 to rs1 and use 0 as rs2.
+	(patterns that use %g0 in rs2): Use 0 immediate value instead.
+	(patterns that read %g0): Don't use if TARGET_LIVE_G0.
+
+Thu Mar  7 15:39:16 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.h (PASS_IN_REG_P): Change < to <=.
+	* va-sh.h (va_start): Change __SH3E___ to __SH3E__.
+	(va_arg): Add little-endian SH3E support.  Fix big-endian version
+	to work for arguments smaller than the word size.
+
+Thu Mar  7 10:37:37 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* lib2funcs.asm: Remove entry/exit routines.  Move them into...
+	* ee.asm: New file.  Entry/exit code.
+	* ee_fp.asm: New file.  Entry/exit code with frame pointer.
+	* t-pa: Corresponding changes.
+	* t-pro: Corresponding changes.
+
+	* pa.c: Fix misc small typos/thinkos in recent changes.
+
+Wed Mar  6 17:36:03 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* cplus-dem.c (demangle_template): Fix for address-of-extern arguments.
+
+Wed Mar  6 15:12:55 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* t-pro (dp-bit rule): Fix typo.
+
+	* lib2funcs.asm (__outline_prologue): Remove frame pointer
+	support.
+	(__outline_prologue_fp): Out of line prologue with frame pointer.
+	(__outline_epilogue, outline_epilogue_fp): Similarly.
+	* pa.c (compute_frame_size): Allocate enough space to avoid holes
+	in the callee register saves.  Remove some special handling of %r3.
+	(hppa_expand_prologue): Don't do an out of line prologue/epilogue
+	if it would take more insns than an inline prologue/epilogue.
+	Don't leave holes in the callee register save set.
+	(hppa_expand_prologue): Corresponding changes.  Pass stack size
+	to out of line epilogue code.
+	* pa.h (FRAME_POINTER_REQUIRED): Revert last change.
+	* pa.md (outline_prologue_call): Handle outline prologues which
+	don't need frame pointers.
+	(outline_epilogue_call): Similarly.
+	* t-pro: Reenable multilib code.  Build a set of libraries that
+	optimize for space.
+
+Wed Mar  6 14:28:14 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* Makefile.in (USER_H): Add ginclude/va-sh.h.
+	* ginclude/stdarg.h, ginclude/varargs.h: Use va-sh.h.
+	* ginclude/va-sh.h: New file.
+
+	* sh.h (PASS_IN_REG_P): Fix typo in last change.
+
+Wed Mar  6 11:42:06 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (enum processor_type): Remove PROCESSOR_PPC602.
+	(RTX_COSTS): Remove PROCESSOR_PPC602.  PPC603 MULT cost depends
+	on constant and domain.
+	* rs6000.c (processor_target_table): 602 uses PROCESSOR_PPC603.
+	(get_issue_rate): Remove CPU_PPC602.
+	* rs6000.md (function units): Remove PPC602.  Add store and
+	fpstore type attribute values.  Update patterns.
+
+Tue Mar  5 18:43:43 1996  Richard Henderson  <rth@tamu.edu>
+
+	* m68k/coff.h (ASM_OUTPUT_SECTION_NAME): New define.
+
+	* m68k/{aux-crt1.c,aux-crt[2n].asm}: New files.
+	* m68k/{aux-exit.c,aux-low.gld,aux-mcount.c}: More new files.
+	* m68k/{aux.h,auxgnu.h,auxstd.h}: Even more new files.
+	* m68k/{t-aux,xm-aux.h}: The rest of the new files.
+	* m68k/sgs.h (ASM_OUTPUT_CASE_END): Add missing semicolon.
+	(switch_table_difference_label_flag): Make extern.
+	* fixincludes (sys/param.h): Fix c89 __asm statements.
+	* configure (m68k-apple-aux*): New target.
+
+Tue Mar  5 17:38:19 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute.
+	(*movsi_insn): Use fpload/fpstore attributes for fp loads/stores.
+	%r1 -> %1 for fpstore alternative.
+	(*movsf_insn,*movsf_no_f_insn): %r1 -> %1.
+
+Tue Mar  5 17:19:17 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* expr.c (expand_expr, case *_DECL): If we make a non-local
+	reference from a function with DECL_NO_STATIC_CHAIN set, abort.
+	(expand_expr, case ADDR_EXPR): We don't need a trampoline for a
+	function with DECL_NO_STATIC_CHAIN set.
+	* function.c (lookup_static_chain): If we're checking on a function
+	that doesn't need a static chain, return 0.
+	(init_function_start): We don't need context if DECL_NO_STATIC_CHAIN
+	is set.
+	* tree.c (staticp): Check DECL_NO_STATIC_CHAIN on nested functions.
+
+Tue Mar  5 15:04:29 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.md (push_e, pop_e): Add TARGET_SH3E to condition.
+	* sh.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
+	* sh.c (find_barrier): Set si_limit to 1018 instead of 1020, and
+	hi_limit to 510 instead of 512.
+
+Tue Mar  5 13:39:44 1996  Doug Evans  <dje@cygnus.com>
+
+	* loop.c (init_loop): Use pseudo reg in add_cost computation
+	so cost doesn't vary depending on whether reg 0 happens to be
+	fixed or not.
+
+Tue Mar  5 09:32:24 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* reg-stack.c (record_label_references): Check for undefined label.
+
+Tue Mar  5 09:22:20 1996  Scott Christley (scottc@net-community.com)
+
+	* objc/objc-api.h, objc/runtime.h: Include objc/thread.h.
+	* objc/class.c (__objc_init_class_tables): Surround sarray access
+	with mutex lock/unlock.
+	(__objc_add_class_to_hash, objc_lookup_class): Likewise.
+	(objc_get_class, objc_get_next_class): Likewise.
+	(__objc_resolve_class_links, class_pose_as): Likewise.
+	* objc/init.c (__objc_runtime_mutux, __objc_runtime_thread_alive):
+	New variables.
+	(objc_init_statics, __objc_init_protocols): Surround sarray access
+	with mutex lock/unlock
+	(__objc_exec_class): Likewise.
+	Initialization for thread-safe global variables.
+	Declarations for thread-safe functions and global variables
+	* objc/sendmsg.c (get_imp, __objc_responds_to):
+	Surround sarray access with mutex lock/unlock.
+	(__objc_init_install_dtable): Likewise.
+	(__objc_update_dispatch_table_for_class): Likewise.
+	(__objc_print_dtable_stats): Likewise.
+	* objc/selector.c (sel_get_typed_uid, sel_get_any_typed_uid): Likewise.
+	(sel_get_any_uid, sel_get_name, sel_register_name): Likewise.
+	(sel_register_typed_name): Likewise.
+	* objc/sarray.h (union sversion): New.
+	(struct sarray): Maintain multiple versions.
+	(sarray_remove_garbage): Add prototype.
+	* objc/sarray.c (sarray_{remove,free}_garbage): New functions.
+	(sarray_at_put, sarray_new, sarray_lazy_copy):
+	Modify/copy sarray structure/data in a thread-safe manner
+	(sarray_{realloc,free}): Reallocate/free sarray structure/data in a
+	thread-safe manner.
+
+	* objc/THREADS, objc/thread.c, objc/thread.h: New files.
+	* objc/thread-{decosf1,irix,solaris,win32,single}.c: New files.
+	* objc/objc-list.h: Renamed from objc/list.h.
+	* objc/Makefile: Changes to compile new files and name renaming.
+	* objc/makefile.dos: Likewise.
+
+Tue Mar  5 07:51:31 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* bc-emit.c, bc-optab.c (free): Delete declaration of library function.
+
+	* c-decl.c (duplicate_decl): If making decl non-external, copy
+	context from old to new.
+
+Tue Mar  5 02:27:35 1996  Jeffrey A. Law  <law@cygnus.com
+
+	* lib2funcs.asm (__outline_prologue): New "function".
+	(__outline_epilogue): New "function".
+	* pa.h (TARGET_SPACE): Define.
+	(target_flags): Add -mspace and -mno-space.  Enable/disable
+	space saving optimizations.
+	(FRAME_POINTER_REQUIRED): Frame pointers are always required
+	when generating out of line prologues and epilogues.
+	* pa.c (compute_frame_size): Handle out of line prologues/epilogues.
+	(hppa_expand_prologue): If optimizing for space, emit an out of
+	line prologue.
+	(hppa_expand_epilogue): Similarly.
+	(override_options): Optimizing for space is not compatable with
+	either profiling or PIC code generation.
+	* pa.md (outline_prologue_call): New pattern.
+	(outline_epilogue_call): Likewise.
+
+Tue Mar  5 02:17:32 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.md (*cmp{si,di}_insn): %r0 -> %0.
+	(DFmode move define_split): Ensure registers not extended v9 fp regs.
+	(*mov{sf,df,tf}_cc_reg_sp64): %r3 -> %3.
+
+Mon Mar  4 18:46:37 1996  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
+
+	* Makefile.in (CRT0STUFF_T_CFLAGS): New macro.
+	(stamp-crt0, crt0.o, mcrt0.o): New goals.
+	(STAGESTUFF): stamp-crt0 added.
+
+	* collect2.c (main): Check new define DEFAULT_A_OUT_NAME.
+
+	* m68k.c (print_operand): Emit .l as scale factor #ifdef MOTOROLA.
+	* m68k/mot3300-crt0.S, m68k/mot3300Mcrt0.S: New files.
+	* m68k/mot3300g.h: Deleted.
+	* m68k/mot3300.h (FUNCTION_PROFILER): Emit label references
+	corresponding to those generated by ASM_OUTPUT_INTERNAL_LABEL.
+	(MOTOROLA, MOTOROLA_BSR, ...): Define #ifndef USE_GAS.
+	(ASM_SPEC): Define properly #ifdef USE_GAS.
+	(LIB_SPEC): -L/usr/lib/libp deleted.
+	(STARTFILE_SPEC): -L/usr/lib/libp added.
+	(DEFAULT_A_OUT_NAME): Define.
+	(LINK_SPEC): Pass -v if GNU ld is used.
+	(LOCAL_LABEL_PREFIX): Local labels start with .L using GAS, else L%.
+	(USER_LABEL_PREFIX): Undefine.
+	(FUNCTION_PROFILER): Call asm_fprintf instead of normal fprintf.
+	(ASM_APP_ON, ASM_FILE_START): GAS supports it.
+	(CTORS_.../DTORS_...): Define if GNU ld is used.
+	(ASM_FILE_START): Define properly for Motorola and GNU as syntax.
+	(TARGET_VERSION): Re-define only #ifndef USE_GAS.
+	(CALL_USED_REGISTERS): Deleted.
+	(GLOBAL_ASM_OP): Re-define only #ifndef USE_GAS.
+	(ASM_{LONG,SHORT,CHAR,BYTE,BYTE_OP}): New macros.
+	(ASM_OUTPUT_{DOUBLE,LONG_DOUBLE,FLOAT,INT,SHORT}): Use them.
+	(ASM_OUTPUT_{CHAR,BYTE,ASCII,FLOAT_OPERAND,DOUBLE_OPERAND}): Likewise.
+	(ALIGN_ASM_OP, SKIP_ASM_OP): New macros.
+	(ASM_OUTPUT_{ALIGN,SKIP}): Use them.
+	(ASM_OUTPUT_SOURCE_FILENAME): Define only if not using GNU as.
+	(ASM_{GENERATE,OUTPUT}_INTERAL_LABEL): Provide proper definitions for
+	Motorola and GNU as syntax.
+	(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Changed for portability between
+	Motorola and GNU as syntax.
+	(ASM_OUTPUT_{CASE_LABEL,OPCODE}): Define only if not using GNU as.
+	(ASM_OUTPUT_CASE_FETCH, ASM_RETURN_CASE_JUMP): New macros.
+	(ASM_OUTPUT_{COMMON,LOCAL}): Proper defns for Motorola and gas syntax.
+	(SDB_...): Define only for Motorola as.
+	(ALT_LIBM): New define to tell g++.c about an alternative name for
+	`-lm'.
+	(MATH_LIBRARY, NEED_ATEXIT, HAVE_ATEXIT, EXIT_BODY): New macros.
+	* m68k/t-mot3300, m68k/t-mot3300-{gald,gas,gld}: New files.
+	* m68k/x-mot3300-gas: New file.
+	* m68k/xm-mot3300.h (USG): Set to 1.
+	* configure (m68k-motorola-sysv*): Keep track of new different
+	combinations (--with-gnu-...), and provide proper definitions for
+	tm_file, xmake_file, tmake_file, use_collect2, and extra_parts.
+
+	* gbl-ctors.h (HAVE_ATEXIT): Define if NEED_ATEXIT is defined.
+	(atexit): Use `int atexit' prototype also if NEED_ATEXIT is defined.
+	(on_exit): According to man on_exit on the Sun it returns int not void.
+	* libgcc2.c (L_bb/atexit, onexit): Declarations replaced by
+	#include'ing "gbl-ctors.h".
+	(L_exit/atexit): New function.
+	(L_exit/exit): Call any registered functions.
+
+Mon Mar  4 18:03:38 1996  Bryan Ford  (baford@cs.utah.edu)
+
+	* configure (i[3456]86-moss-msdos*): New target.
+	* i386/moss.h: New file.
+
+Mon Mar  4 17:38:50 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.h (PASS_IN_REG_P): Don't reject BLKmode for SH3e.
+	For SH3e, do reject parameter that won't fit entirely in registers.
+
+	* sh.md (mulhisi3-2, mulhisi3-1, mulsidi3_i, umulsidi3_i,
+	smulsi3_highpart, umulsi3_highpart): Renames operands 1/2 to 0/1.
+	(mulsidi3, umulsidi3): Add support for TARGET_LITTLE_ENDIAN.
+
+	* sh.c (machine_dependent_reorg): In TARGET_RELAX code, when scan
+	forward from LINK, fail if pass a CODE_LABEL before finding INSN.
+	Fail if SCAN not INSN is a JUMP_INSN.
+
+Mon Mar  4 11:27:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (CALL_LONG): Change CALL_xx values from an enumeration
+	to bitmasks.  Add CALL_LONG to support longcall attributes.
+	(rs6000_args): Call_cookie field is now an int.
+	(rs6000_longcall_ref): Add declaration.
+
+	* rs6000.c (init_cumulative_args): Add support for longcall
+	attributes to always call through a pointer.
+	(function_arg): Ditto.
+	(rs6000_valid_type_attribute_p): Ditto.
+	(rs6000_longcall_ref): New function for long calls.
+
+	* rs6000.md (call insns): Add support for longcall attributes.
+
+Mon Mar  4 08:42:14 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* real.c (significand_size): Don't test the modes, but their sizes.
+
+	* dwarfout.c (xstrdup): Moved from here.
+	* toplev.c (xstrdup): New function.
+	* tree.h (xstrdup): Declare.
+	* bc-emit.c (bc_xstrdup): Delete.
+	* expr.c (bc_strdup): Delete.
+	(bc_load_externaddr_id): Use xstrdup instead of bc_xstrdup.
+	* function.c (bc_expand_function_start): Likewise.
+	* 1750a.c (strdup): Delete.
+	(float_label): Use xstrdup instead of strdup.
+	* 1750a.h (xstrdup): Declare instead of instead of strdup.
+	(ASM_OUTPUT_LABEL): Use xstrdup instead of strdup.
+	(FIX_FRAME_POINTER_ADDRESS): Don't use DEPTH in string.
+
+Mon Mar  4 08:23:23 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* xm-we32k.h (NO_WAIT_H): Deleted.
+
+	* collect2.c: Never include wait.h.
+
+Sat Mar  2 22:43:07 1996  Torbjorn Granlund  <tege@spiff.gnu.ai.mit.edu>
+
+	* configure (code for making links): Work around sh bug on FreeBSD.
+
+Sat Mar  2 13:40:29 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* h8300.h (BIGGEST_FIELD_ALIGNMENT): Replace uses of
+	TARGET_ALIGN_STRUCT_300 with TARGET_ALIGN_300.
+	(BIGGEST_ALIGNMENT): Likewise.
+
+Sat Mar  2 08:04:50 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call): If passing by invisible ref, not const.
+
+	* sparc.c (SKIP_CALLERS_UNIMP_P): Make agree with test used in call.
+
+	* expr.c (do_jump, case COMPOUND_EXPR): Call preserve_temp_slots.
+
+	* fold-const.c (fold, case *_DIV_EXPR): Ignore SAVE_EXPR if has RTL.
+
+Fri Mar  1 17:59:17 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* optabs.c (emit_cmp_insn): Immediately copy the return
+	value from the library call into a pseudo register.
+	(emit_float_lib_cmp): Likewise.
+
+Fri Mar  1 14:37:40 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (BSS_SECTION_ASM_OP): Define.
+	(*_SECTION_ASM_OP): Change tab after .section into a space.
+	(ASM_OUTPUT_INT): Ditto.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Rewrite to use bss_section.
+	(ASM_OUTPUT_ALIGNED_BSS): Define to use ASM_GLOBALIZE_LABEL and
+	ASM_OUTPUT_ALIGNED_LOCAL.
+
+	* rs6000/win-nt.h (BSS_SECTION_ASM_OP): Define.
+	(ASM_OUTPUT_ALIGNED_LOCAL): Define.
+	(ASM_OUTPUT_LOCAL): Don't define any more.
+	(ASM_OUTPUT_ALIGNED_BSS): Define to use ASM_GLOBALIZE_LABEL and
+	ASM_OUTPUT_ALIGNED_LOCAL.
+
+Thu Feb 29 17:33:12 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* c-typeck.c (push_init_level): When output padding to align structure
+	field, set constructor_unfilled_fields.
+
+	* dbxout.c (dbxout_type, case METHOD_TYPE): Add CHARS (1) call
+	after emitting second '#' character.
+
+Thu Feb 29 13:59:27 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* h8300/h8300.h (ASM_OUTPUT_BSS): Define.
+	* m68k/coff.h (BSS_SECTION_ASM_OP): Define.
+	(ASM_OUTPUT_ALIGNED_BSS): Define.
+	* m68k/m68k-aout.h (BSS_SECTION_ASM_OP): Define.
+	(ASM_OUTPUT_BSS): Define.
+
+Thu Feb 29 13:39:39 1996  Per Bothner  <bothner@cygnus.com>
+
+	* varasm.c (compare_constant_1):  For a SET_TYPE CONSTRUCTOR,
+	first extract and compare the set length.
+
+	* varasm.c (record_constant_1):  For SET_TYPE CONSTRUCTOR,
+	permanent_obstack.next_free is *end* of available space.
+
+Thu Feb 29 13:14:14 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (TARGET_SWITCHES): Add new flags "-mlong-load-store" and
+	"-mno-long-load-store".
+	(TARGET_LONG_LOAD_STORE): Define.
+	* pa.md (symbolic high part): Handle TARGET_LONG_LOAD_STORE.
+
+Thu Feb 29 11:39:30 1996  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386/i386.md (cmpxf*): XF compare cannot have mem operands.
+	(casesi expand): Put (minus:SI..) into subsi3 format.
+	* i386/i386.c (i386_return_pops_args): Cleanup extra argument
+	used as address of a returned structure.
+
+Wed Feb 28 22:24:28 1996  Doug Evans  <dje@cygnus.com>
+
+	* varasm.c (enum in_section): Define in_bss if BSS_SECTION_ASM_OP
+	is defined.
+	(bss_section,asm_output_bss,asm_output_aligned_bss): New functions.
+	(assemble_variable): Delete redundant test for too large an object.
+	Rewrite test for uninitialized variables.  Use new macros
+	ASM_OUTPUT{,_ALIGNED}_BSS if defined to output global uninitialized
+	but not common variables.
+	* bytecode.h (BC_OUTPUT_BSS): Define.
+	* lynx.h (EXTRA_SECTIONS): Delete in_bss.
+	(EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
+	* svr3.h (EXTRA_SECTIONS): Likewise.
+	(BSS_SECTION_FUNCTION): Delete.
+	* convex/convex.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
+	* dsp16xx/dsp16xx.h (EXTRA_SECTIONS): Delete in_bss.
+	(EXTRA_SECTION_FUNCTIONS): Delete bss_section.
+	* gmicro/gmicro.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
+	* i386/aix386ng.h (EXTRA_SECTION_FUNCTIONS): Delete
+	BSS_SECTION_FUNCTION.
+	* i386/att.h (BSS_SECTION_FUNCTION): Delete.
+	* i386/sco5.h (EXTRA_SECTIONS): Delete in_bss.
+	(EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
+	(BSS_SECTION_FUNCTION): Delete.
+	* i386/seq-sysv3.h (BSS_SECTION_FUNCTION): Delete.
+	* i386/svr3gas.h (EXTRA_SECTIONS): Delete in_bss.
+	(EXTRA_SECTION_FUNCTIONS): Delete BSS_SECTION_FUNCTION.
+	(BSS_SECTION_FUNCTION): Delete.
+	* i860/paragon.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Undef.
+	* m68k/crds.h (EXTRA_SECTIONS,EXTRA_SECTIONS_FUNCTIONS): Delete.
+	(BSS_SECTION_ASM_OP): Define.
+	* m68k/m68k.h (BC_OUTPUT_BSS): Define.
+	* mips/iris6.h (EXTRA_SECTIONS): Delete in_bss.
+	* pa/pa.h (EXTRA_SECTIONS): Delete in_bss.
+	(EXTRA_SECTION_FUNCTIONS): Delete bss_section.
+	* sparc/litecoff.h (EXTRA_SECTIONS): Delete in_bss.
+
+Wed Feb 28 14:12:25 1996  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.h (FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P): Include FP
+	registers only when TARGET_SH3E.
+	(PASS_IN_REG_P): Exclude BLKmode only when ! TARGET_SH3E.
+
+Wed Feb 28 12:03:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (rs6000_trampoline_{template,size}): Change the Windows
+	NT trampoline template so that it doesn't require making the stack
+	executable.  Add support for 64 bit systems.
+	(rs6000_initialize_trampoline): Ditto.
+
+Tue Feb 27 16:42:00 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c (print_operand): New code 'H'.
+	* rs6000.md (insv, extzv): Add DImode patterns.  Use 'h'
+	consistently for masking SImode shifts.
+	(rotldi3, ashldi3, lshrdi3, ashrdi3): Use 'H'.
+	(movsf split): Generate CONST_INT instead of SUBREG.
+
+Tue Feb 27 15:02:17 1996  Doug Evans  <dje@cygnus.com>
+
+	* sh/sh.h (HANDLE_PRAGMA): Delete `return'.
+
+Tue Feb 27 08:18:12 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.c (aof_text_section): Remove pseudo read-only hack.  Doesn't
+	take a parameter any more.
+	* arm/aof.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove
+	readonly data sections.
+	(READONLYDATA_SECTION, READONLY_DATA_SECTION): Delete.
+
+	* arm.h (enum arm_cond_code): New enum.
+	(ARM_INVERSE_CONDITION_CODE): Moved here from arm.c.
+	(SELECT_CC_MODE): Call arm_select_cc_mode to do the work.
+	(PREDICATE_CODES): Add dominant_cc_register; delete
+	reversible_cc_register.
+	* arm.c (arm_current_cc): Now an enum.
+	(ARM_INVERSE_CONDITION_CODE): Moved to arm.h
+	(revsersible_cc_register): Delete.
+	(dominant_cc_register): New function.
+	(select_dominance_cc_mode): New function.
+	(arm_select_cc_mode): New function.
+	(output_return_instruction): New parameter REVERSE, used to
+	reverse the condition of a conditional return.  All callers
+	changed.
+	(arm_print_operand case 'D'): Only suppress condition printing
+	if the operand is a NULL pointer.
+	(get_arm_condition_code): Now a static function returning
+	enum arm_cond_code.  Handle dominance expressions.  Return enum
+	values rather than integers.
+	* arm.md (*addsi3_compare0_scratch): New insn.
+	(*movsi_compare0, *cmpsi_insn, *cmpsi_shiftsi): Make sure the
+	compare has mode CC.
+	(cmp{si,sf,df,xf} expands): Just provide sufficient information
+	to allow the parameters to be matched properly.
+	(*cmpsi_negsi): Delete (of dubious validity).
+	(*cmpsi_shiftsi_swp): New pattern.
+	(*condbranch_reversed): No longer needs to check REVERSIBLE_CC_MODE.
+	(mov{si,sf,df}cc, *mov{si,sf,df}{,_hard,_soft}_insn): The mode of the
+	IF_THEN_ELSE must be appropriate to the target (not void).
+	(*and_scc): Match cc_register, not reversible_cc_register.
+	(*ior_compare_compare): Delete.
+	(split for ior_compare_compare + condjump): Delete.
+	(*impossible_cond_compare): Delete.
+	(*condition_compare_ior): Delete.
+	(*cond_move): Mode for the IF_THEN_ELSE must be SImode.
+	(*and_scc_scc): Delete.
+	(split for and_scc_scc + condjump): Delete.
+	(*impossible_cond_branch_and): Delete.
+	(*cmp_ite0, *cmp_ite1): New patterns.
+	(if_compare_not): Should be an anonymous pattern.
+	(Peephole for move and compare): Compare mode must be mode CCmode.
+	(Split pattern for comparing shifted reg then branch): Delete.
+	(*loadqi_compare): Delete, replaced with a split pattern to do
+	the same thing.
+	(*cond_move_not): Match cc_register, not reversible_cc_register.
+
+	* arm.c ({load,store}_multiple_sequence): New functions.
+	(emit_{ldm,stm}_seq): New functions.
+	* arm.md (load/store multiple peepholes): Rewrite using the above
+	functions.
+	(all patterns taking immediate_operand): If the code later assumes
+	this is a CONST_INT, then match const_int_operand instead.
+
+Mon Feb 26 17:26:13 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sparc.md: Add sparclet scheduling parameters.
+	(compare define_insn's): Move closer to compare define_expand's.
+	(32 bit multiply patterns): Use for TARGET_SPARCLET.
+	(*smacsi,*smacdi,*umacdi): Multiply/accumulate patterns for the
+	sparclet.
+
+Sat Feb 24 19:13:29 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (movsf split): Fix typo in last patch.
+
+Sat Feb 24 10:02:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* toplev.c (fatal_insn): Flush stdout/stderr.
+
+Sat Feb 24 02:03:28 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.md (abssi2): Rework to avoid matching constraints.
+
+Fri Feb 23 11:21:43 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (override_options): Warn if both PIC code generation and
+	profiling are requested.
+
+Fri Feb 23 08:47:38 1996  Richard Kenner  (kenner at vlsi1)
+
+	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Set CONST_CALL_P
+	on NOTE_INSN_SETJMP instead of emitting USE insns for call-saved regs.
+	* reload1.c (reload): For special CONST_CALL_P NOTE_INSN_SETJMP,
+	mark all call-saved regs as used.
+	* sched.c (sched_analyze): Record NOTE_INSN_SETJMP if no
+	CALL_INSN as prev; preserve CONST_CALL_P bit.
+	(reemit_notes): Restore CONST_CALL_P.
+
+Thu Feb 22 17:45:12 1996  Doug Evans  <dje@cygnus.com>
+
+	* configure (sparclet-*-aout*): Set extra_headers.
+	* ginclude/inl-sparc.h: New file.
+
+Wed Feb 21 20:39:53 1996  Doug Evans  <dje@cygnus.com>
+
+	* configure (sparc64-*-solaris2*): Merge with sparc-*-solaris2*.
+	* sparc/sparc.h (enum processor_type): Declare.
+	(sparc_cpu_attr): Define.
+	(TARGET_OPTIONS): Add -mtune=.
+	(sparc_select): Declare.
+	(sparc_cpu_string): Delete.
+	(FIRST_PSEUDO_REGISTER): Set to 100.
+	({FIXED,CALL_USED}_REGISTERS): Merge !v9/v9 cases.
+	(CONDITIONAL_REGISTER_USAGE): Mark %g5 as fixed if !v9.
+	Mark %g1 as fixed if v9.  Fix v9-only regs if !v9.
+	Mark fp{16..47} as call-saved if v9.
+	(enum reg_class): Merge !v9/v9 cases.
+	(REG_CLASS_NAMES,REG_CLASS_CONTENTS,REGNO_REG_CLASS): Likewise.
+	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Likewise.
+	(FP_REG_CLASS_P,SPARC_REGISTER_NAMES): Likewise.
+	(REG_CLASS_FROM_LETTER): Test TARGET_V9 at runtime.
+	* sparc/sparc.c (sparc_cpu_string): Delete.
+	(sparc_select): New global.
+	(sparc_override_options): Handle -mtune=xxx.
+	* sparc/sparc.md (cpu attr): Add sparc{lite,let} implementations.
+	* sparc/sp64-sol2.h: Deleted.
+
+	* arm/arm.md (consttable_end): Delete call to text_section.
+	(align_4): Delete call to readonly_data_section.
+
+Wed Feb 21 14:29:06 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+        * cplus-dem.c (demangle_template): Initialize is_bool.  Correctly
+        handle 0 as a pointer value parameter.
+
+Wed Feb 21 14:13:29 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* tree.c (decl_function_context): Do decl_function_context right for
+	function-local classes.
+
+Wed Feb 21 12:42:52 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* c-typeck.c (initializer_constant_valid_p): Don't dereference
+	a null pointer on partial structure initialization.
+
+Wed Feb 21 11:49:58 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000/rs6000.h (ASM_OUTPUT_EXTERNAL): Append section info
+	even when verbatim symbol prefix '*' present.
+	* rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Same.
+	* rs6000/aix41.h (ASM_OUTPUT_EXTERNAL): Same.
+	* rs6000/powerpc.h (ASM_OUTPUT_EXTERNAL): Same.
+	* rs6000/win-nt.h (ASM_OUTPUT_EXTERNAL): Same.
+
+Wed Feb 21 03:55:32 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (validate_else): Don't loop given `#endif /'.
+	Handle multiple adjacent backslash-newlines correctly.
+	Accept a new parameter LIMIT to specify end of input;
+	this prevents confusion when the input contains '\0' characters.
+
+	(collect_expansion): Fix off-by-1 error when searching for `*/'
+	at end of a comment used for traditional token concatenation.
+
+	(macarg1): Fix off-by-1 error when skipping past `*/'
+	at end of comment.
+
+Tue Feb 20 16:12:31 1996  Doug Evans  <dje@cygnus.com>
+
+	* hard-reg-set.h (twice unrolled GO_IF_HARD_REG_EQUAL): Add missing \.
+
+Tue Feb 20 14:21:16 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (DBX_CONTIN_LENGTH): Define to 4000 characters.
+
+	* pa.c (hppa_expand_epilogue): Always emit a blockage insn
+	before cutting back the stack.
+
+Mon Feb 19 19:42:15 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* sparc/sparc.h (TARGET_SWITCHES): Add -m{,no-}impure-text.
+	(MASK_IMPURE_TEXT, TARGET_IMPURE_TEXT): Define.
+	(LINK_SPEC): Only add `-assert pure-text' if -mimpure-text wasn't used.
+
+Mon Feb 19 19:20:15 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+	* configure (sparc-aout): sparc-aout.h renamed to aout.h.
+	(sparclet-aout): Likewise.
+	(sparclite-*-aout*): Renamed from sparclite-*-*.
+	Don't set use_collect2.
+	(target_cpu_default): Set to TARGET_CPU_<cpu> for sparc.
+
+	* sparc/sparc.h (TARGET_CPU_sparc{,let,lite,64}): Define.
+	({CPP,ASM}_DEFAULT_SPEC): Set from TARGET_CPU_foo.
+	(SPARC_ARCH64 CPP_PREDEFINES): Define __arch64__.
+	(CPP_SPEC): Add %(cpp_cpu).
+	(CPP_CPU_SPEC): Define.
+	(CC1_SPEC): Convert -m<cpu> to -mcpu=<cpu>.
+	(ASM_SPEC): Add %(asm_cpu).
+	(ASM_CPU_SPEC): Define.
+	(EXTRA_SPECS,SUBTARGET_EXTRA_SPECS): Define.
+	(OVERRIDE_OPTIONS): Call SUBTARGET_OVERRIDE_OPTIONS after
+	sparc_override_options.
+	({MASK,TARGET}_SUPERSPARC): Delete.
+	({MASK,TARGET}_SPARCLET): Define.
+	(MASK_ISA): Renamed from MASK_CPUS.
+	(TARGET_SWITCHES): Delete no-{v8,sparclite}.
+	(sparc_cpu,sparc_cpu_string): Declare.
+	({SUB,}TARGET_OPTIONS): Define.
+	(FIXED_REGISTERS): Add definitions for sparc64 in 32 bit mode.
+	(CONDITIONAL_REGISTER_USAGE): Don't set fixed_regs[234] if sparc64.
+	Don't set call_used_regs[48..80] for sparc64 in 32 bit mode.
+	Don't clobber fixed_regs[234] if -ffixed- was passed.
+	(ADJUST_COST): Change test for supersparc.
+	* sparc/sparc.c (sparc_cpu_string,sparc_cpu): New globals.
+	(sparc_override_options): Set ISA and CPU from sparc_cpu_string.
+	Delete tests for v9 only switches if not v9.
+	Error if -mcpu=v9 and v9 support not compiled in.
+	* sparc/sol2.h (CPP_SPEC): Use %(cpp_cpu).
+	(ASM_SPEC): Likewise.
+	(ASM_{DEFAULT,CPU}_SPEC): Use Solaris syntax for sparc64.
+	* sparc/sysv4.h (ASM_SPEC): Add %(asm_cpu).
+	* sparc/t-sparcbare (MULTILIB_*): -mv8 renamed to -mcpu=v8.
+	* sparc/t-sparclite (MULTILIB_*): Delete msoft-float and mno-flat,
+	they're the defaults.  Add -mcpu=f934 as synonym for -mfpu.
+	* ginclude/va-sparc.h (__arch64__): Renamed from __sparc_v9__.
+
+	* sparc/lite.h: #include aoutos.h.
+	(TARGET_DEFAULT): Use MASK_FOO values.
+	* sparc/sp64-aout.h: #include aoutos.h.
+	(TARGET_DEFAULT): Add MASK_APP_REGS.
+	(JUMP_TABLES_IN_TEXT_SECTION,READONLY_DATA_SECTION): Delete.
+	* sparc/sp64-elf.h (TARGET_DEFAULT): Add MASK_APP_REGS.
+ 	(CPP_PREDEFINES): Define __arch64__.
+	* sparc/sp64-sol2.h (TARGET_DEFAULT, SUBTARGET_SWITCHES): Delete.
+	(ASM_SPEC): Delete.
+
+	* sparc/sparc.h ({MASK,TARGET}_FRW): Delete.
+	(FRAME_POINTER_REQUIRED,INITIAL_FRAME_POINTER_OFFSET,
+	BASE_{INCOMING_ARG,OUTGOING_VALUE}_REG,INCOMING_REGNO,OUTGOING_REGNO,
+	FUNCTION_{PROLOGUE,EPILOGUE},DELAY_SLOTS_FOR_EPILOGUE): TARGET_FRW
+	renamed to TARGET_FLAT.
+
+	* sparc/sparc.md (cpu attr): Add all cpu variants.
+	(negtf2,negdf2,abstf2,absdf2): Use isa attr, not arch attr, in
+	determining insn lengths.
+
+	* sparc/aout.h: Renamed from sparc-aout.h.
+	(CPP_PREDEFINES): Delete __GCC_NEW_VARARGS__.
+	Add -Acpu(sparc) -Amachine(sparc).
+
+Mon Feb 19 17:49:08 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (movsf split): Use SUBREG not operand_subword.
+	(movdf split): operand_subword TARGET_32BIT and new split using
+	SUBREG for TARGET_64BIT.
+	* rs6000.c (easy_fp_constant): Rewrite to not use operand_subword.
+	(input_operand): Remove final add_operand test made irrelevant by
+	Dec. 8 change.
+	(output_toc): Handle DImode values.
+
+Mon Feb 19 13:38:00 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* i386/sol2.h (SWITCH_TAKES_ARG): Restore -R.
+	* sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
+
+Mon Feb 19 08:19:00 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* hard-reg-set.h (HARD_REG macros): If there are more than
+	HOST_BITS_PER_WIDE_INT hard registers and less than or equal to
+	4*HOST_BITS_PER_WIDE_INT hard registers, unroll the loops by hand.
+
+Mon Feb 19 07:35:07 1996  Torbjorn Granlund  <tege@tmg.se>
+
+	* rs6000.md (not:SI with assign and compare): Fix typo.
+	* (not:DI with assign and compare): Likewise.
+
+Mon Feb 19 07:17:25 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sparc.md (nonlocal_goto): No longer need USE of %o0.
+	(goto_handler_and_restore): Show uses %o0.
+
+	* combine.c (force_to_mode, case IOR): Fix typo in commuting
+	IOR and LSHIFTRT.
+
+	* alpha.c (call_operand): If in REG, only reg 27 valid.
+
+Mon Feb 19 06:57:34 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* emit-rtl.c (operand_subword): For 32-bit targets, return
+	the appropriate subword of extended precision CONST_DOUBLEs.
+
+	* arm.c (offsettable_memory_operand): New function.
+	(alignable_memory_operand): New function.
+	(gen_rotated_half_load): New function.
+	(get_arm_condition_code): Extract the mode of the comparison and
+	use it to generate the correct return value.
+	* arm.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Zmode.
+	(SELECT_CC_MODE): return CC_Zmode if the operand is QImode.  Allow LT
+	and GE comparisons in CC_NOOVmode.
+	(PREDICATE_CODES): add offsettable_memory_operand and
+	alignable_memory_operand.
+	* arm.md (*zeroextract[qs]i_compare0_scratch): Use const_int_operand
+	for operands 1 and 2.
+	(split patterns for aligned memory half-word operations): New patterns.
+	(movhi): Handle memory accesses where the alignment is known in a more
+	efficient manner.
+	(*compareqi_eq0): Use CC_Zmode.
+
+Mon Feb 19 05:34:08 1996  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* toplev.c (lang_options): Add -W{no-,}sign-compare.
+
+	* c-tree.h: Declare warn_sign_compare.
+
+	* c-typeck.c (build_binary_op): Check warn_sign_compare rather
+        than extra_warnings to decide whether to warn about comparison of
+        signed and unsigned.
+
+	* c-decl.c (c_decode_option): Handle warn_sign_compare.  -Wall
+        implies -Wsign-compare.
+
+Sun Feb 18 21:13:44 1996  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* c-lex.c (yylex, case '0'..'9','.'): For cases '0' and '1',
+	check for single digit constant before resorting to general
+	number processing.
+
+Sun Feb 18 19:29:44 1996  J.T. Conklin  <jtc@netbsd.org>
+
+	* m68k.h (TARGET_68060): New macro.
+	(TARGET_SWITCHES): Add -m68060.
+	* m68k.md (const_umulsi3_highpart): Disable for TARGET_M68060.
+	(ftruncdf2, ftruncsf2, muldf3, mulsidi3): Likewise.
+	(smulsi3_highpart, umulsi3_highpart, umulsidi3): Likewise.
+
+	* {m68k,ns32k,sparc}/netbsd.h (DBX_NO_XREFS): Removed.
+
+Sun Feb 18 13:29:56 1996  Charles M. Hannum  (mycroft@netbsd.org)
+
+	* c-common.c (check_format_info): Warn about `L' if -pedantic.
+
+Fri Feb 16 20:13:23 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* c-typeck.c (convert_for_assignment):
+	Bring back conversion to union without a cast,
+	undoing the Jan 16 change, but with the following differences:
+
+	- The union must have the transparent_union attribute.
+	- The conversion must be for a function argument.
+	- Warn consistently about such conversions if pedantic.
+	- Do not warn about an assignment incompatibility for one union member
+	  if another union member is compatible with no warning.
+
+Fri Feb 16 12:06:21 1996  Stan Cox  <coxs@spiff.gnu.ai.mit.edu>
+
+	* i386.c (ix86_*_binary_operator*): Allow CONST_INT as operand1
+	of MINUS.
+	* i386/dgux.h (OPTIMIZATION_OPTIONS): Call optimization_options.
+
+Fri Feb 16 08:39:47 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure: Change stdout report when have multiple files in
+	tm_file, host_xm_file, or build_xm_file.
+	(a29k-*-bsd): Use both a29k.h and unix.h.
+	(a29k-*-udi): Rename a29k-udi.h to udi.h;
+	use a29k.h, dbxcoff.h, and it.
+	(a29k-*-vxworks): Use a29k.h, dbxcoff.h, a29k/udi.h, and a29k/vx29k.h.
+	(alpha-dec-osf[23456789]*): Use alpha.h, not osf2.h.
+	(alpha-dec-osf1.2): Use alpha.h and alpha/osf12.h.
+	(alpha-*-osf*): Add explicit assignment of tm_file.
+	* a29k/udi.h: Renamed from a29k-udi.h.
+	Don't include a29k.h or dbxcoff.h.
+	* a29k/unix.h: Don't include a29k.h.
+	* a29k/vx29k.h: Don't include a29k-udi.h.
+	* alpha.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use unsigned int.
+	* alpha/osf2.h: Deleted.
+	* alpha/osf12.h: Don't include alpha.h.
+	(WCHAR_TYPE, WCHAR_TYPE_SIZE): Use short unsigned int.
+	* alpha/win-nt.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use short unsigned int.
+
+Thu Feb 15 18:26:04 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/ntstack.asm (__allocate_stack): Round up length to 16
+	byte boundary.
+
+	* rs6000.md (allocate_stack): On Windows NT, call set_sp to
+	indicate to CSE that the stack pointer changes with the call to
+	__allocate_stack.
+	(set_sp): New pattern.
+
+Thu Feb 15 16:49:15 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* integrate.c (save_for_inline_copying): Allocate reg_map with size
+	based on regno_pointer_flag_length instead of max_reg+1.
+
+Thu Feb 15 07:48:34 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fixincludes (rpc/types.h): Remove spurious "ls" command.
+
+	* reload1.c (eliminate_regs, case USE): If using a register that
+	is source of elimination, show can't be eliminated.
+
+	* expr.c (expand_builtin, case BUILT_IN_SETJMP): Shows clobbers FP
+	and all caller-save registers.
+	Set current_function_has_nonlocal_goto.
+
+Wed Feb 14 13:51:55 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (fix_truncdfsi2): Use SUBREG not operand_subword.
+	(movdi): Test HOST_BITS_PER_WIDE_INT at build time.
+	* collect2.c (scan_libraries): Append '/' to import path if missing.
+
+Wed Feb 14 09:01:55 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (movdi): Use HOST_WIDE_INT, not long long.
+
+Tue Feb 13 19:36:21 1996  Per Bothner  <bothner@cygnus.com>
+
+	* expr.c (store_constructor):  Fix flow control thinko (merge error).
+	* expr.c (store_constructor):  Pass correct value to recursive call.
+
+Wed Jan 31 11:34:45 1996  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_expr, case TARGET_EXPR): We must always store
+	into the allocated slot for TAREGT_EXPRs.
+
+Tue Feb 13 18:27:05 1996  Philippe De Muyter  <phdm@info.ucl.ac.be>
+
+	* configure (powerpc-ibm-aix3): Look for 3.2.x, not 3.2x.
+
+	* fixincludes (memory.h): Fix it also on sysV68.
+
+Tue Feb 13 17:59:03 1996  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* gcc.c (DEFAULT_SWITCH_TAKES_ARG): New macro, from SWITCH_TAKES_ARG.
+	(SWITCH_TAKES_ARG): Use it.
+	* i386/{osfrose,sol2}.h (SWITCH_TAKES_ARG): Likewise.
+	* mips/{gnu,mips}.h (SWITCH_TAKES_ARG): Likewise.
+	* sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
+	* config/svr4.h (SWITCH_TAKES_ARG): Likewise.
+
+Tue Feb 13 17:43:46 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* integrate.c (save_constants_in_decl_trees): New function.
+	(save_for_inline_copying, save_for_inline_nocopy): Call it.
+
+Tue Feb 13 17:40:27 1996  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* expr.c (convert_move): Fix typo in extendqfh2 case.
+
+	* reload1.c (reload): Make some non-group code no longer
+ 	conditional on SMALL_REGISTER_CLASSES.
+
+Tue Feb 13 17:30:45 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* pdp11.c: #include flags.h
+	(output_function_prologue, function_epilogue): Remove declarations
+	of call_used_regs and frame_pointer_needed.
+
+	* c-common.c (overflow_warning): Fix typo in warning message.
+
+	* c-decl.c (finish_decl): TREE_ASM_WRITTEN says if duplicate_decls
+	modified declaration to match an outside file scope declaration.
+
+	* stmt.c (expand_end_case): Don't use ADDR_DIFF_VEC for PIC if
+	ASM_OUTPUT_ADDR_DIFF_ELT is not defined.
+	* a29k.h, romp.h (ASM_OUTPUT_ADDR_DIFF_ELT): Remove.
+
+Tue Feb 13 13:36:36 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/cygwin32.h (CPP_PREDEFINES): Do not define PPC, just
+	define __PPC__.  Also define _ARCH_PPC to be compatible with the
+	other rs6000/powerpc ports.
+	* rs6000/win-nt.h (CPP_PREDEFINES): Ditto.
+
+	* rs6000/cygwin32.h (LIBGCC_SPEC): Don't define, always link in.
+	(SDB_DEBUGGING_INFO): Undef.
+	(DBX_DEBUGGING_INFO): Define.
+	(PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
+
+	* rs6000/t-{cygwin32,winnt} (MULTILIB*): Remove multilib support.
+
+	* rs6000/x-cygwin32 (LANGUAGES): Delete, don't override.
+
+	* rs6000/ntstack.asm: New file to provide __allocate_stack, which
+	guarantees all pages in a dynamically allocated stack frame are
+	touched in order, so that the stack is properly grown.
+
+	* rs6000/cgywin32.asm: Delete unused file.
+
+	* rs6000/t-{cygwin32,winnt} (LIB2FUNCS_EXTRA): Add ntstack.S
+	to libgcc2 build.
+
+	* rs6000.md (allocate_stack): For NT, call __allocate_stack to
+	bump the stack if the size is large or variable.
+
+	* libgcc1-test.c (mainCRTStartup,__start): New startup functions
+	to silence more linkers.
+
+Tue Feb 13 13:30:53 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (store_constructor_field): Only call change_address if
+	bitpos is nonzero.
+
+Tue Feb 13 08:21:01 1996  Fila Kolodny <fila@ibi.com>
+
+	* i370/mvs.h (CPP_SPEC): Add '-trigraphs' because IBM's h files
+	contain them.
+
+Tue Feb 13 08:17:52 1996  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+
+	* c-typeck.c (quality_type prototype): Typo, rename as
+	qualify_type.
+	(build_binary_op): Fix precedence errors.
+	* combine.c (force_to_mode, num_sign_bit_copies, simplify_comparison):
+	Fix precedence errors.
+	* emit-rtl.c (gen_lowpart): Could return without a value.
+	* jump.c (jump_optimize): Fix potential infinite loop.
+	* reg-stack.c (record_reg_life_pat): Fix precedence error.
+	* reload1.c (emit_reload_insns): Fix precedence errors.
+	* stmt.c (bc_pushcase): Fix precedence error.
+
+Mon Feb 12 23:14:02 1996  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* toplev.c (rest_of_compilation): Also set RTX_INTEGRATED_P when
+ 	we aren't going to emit the inline just yet.
+
+Mon Feb 12 21:31:02 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* rtl.h (INLINE_REGNO_POINTER_FLAG, INLINE_REGNO_POINTER_ALIGN):
+	Add one to array index.
+
+Mon Feb 12 20:55:39 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)
+
+	* configure (i[345]86-*-linux*): Set tmake_file t-linux.
+	Add crtbeginS.o and crtendS.o to extra_parts.
+	* i386/linux.h (CC1, LIB_SPEC): Deleted.
+	* config/linux.h (STARTFILE_SPEC): Add crtbeginS.o if -shared.
+	(CC1_SPEC): New.
+	(LIB_SPEC): Remove %{mieee-fp:-lieee}; use -lc_p for -profile.
+	* config/t-linux: New file.
+
+Mon Feb 12 20:42:11 1996  Randy Smith  <randys@camaro.osf.org>
+
+	* i386/x-osfrose (XCFLAGS{,_NODEBUG}): Remove $(SHLIB).
+	(XCFLAGS): New variable.
+	(libdir, mandir, bindir): Delete.
+	* i386/t-osf: New file.
+	* i860/paragon.h (STARTFILE_SPEC): Make gcc find crt0.o, not loader.
+	(LIB_SPEC): Remove /usr/lib.
+	* Makefile.in (TCFLAGS): New variable.
+	(GCC_CFLAGS): Add $(TCFLAGS).
+	(LIBGCC2_CFLAGS): Add -D for __GCC_FLOAT_NOT_NEEDED.
+	(libgcc1-test): Remove -nostdlib.
+	(float.h-cross): Don't give error #ifdef __GCC_FLOAT_NOT_NEEDED.
+	* enquire.c: Define __GCC_FLOAT_NOT_NEEEDED.
+	* configure (i[3456]86-*-osfrose): Add t-osf as tmake_file.
+
+Mon Feb 12 18:43:54 1996  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.c (add_1_to_mem): Corrected.
+
+Mon Feb 12 18:23:35 1996  Doug Evans  <dje@cygnus.com>
+
+	* configure (sparclet-*-aout*): New configuration.
+
+Mon Feb 12 14:43:50 1996  Per Bothner  <bothner@cygnus.com>
+
+	Changes to distinguish typedef from original type in debug output.
+	* tree.h (DECL_ORIGINAL_TYPE):  New macro.
+	* tree.c (copy_node):  Zero out type.symtab union.
+	* c-decl.c (pushdecl):  Set DECL_ORIGINAL_TYPE for typedef origin.
+	* dbxout,c (dbxout_type):  Don't canonicalize typedef type to base.
+
+Mon Feb 12 12:01:16 1996  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm/arm.h: (CPP_SPEC): Define __ARMEB__, __ARMEL__, and
+	__ARMWEL__ depending on the endian flags passed to the compiler.
+	(ARM_FLAG_LITTLE_WORDS): Define.
+	(TARGET_SWITCHES): Add option -mwords-little-endian.
+	(TARGET_LITTLE_WORDS): Define.
+	(WORDS_BIG_ENDIAN): Select based on the endian switches.
+	(LIBGCC2_WORDS_BIG_ENDIAN): Define based on run-time endian
+	defines.
+	* arm/arm.c (output_move_double): Cope with both word-endian
+	alternatives.  Remove extraneous parameters from calls to
+	output_mov_immediate.
+	(arm_print_operand): New print code 'Q' for the least significant
+	register of a DImode operand.  Make code 'R' always print the
+	most significant register, rather than the highest numbered.
+	* arm/arm.md (all DImode output patterns): Use print code
+	'Q' to access the least significant word.  Make sure the
+	patterns are fully aware of the word endianness.
+
+	* arm/semi.h (CPP_SPEC):  Define __ARMEB__, __ARMEL__, and
+	__ARMWEL__ depending on the endian flags passed to the compiler.
+	(LINK_SPEC): Pass -EB to the linker if compiling for big-endian
+	mode.
+	(ASM_SPEC): Likewise for the assembler.
+	* arm/semiaof.h (CPP_SPEC):  Define __ARMEB__, __ARMEL__, and
+	__ARMWEL__ depending on the endian flags passed to the compiler.
+
+Mon Feb 12 10:15:29 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* configure: Permit tm_file and xm_file to be a list of header
+	file names, rather than just a single file.  For many targets,
+	handle --with-stabs by adding dbx.h to tm_file, rather than using
+	a different tm_file.
+	* dbx.h: New file.
+	* alpha/gdb-osf2.h: Remove.
+	* alpha/gdb-osf12.h: Remove.
+	* alpha/gdb.h: Remove.
+	* i386/sysv4gdb.h: Remove.
+	* mips/iris5gdb.h: Remove.
+	* mips/iris4gl.h: Remove.
+	* mips/iris4gdb.h: Remove.
+	* mips/iris3gdb.h: Remove.
+	* mips/dec-gosf1.h: Remove.
+	* mips/news4-gdb.h: Remove.
+	* mips/news5-gdb.h: Remove.
+	* mips/svr4-t-gdb.h: Remove.
+	* mips/ultrix-gdb.h: Remove.
+	* mips/bsd-5-gdb.h: Remove.
+	* mips/bsd-4-gdb.h: Remove.
+	* mips/svr4-5-gdb.h: Remove.
+	* mips/svr4-4-gdb.h: Remove.
+	* mips/svr3-5-gdb.h: Remove.
+	* mips/svr3-4-gdb.h: Remove.
+	* mips/mips-5-gdb.h: Remove.
+	* mips/ecoffl-gdb.h: Remove.
+	* mips/ecoff-gdb.h: Remove.
+	* mips/mips-4-gdb.h: Remove.
+
+Mon Feb 12 07:22:20 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* integrate.c (save_for_inline_copying): Put virtual regs into
+	new regno_reg_rtx copy.
+
+Sun Feb 11 18:53:12 1996  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* i386.md: Delete spurious integer subtract patterns.
+	Delete % from subtract operand constraints.
+
+Sun Feb 11 19:17:24 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* m68k.md (movqi): Call CC_STATUS_INIT when loading to/from
+	an address register via a data register.
+
+Sun Feb 11 08:44:49 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-common.c (check_format_info): Handle missing type in format
+	when terminated by a new `%'.
+
+Sat Feb 10 15:14:22 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+	* cross-make (STMP_FIXPROTO): Moved from here to build-make.
+	* build-make (STMP_FIXPROTO): Moved here from cross-make.
+
+Sat Feb 10 08:39:05 1996  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.md (movstrqi): Corrected.
+	(zero_extendqihi2): Taken out, let GCC synthesize.
+	(movhi-1): Added insn to move HImode small constant to memory.
+	(movhf-1): Added insn to move HFmode zero to memory.
+	(movtqf-1): Added insn to move TQFmode zero to memory.
+	(numerous insns): Taken out B (Base Reg with Index) mode.
+
+	* 1750a.c (movcnt_regno_adjust): Corrected.
+	(mov_memory_operand, zero_operand): Added.
+	(b_mode_operand): Corrected.
+	(simple_memory_operand, add_1_to_mem): Added.
+	(print_operand_address): Corrected case of 'Q' output modifier.
+
+	* 1750a.h (REG_ALLOC_ORDER): Changed back to natural order.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Added letter 'G'.
+	(EXIT_IGNORE_STACK): Set to 0.
+	(REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Use corresponding REGNO_OK.
+	(MOVE_MAX, MOVE_RATIO): Defined.
+
+Sat Feb 10 08:28:12 1996  Martin Anantharaman  <martin@goofy.imech.uni-duisburg.de>
+
+	* configure (m68k-*-psos*): New configuration.
+	* psos.h: New file.
+	* m68k/m68k-psos.h: New file.
+
+Sat Feb 10 08:07:52 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sched.c (flush_pending_lists): Add new arg, ONLY_WRITE.
+	(sched_analyze_{1,2,insn}): Add new arg to flush_pending_lists.
+	(sched_analyze): Always flush pending write list for call, even const.
+
+	* integrate.c (save_for_inline_copying): Put reg_map in function's
+	maybepermanent obstack instead of using alloca; set regno_reg_rtx
+	to it; delete recently-added copying of this later.
+
+Sat Feb 10 00:49:58 1996  Doug Evans  <dje@cygnus.com>
+
+	* sched.c (add_dependence): Add test for next != CODE_LABEL.
+
+Fri Feb  9 16:10:04 1996  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* i386.md (fp, integer): Added function units for pentium.
+	(cmp*,mov*,add*,sub*,mul*,div*,extend*,trunc*,and*,ior*,xor*,neg*,
+	abs*,sqrt*,sin*,cos*,not*,ash*,lsh*,rot*,sub): Tightened constraints,
+	added attribute support, and made changes for new `binary' and
+	`unary' functions.
+
+	* i386.c (processor_costs): New variable.
+	(optimization_options, ix86_expand_binary_operator,
+	ix86_binary_operator_ok, ix86_expand_unary_operator,
+	ix86_unary_operator_ok, is_mul, is_div, copy_all_rtx, rewrite_address,
+	last_to_set_cc, doesnt_st_condition_code, sets_condition_code,
+	str_immediate_operand, is_fp_insn, is_fp_dest, is_fp_store,
+	agi_dependent, reg_mentioned_in_mem): New functions.
+
+	* i386/i386.h (OPTIMIZATION_OPTIONS, ALIGN_DFmode, IS_STACK_MODE,
+	IX86_EXPAND_BINARY_OPERATOR): New macros.
+	(RTX_COSTS, REGISTER_MOVE_COST, ADJUST_BLOCKAGE) Changed for pentium.
+
+Fri Feb  9 14:47:27 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.c (sp64_medium_pic_operand): New function.
+	(move_pic_label): Delete.
+	(legitimize_pic_address): Simplify using some named patterns.
+	(finalize_pic): Add preliminary sparc64 support.
+	(emit_move_sequence): Reorganize.
+	* sparc.md (pic_lo_sum_si,pic_sethi_si,get_pc_sp32,get_pc_sp64,
+	move_pic_label_si,move_label_di,sethi_di_sp64): Make named patterns.
+	(sethi_di_sp64_const,sethi_di_medium_pic): New anonymous patterns.
+	(move_pic_label_si,move_label_di): Optimize for near labels.
+	(tablejump): Use for TARGET_MEDANY.
+	(casesi): Delete.
+
+Fri Feb  9 13:48:45 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.md (probe+2, probe+4): New conditional move patterns.
+	(movsicc): Don't truncate comparison if it is DImode.
+
+	* sh.h (CPP_SPEC): Add defines for -m1, -m2, and -m3.
+
+Fri Feb  9 09:11:28 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* toplev.c (rest_of_compilation): Set RTX_INTEGRATED_P in
+	INLINE_HEADER iff function is inlineable.
+	* calls.c (expand_call): Test RTX_INTEGRATED_P in DECL_SAVED_INSNS.
+
+Thu Feb  8 01:11:15 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.md (floatunssisf2 expander): Don't use "general_operand".
+	(floatunssidf2 expander): Likewise.
+
+Wed Feb  7 16:59:31 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/{sysv4,win-nt,netware,cygwin32}.h ({ASM,LINK}_SPEC):
+	Don't use %{V} for either linker or assembler.
+
+Tue Feb  6 17:22:29 1996  Per Bothner  <bothner@cygnus.com>
+
+	* dbxout.c (dbxout_range_type):  Emit non-range INTEGER_TYPE
+	as a sub-range of itself (so gdb can tell the difference).
+
+Tue Feb  6 17:01:44 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (addsi3 and adddi3 split): Use cleaner computation
+	and portable HOST_WIDE_INT.
+	(iordi3 split): Use HOST_WIDE_INT.
+	(movdi): Add TARGET_64BIT support and generate 64 bit constants.
+	(movdi matcher, TARGET_POWERPC64): Add immediate constraint handled
+	by new define_split.
+	(allocate_stack): Use TARGET_32BIT.
+	(tablejump): Add TARGET_64BIT support using ...
+	(tablejumpsi): Rename original tablejump pattern.
+	(tablejumpdi): New pattern.
+
+Tue Feb  6 15:29:22 1996  Per Bothner  <bothner@cygnus.com>
+
+	* stor-layout.c (layout_type):  Use same code to layout CHAR_TYPE
+	as for INTEGER_TYPE (instead of hard-wiring in QImode).
+
+Tue Feb  6 15:13:38 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.md (various patterns): Avoid using "general operand" in
+	define_insn patterns.
+
+Sun Feb  4 21:37:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi{,sim}.h (LINK_START_SPEC): Bump the default start address
+	for the simulator to 0x10000074 so that we don't waste a page in the
+	linked file.
+
+Fri Feb  2 19:44:10 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi-c{i,n}.asm (.sdata2, .sbss2): Put these in the
+	read-only section, not read-write.
+
+	* libgcc2.c (__unwind_function, rs6000/powerpc): Use _ARCH_PPC
+	being defined to indicate to use PowerPC mnemonics.
+
+	* config/rs6000/t-cygwin32 (MULTILIB*): Add software floating
+	point support.
+
+Thu Feb  1 09:10:02 1996  Steve Chamberlain  <sac@slash.cygnus.com>
+
+	* config/{i386,rs6000}/cygwin32.{asm,h}: New templates.
+	* config/{i386,rs6000}/{t,x}-cygwin32: Ditto.
+	* config/{i386,rs6000}/xm-cygwin32.h: Ditto.
+	* configure.in (powerpcle-*-cygwin32, i[3456]86-*-cygwin32): New.
+
+Fri Feb  2 17:42:40 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* c-decl.c (finish_struct):
+	Fix typo in transparent union warning that led to core dump.
+
+	* c-parse.in (stmt): Warn about `goto *expr;' if pedantic.
+	(label): Warn about `case expr ... expr:' if pedantic.
+
+Fri Feb  2 11:05:27 1996  Doug Evans  <dje@cygnus.com>
+
+	* h8300/h8300.h (TARGET_ALIGN_300): Renamed from
+	TARGET_ALIGN_STRUCT_300.
+	(TARGET_SWITCHES): Rename -malign-struct-300 to -malign-300.
+	(BIGGEST_ALIGNMENT): Use TARGET_ALIGN_300.
+
+Fri Feb  2 08:25:49 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* flow.c (jmp_uses_reg_or_mem): Renamed from uses_reg_or_mem.
+	Don't look into condition of an IF_THEN_ELSE; also make faster.
+	(find_basic_blocks): Use new name.
+
+Fri Feb  2 06:49:56 1996  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* reload.c (debug_reload): Fix typo for reload_noncombine.
+
+Thu Feb  1 21:49:02 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa-pro.h (TARGET_DEFAULT): Turn on TARGET_SOFT_FLOAT by
+	default for all pro targets.
+	* t-pro: Delete all multilib references.
+
+Thu Feb  1 17:50:02 1996  Doug Evans  <dje@cygnus.com>
+
+	* c-lex.c (check_newline): Return result of HANDLE_PRAGMA.
+	* h8300/h8300.h (HANDLE_PRAGMA): Pass result back to caller.
+	* i960/i960.h (HANDLE_PRAGMA): Likewise.
+	* sh/sh.h (HANDLE_PRAGMA): Likewise.
+	* nextstep.h (HANDLE_PRAGMA): Likewise.
+
+Wed Jan 31 19:26:03 1996  Doug Evans  <dje@cygnus.com>
+
+	* m68k/m68k-none.h: Rewrite to use EXTRA_SPECS.
+	* m68k/vxm68k.h (CPP_SPEC): Delete.
+	(SUBTARGET_EXTRA_SPECS): Define.
+
+Wed Jan 31 15:10:59 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c (output_epilog): Fix PPC64 typos and use TARGET_32BIT.
+	(output_prolog): Same.
+	(rs6000_trampoline_template, rs6000_trampoline_size): Use TARGET_32BIT.
+	* rs6000.md (movdf TARGET_POWERPC64 matcher): Fix std typo.
+	(movdi TARGET_POWERPC64 matcher): Same.
+
+Wed Jan 31 09:46:11 1996  Richard Earnshaw (rearnshaw@armltd.co.uk)
+
+	* regs.h (regno_pointer_align, REGNO_POINTER_ALIGN): Delete from
+	here...
+	* rtl.h (regno_pointer_align, REGNO_POINTER_ALIGN): ... and put
+	them here.
+
+Wed Jan 31 08:26:12 1996  Andreas Schwab  (schwab@issan.informatik.uni-dortmund.de)
+
+	* m68k/linux.h (STRICT_ALIGNMENT): Define to zero.
+	(LEGITIMATE_PIC_OPERAND_P): Match definition from m68kv4.h.
+
+	* m68k.h (TRAMPOLINE_{TEMPLATE,SIZE}): Avoid need for helper function.
+	(INITIALIZE_TRAMPOLINE): Likewise.
+	(TRAMPOLINE_ALIGNMENT): Renamed from TRAMPOLINE_ALIGN.
+	* m68k/next.h (INITIALIZE_TRAMPOLINE): Adjusted accordingly.
+
+	* m68kv4.h (STATIC_CHAIN_REGNUM): Redefine to use register a1.
+	(TRAMPOLINE_TEMPLATE): Likewise.
+
+	* m68k/linux.h, m68kv4.h (LIBCALL_VALUE): Return XFmode value in fp0.
+	* m68k.c (init_68881_table): Use SFmode for the first six
+ 	constants and DFmode for the seventh.
+
+	* m68k.md (movqi): Use moveq if possible.
+
+Wed Jan 31 08:18:15 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_builtin, case BUILT_IN_NEXT_ARG): Strip off
+	INDIRECT_REF when checking second arg.
+
+	* calls.c (struct arg_data, expand_call): Test STRICT_ALIGN with #if.
+
+Wed Jan 31 07:47:56 1996  Tim Wright  (timw@sequent.com)
+
+	* configure (i[345]-sequent-sysv*): Change to sysv3*; add i686.
+	(i[3456]86-sequent-ptx4*, i[3456]86-sequent-sysv4*): New cases.
+	* fixinc.ptx (sys/mc_param.h): Remove embedded asm.
+	* fixinc.svr4 (__STDC__): Add one more case.
+	* i386/ptx4-i.h, ptx4.h: New files.
+
+Wed Jan 31 07:15:23 1996  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.h (MACHINE_STATE_{SAVE,RESTORE}): Allow MOTOROLA syntax.
+
+	* m68k.md ({adddi,subdi}_sexthishl32): 'a' and 'd' versions merged
+	and fixed; do not generate 'add/sub a,m'.
+
+	* gcc.c (warn_std_ptr): Initialize with 0 instead of NULL_PTR.
+
+Tue Jan 30 13:29:05 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dbxout.c: Don't include <string.h>.  Don't compare strchr result
+	to NULL.
+
+	* config/svr4.h (ASM_FINAL_SPEC): Use %|, not ${pipe:-}.
+
+Tue Jan 30 06:48:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (nonzero_bits, case REG): Ignore REG_POINTER_ALIGNMENT.
+	Restore old code for SP, but use it for all pointers to
+	defined locations in the frame.
+
+Mon Jan 29 11:25:28 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dbxout.c (dbxout_type_methods): Don't use #ifndef inside call to
+	strchr.
+
+Sun Jan 28 14:44:09 1996  Doug Evans  <dje@cygnus.com>
+
+	* config/dbxcoff.h (*): #undef first.
+
+Sat Jan 27 21:46:16 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c (rs6000_sync_trampoline): Add cmpdi to 64bit case.
+	(rs6000_initialize_trampoline): CSE of Pmode to pmode.
+	* rs6000.md (movdf): Handle move between FPR and 64 bit GPR.
+	(movdi matcher): Handle SPR move to itself and add "mr." combiner.
+
+Sat Jan 27 10:06:31 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Redefine, put small
+	data items in .sbss if -msdata.
+	(SWITCH_TAKES_ARG): Add 'B', 'b', and 'V'.
+
+Sat Jan 27 07:59:25 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.h (enum built_in_function): Add BUILT_IN_{SET,LONG}JMP.
+	* expr.c: Include hard-reg-set.h.
+	(arg_pointer_save_area): New declaration.
+	(expand_builtin, case BUILT_IN_{SET,LONG}JMP): New cases.
+	* Makefile.in (expr.o): Includes hard-reg-set.h.
+	* c-decl.c (init_decl_processing): Add definitions for
+	__builtin_setjmp and __builtin_longjmp.
+	* cccp.c (initialize_builtins): Add def of __HAVE_BUILTIN_SETJMP__.
+
+	* expr.c (expand_expr, case COMPONENT_REF): Pass EXPAND_INITIALIZER
+	to recursive call.
+
+Fri Jan 26 17:24:07 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.h (sparc_arch_type): Delete.
+	({,TARGET_}MASK_DEPRECATED_V8_INSNS): Define.
+	(ARCH64_SWITCHES): Renamed from V9_SWITCHES.
+	* sparc.c (sparc_arch_type): Delete.
+	(sparc_init_modes): Likewise.
+	(output_move_quad): Don't use ldq/stq unless TARGET_HARD_QUAD.
+	* sparc/sp64-sol2.h (TARGET_DEFAULT): Add MASK_DEPRECATED_V8_INSNS.
+	(SUBTARGET_SWITCHES): Add -m{no-,}deprecated-v8-insns.
+	* sparc.md (arch attribute): Rewrite.
+	(isa): New attribute.
+	(32 bit multiply/divide patterns): Use if TARGET_DEPRECATED_V8_INSNS.
+	(32 bit divide patterns): V9 doesn't require delay after y reg write.
+
+Fri Jan 26 12:08:43 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (TARGET_32BIT): Define.
+	(BITS_PER_WORD, UNITS_PER_WORD): Invert so 32bit expected case.
+	(LONG_TYPE_SIZE, POINTER_BOUNDARY, PARM_BOUNDARY): Likewise.
+	(RS6000_REG_SAVE, RS6000_SAVE_AREA, RS6000_VARARGS_SIZE): Likewise.
+	(RETURN_ADDRESS_OFFSET, CASE_VECTOR_MODE, MOVE_MAX): Likewise.
+	(Pmode, FUNCTION_MODE): Likewise.
+	(LEGITIMATE_OFFSET_ADDRESS_P): Handle TARGET_64BIT.
+	(GO_IF_LEGITIMATE_ADDRESS, LEGITIMIZE_ADDRESS): Likewise.
+	(GO_IF_MODE_DEPENDENT_ADDRESS): Same.
+
+Fri Jan 26 10:37:52 1996  Stan Coxs  <coxs@dg-rtp.dg.com>
+
+	* m88k.md (umulsidi3): Added for the 88110
+
+Fri Jan 26 09:35:42 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (STRIP_NAME_ENCODING): Deal with names that have
+	both @ and * prefix characters.
+	(ASM_OUTPUT_LABELREF): Ditto.
+
+Thu Jan 25 10:03:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (LEGITIMIZE_ADDRESS): Rewrite to use HOST_WIDE_INT, not
+	plain int.
+	(optimize,flag_expensive_optimizations): Provide declaration for
+	expander functions.
+
+	* rs6000.md (movsi): Correct code in splitting an address into
+	load from the TOC, and add low/high integer parts.  If expensive
+	optimizations, and reload hasn't started, use separate pseudo regs
+	for each step.
+
+	* rs6000.c (small_data_operand): Don't use the function
+	eliminate_constant_term, unwind code directly.
+	(input_operand): SYMBOL_REF/CONST of small data operand is valid.
+	(print_{,address_}operand): Add @sda21(0) in appropriate cases for
+	small data.
+	%L, etc. so that if the item is in small memory, the appropriate
+	relocation is used.
+	(rs6000_select{,_rtx}_section): Don't put floating point constants
+	or small strings in .sdata2 since we can't tell from the pointer
+	whether it is in the small data area or not.
+
+	* rs6000.h (EXTRA_CONSTRAINT): Add 'U' for small data references.
+	(LEGITIMATE_SMALL_DATA_P): Test explicitly for SYMBOL_REF or CONST
+	before calling small_data_operand.
+
+	* rs6000.md (movsi): Handle the addresses of small data items.
+
+	* rs6000/sysv4.h (g_switch_{value,set}): Add declarations.
+	(SDATA_DEFAULT_SIZE): Default to 8.
+	(SUBTARGET_OVERRIDE_OPTIONS): If -G was not set, set it to
+	SDATA_DEFAULT_SIZE.
+	(CC1_SPEC): Pass -G nn to the compilers.
+	(SWITCH_TAKES_ARG): Add -G nn support.
+	(LINK_SPEC): Pass -G nn to the linker.
+
+Thu Jan 25 09:16:34 1996  Doug Evans  <dje@cygnus.com>
+
+	* configure (sparc64-*-solaris2*): New target.
+	* sparc/sparc.h (SPARC_{V9,ARCH64}): Default value is 0.
+	(*): Replace SPARCV9 with SPARC_{V9,ARCH64}.
+	(MASK_CPUS): Define.
+	({MASK,TARGET}_ENV32): Delete.
+	({MASK,TARGET}_ARCH64,TARGET_ARCH32): Define.
+	(TARGET_SWITCHES): Reset cpu flags first for each variant.
+	(CONDITIONAL_REGISTER_USAGE): If 32 bit v9 system, unfix g1-g4,
+	fix g5, and make %f48-%f80 call used.
+	* sparc/sp64-aout.h (SPARC_{V9,ARCH64}): Define.
+	(TARGET_VERSION): Define.
+	(TARGET_DEFAULT): Add MASK_ARCH64, delete MASK_ENV32.
+	(JUMP_TABLES_IN_TEXT_SECTION): Define.
+	(READONLY_DATA_SECTION): Make text_section.
+	* sparc/sp64-elf.h (SPARC_{V9,ARCH64}): Define.
+	(TARGET_DEFAULT): Add MASK_ARCH64.
+	(ENDFILE_SPEC): No longer need to check for -nostartfiles.
+	(ASM_IDENTIFY_GCC): Define as empty.
+	* sparc/sp64-sol2.h: New file.
+	* sparc/sparc.c (*): Replace TARGET_V9 with TARGET_ARCH64.
+	(hard_32bit_mode_classes): Add v9 regs.
+	(gen_v9_scc): Handle 32 bit v9 case.  Call v9_regcmp_p.
+	* sparc/sparc.md (*): Replace TARGET_V9 with TARGET_ARCH64 in places
+	requiring 64 bit environment.
+	(multf3_extend): Require TARGET_HARD_QUAD.
+
+Thu Jan 25 00:33:25 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config/dbxcoff.h (DBX_USE_BINCL): Define.
+	(DBX_CONTIN_LENGTH): Define if not defined.
+
+Wed Jan 24 18:00:12 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
+
+	* alpha.c (alpha_write_verstamp): Only emit MS_STAMP and LS_STAMP,
+	not the extra numbers.
+
+Wed Jan 24 15:18:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (init_cumulative_args): Rewrite to use DEFAULT_ABI
+	runtime tests, instead of V.4 #ifdefs.
+	(function_arg{,_advance,_partial_nregs,_pass_by_reference}): Ditto.
+	(setup_incoming_varargs): Ditto.
+  	(init_cumulative_args): Set call_cookie field to CALL_NORMAL or
+	CALL_NT_DLLIMPORT.
+	(function_arg): Add support for DLL imports.
+	(rs6000_valid_{decl,type}_attribute_p): New functions for NT
+	attributes cdecl, stdcall, dllimport, and dllexport.
+	(rs6000_comp_type_attributes): New attribute support.
+	(rs6000_set_default_type_attributes): Ditto.
+	(rs6000_dll_import_ref): Ditto.
+
+	* rs6000.h (FP_ARG_{AIX,SYSV}_MAX_REG): Move here from sysv4.h.
+	* sysv4.h (FP_ARG_{AIX,SYSV}_MAX_REG): Move to rs6000.h.
+
+	* rs6000.h (rs6000_call_cookie): New enum to describe the integer
+	that is the 2nd argument to call insns and 3rd argument to
+	call_value insns. Add support for NT DLL imports.
+	(rs6000_args): Add call_cookie field.
+	(VALID_MACHINE_{DECL,TYPE}_ATTRIBUTE): Define to call C functions.
+	({COMP_TYPE,SET_DEFAULT_TYPE}_ATTRIBUTES): Ditto.
+	(rs6000_valid_{decl,type}_attribute_p): Add declarations.
+	(rs6000_comp_type_attributes): Ditto.
+	(rs6000_set_default_type_attributes): Ditto.
+	(rs6000_dll_import_ref): Ditto.
+
+	* win-nt.h (ASM_DECLARE_FUNCTION_NAME): Add support for dllexport
+	attribute.
+
+	* rs6000.md (call insns): Add support for NT dllimport functions,
+	and fix up NT indirect calls.  Also correctly set the flag
+	rs6000_save_toc_p on NT indirect calls.
+
+	* aix41.h (LINK_SPEC): Use new extra specs to avoid separate
+	versions for native and cross compilation.
+	* rs6000.h (LINK_SPEC): Ditto.
+	* sysv4.h (LINK_SPEC): Ditto.
+
+	* rs6000.h (EXTRA_SPECS): Add link_syscalls, link_libg, link_path,
+	link_specs, and also allow target to define more with the macro
+	SUBTARGET_EXTRA_SPECS.
+	(LINK_{LIBG,SYSCALLS}_SPEC): Define as fixed pathnames if native
+	compilation, and currently nothing if cross compiling.
+	(LINK_START_SPEC): If not defined, define as empty.
+	* eabi{,sim}.h (LINK_START_SPEC): Add default -Ttext for
+	simulator.
+
+	* eabi{aix,le}.h (MULTILIB_DEFAULTS): Add -mno-sdata default.
+	* sysv4{,le}.h (MULTILIB_DEFAULTS): Ditto.
+
+	* rs6000.c (small_data_operand): New function to return true if
+	the operand lives in small data under eabi.
+	(rs6000_select{,_rtx}_section): New functions to determine whether
+	to put global and static items in the V.4/eabi small data areas if
+	-msdata.
+
+	* rs6000.h (LEGITIMATE_SMALL_DATA_P): Call small_data_operand it
+	if V.4.
+	(GO_IF_LEGITIMATE_ADDRESS): If LEGITIMATE_SMALL_DATA_P, the item
+	is a valid address.
+	(ASM_OUTPUT_LABELREF): Use fputs, not fprintf.
+	(small_data_operand): Declare function.
+
+	* sysv4.h (TARGET_SWITCHES): New switch -msdata to use V.4 and
+	eabi defined small data sections.
+	(SUBTARGET_OVERRIDE_OPTIONS): Don't allow -msdata and
+	-mrelocatable or -mcall-aix options.
+	(EXTRA_SECTION{S,_FUNCTIONS}): Add .sdata, .sdata2, and .sbss
+	sections.
+	(SELECT{,_RTX}_SECTION): Call (rs6000_select{,_rtx}_section).
+	(ASM_SPEC): The -msdata switch passes -memb to the assembler.
+	(ENCODE_SECTION_INFO): Prepend a '@' to the name, if the item
+	lives in a small data region.
+	(STRIP_NAME_ENCODING): Strip '@' in addition to '*'.
+	(ASM_OUTPUT_LABELREF): Strip a leading '@'.
+
+	* t-{ppc,eabi}gas (MULTILIB*): Add support for libraries built
+	with/without -msdata.  Drop support for -mcall-aixdesc libraries.
+
+Wed Jan 24 15:18:15 1996  Kim Knuttila  <krk@cygnus.com>
+
+	* config/rs6000/win-nt.h (LIB_SPEC): Change options to GNU ld style.
+	(From Jason Molenda)
+
+Wed Jan 24 14:32:48 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* reload1.c (used_spill_regs): New variable.
+	(reload): Set it.
+	* reorg.c (find_dead_or_set_registers): New function.
+	(mark_target_live_regs): Delete loop looking forward from target
+	and instead call find_dead_or_set_registers.
+	(fix_reg_dead_note): New function.
+	(fill_slots_from_thread): Call it.
+
+	* loop.c (scan_loop): Correct comment.
+	(strength_reduce): Correct comments.  Don't set maybe_multiple when
+	pass branch to scan_start.  Don't set not_every_iteration after
+	passing a CODE_LABEL, or after passing a branch out of the loop.
+	When outputting DEST_ADDR giv increments, put them next to the memory
+	address on machines with auto-increment addresses.
+	(record_biv): Set new field always_executed.
+	(record_giv): Set new fields always_executed and auto_inc_opt.
+	(maybe_eliminate_biv_1): Reject biv with auto_inc_opt optimization
+	in some cases.
+	* loop.h (struct induction): New fields always_executed and
+	auto_inc_opt.
+
+	* c-typeck.c (pointer_int_sum): Use TYPE_PRECISION (sizetype) not
+	POINTER_SIZE to agree with expr.c.
+
+Tue Jan 23 15:17:30 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sol2.h (ASM_OUTPUT_ALIGNED_LOCAL): Delete, use svr4.h's.
+
+Tue Jan 23 03:28:01 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cexp.y: Use preprocessor arithmetic instead of C arithmetic
+	to avoid warnings on some compilers.
+	(HOST_WIDE_INT_MASK): Remove.
+	(MAX_CHAR_TYPE_MASK, MAX_WCHAR_TYPE_MASK): New macros.
+	(yylex): Use them.
+
+Mon Jan 22 18:39:21 1996  Per Bothner  <bothner@cygnus.com>
+
+	* cppexp.c (cpp_parse_expr):  Set HAVE_VALUE flag for unary
+	minus, even if skip_evaluation is true.
+
+Mon Jan 22 16:53:48 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000/rs6000.h (BIGGEST_ALIGNMENT): Increase to 64 always.
+	(BIGGEST_FIELD_ALIGNMENT): Define.
+	(GO_IF_LEGITIMATE_ADDRESS): Merge PRE_INC and PRE_DEC cases.
+	(LEGITIMIZE_ADDRESS): Use Pmode not SImode.
+	(CASE_VECTOR_MODE): Depend on TARGET_64BIT.
+	(ASM_OUTPUT_COMMON): Delete.
+	(ASM_OUTPUT_ALIGNED_COMMON): Define.
+	* rs6000/sysv4.h (BIGGEST_FIELD_ALIGNMENT): Undefine.
+	* rs6000/rs6000.md (adddi3, subdi3, negsi2): New PowerPC64 patterns.
+	(ashldi3, lshrdi3, ashrdi3, anddi3, iordi3, xordi3): Same.
+	(moddi3, cmpdi, tablejump matchers): Same.
+	(divdi3): Update PowerPC64 patterns.
+	* rs6000.c (rs6000_initialize_trampoline, case ABI_AIX): Use Pmode
+	not SImode.
+
+Sun Jan 21 23:33:24 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dbxout.c: Include <string.h>
+
+Fri Jan 19 17:17:00 1996  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* tree.h (CONSTRUCTOR_TARGET_CLEARED_P):  Removed.
+	* expr.c (is_zeros_p, mostly_zeros_p):  Handle SET_TYPE CONSTRUCTORs.
+	(store_constructor_field):  New helper function.
+	(store_constructor):  Take 'cleared' parameter.
+	(expand_expr):  Fix store_constructor_call to pass 'cleared' of 0.
+
+	* expr.c (store_constructor, SET_TYPE):  Fix off-by-one-error.
+	Also, devide start byte by BITS_PER_UNIT before passing to memset.
+	(store_constructor):  `continue' in wrong place.
+
+	* expr.c (store_constructor):  If storing into a range of array
+	elements, and the range is small, or the target it not memory,
+	unroll the loop (and use store_field, which handles REGs).
+	(store_constructor):  Handle RANGE_EXPR in array index.
+
+Fri Jan 19 16:52:25 1996  Doug Evans  <dje@charmed.cygnus.com>
+
+	* svr4.h (SWITCH_TAKES_ARG): Add 'x'.
+	* sparc/sol2.h (SWITCH_TAKES_ARG): Likewise.
+
+Fri Jan 19 15:18:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dbxout.c (flag_minimal_debug): Initialize to 0 if both
+	NO_DOLLAR_IN_LABEL and NO_DOT_IN_LABEL are defined.
+	(dbxout_type_methods): If the mangled method name uses the special
+	C++ marker character, pass show_arg_types as 1 when calling
+	dbxout_type.
+
+Fri Jan 19 11:48:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi-ci.asm (_SDA_BASE_): Move the default definition
+	from the .got section to the .sdata section.  Do not add 32768.
+	(_SDA2_BASE_): Provide a default definition.
+
+	* rs6000/eabi-cn.asm (.got.blrl): Don't define this section any
+	more, linker now directly creates the blrl instruction at
+	_GLOBAL_OFFSET_TABLE_-4.
+
+Fri Jan 19 05:12:31 1996  Richard Earnshaw <rearnsha@armltd.co.uk>
+
+	* arm/lib1funcs.asm (__divsi3, __modsi3, __udivsi3, __umodsi3):
+	Replace with smaller, faster versions.
+
+Thu Jan 18 17:41:46 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.c (ctype.h): Delete.
+	(regno_reg_class, reg_class_from_letter): Add SH3e support.
+	(prepare_scc_operands, broken_move, push, pop, push_regs): Likewise.
+	(calc_live_regs, sh_expand_prologue, sh_expand_epilogue): Likewsie.
+	(initial_elimination_offset, arith_reg_operand): Likewise.
+	(sh_builtin_saveregs, fp_zero_operand, fp_one_operand): New functions.
+	(sh_function_arg, sh_function_arg_partial_nregs): Delete.
+	* sh.h (CPP_SPEC, CONDITIONAL_REGISTER_USAGE): Add SH3E support.
+	(TARGET_SWITCHES, OVERRIDE_OPTIONS, FIRST_PSEUDO_REGISTER): Likewise.
+	(FIXED_REGISTERS, CALL_USED_REGISTERS, HARD_REGNO_MODE_OK): Likweise.
+	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
+	(REG_ALLOC_ORDER, CONST_DOUBLE_OK_FOR_LETTER_P, NPARM_REGS): Likewise.
+	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Likewise.
+	(FUNCTION_ARG_REGNO_P, CUMULATIVE_ARGS, ROUND_REG): Likewise.
+	(INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Likewise.
+	(FUNCTION_ARG_PARTIAL_NREGS, LEGITIMATE_CONSTANT_P): Likewise.
+	(MODE_DISP_OK_4, REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
+	(DBX_REGISTER_NUMBER, enum processor_type): Likewise.
+	(SH3E_BIT, TARGET_SH3E, FPUL_REG, FIRST_FP_REG, LAST_FP_REG): New.
+	(FIRST_FP_PARM_REG, FIRST_FP_RET_REG, BASE_RETURN_VALUE_REG): New.
+	(BASE_ARG_REG, enum sh_arg_class, struct sh_args): New.
+	(GET_SH_ARG_CLASS, PASS_IN_REG_P, sh_builtin_saveregs): New.
+	(EXPAND_BUILTIN_SAVEREGS, DOUBLE_TYPE_SIZE): New.
+	(TARGET_SWITCHES): Delete broken -m3l option.
+	* sh.md (cpu, movsi_i, movsf_i, blt, bge, sle, sge): Add SH3E support.
+	(push_e, pop_e, movsi_ie, movsf_ie, addsf3, subsf3): New patterns.
+	(mulsf3, macsf3, divsf3, floatsisf2, fix_truncsfsi2): New patterns.
+	(cmpgtsf_t, cmpqesf_t, cmpsf, negsf2, sqrtsf2, abssf2): New patterns.
+	(abssf2+9, abssf2+10): Add SH3e support to peepholes
+	(abssf2+11, abssf2+12): New peepholes for SH3e.
+	* t-sh (MULTILIB_OPTIONS): Add SH3E support.
+	(MULTILIB_DIRNAMES): Define to empty.
+
+Thu Jan 18 11:29:11 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* cplus-dem.c (cplus_demangle_opname): Change type of opname
+	parameter to const char *.
+	(cplus_mangle_opname): Change return type and type of opname
+	parameter to const char *.  Don't cast return value.
+	* demangle.h (cplus_demangle_opname): Update declaration.
+	(cplus_mangle_opname): Likewise.
+
+Thu Jan 18 10:07:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* gcc.c (extra_specs): If EXTRA_SPECS is defined, define
+	extra_specs array to hold the extra specs the machine description
+	defines.
+	(set_spec): If EXTRA_SPECS is defined, handle the extra
+	specifications.
+	(process_command): Ditto.
+	(main): Ditto.
+	(validate_all_switches): Ditto.
+
+	* rs6000/{rs6000.h,powerpc.h,aix41.h} ({CPP,ASM}_SPEC): Use common
+	specs with EXTRA_SPECS, only modifying things in the target that
+	needs to be modified, rather than having tons of mostly duplicate
+	definitions.
+	* rs6000/{sysv4{,le}.h,}netware.h,lynx.h,} ({CPP,ASM}_SPEC): Ditto.
+	* rs6000/eabi{le,aix}.h,aix3newas.h}} ({CPP,ASM}_SPEC): Ditto.
+
+Wed Jan 17 19:38:24 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cexp.y (HOST_WIDE_INT_MASK): Renamed from LONG_MASK;
+	use HOST_WIDE_INT.
+	(HOST_WIDE_INT, HOST_BITS_PER_WIDE_INT): Put back.
+	(parse_c_expression, expression_value, parse_escape, left_shift,
+	right_shift, struct constant, exp, parse_number, yylex):
+	Replace `long' with `HOST_WIDE_INT'.
+	* cccp.c (PTR_INT_TYPE): Remove obsolete define to `long'.
+	(parse_escape, parse_c_expression, eval_if_expression, get_lintcmd,
+	do_line, do_if, do_elif): Replace `long' with `HOST_WIDE_INT'.
+	(trigraph_pcp): Don't assume a pointer difference fits in an int.
+
+Wed Jan 17 18:56:31 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* expmed.c (extract_bit_field): For multi-word bitfield, clobber
+	target before storing to it.
+
+Wed Jan 17 14:19:34 1996  J.T. Conklin  <jtc@slave.cygnus.com>
+
+	* sparc/{t-sol2,t-sunos40,t-sunos41}: Define away LIBGCC1_TEST
+	so that cross compilers targeted at these systems will build.
+
+Wed Jan 17 09:51:58 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc.h (v9 INIT_CUMULATIVE_ARGS): Fix typos.
+
+	* gcc.c (process_command): New local lang_n_files, and use
+	it in test of -c with -o.  Move test of -save-temps.
+	Test for trailing NUL in -c.
+
+	* i386/t-go32: New file.
+	* i386/xm-go32.h: New file.
+	* configure (i[345]86-*-go32*): Define xm_file and tmake_file.
+
+Wed Jan 17 07:47:43 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cccp.c (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Put back.
+	(pcfinclude): Use HOST_WIDE_INT for casting pointer to integer.
+
+Wed Jan 17 05:25:06 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* va-pa.h (__gnuc_va_list): Use a "void *".
+
+Tue Jan 16 18:45:23 1996  Per Bothner  <bothner@cygnus.com>
+
+	* cppexp.c (cpp_lex):  Do cpp_pop_buffer after CPP_POP so retried
+	cpp_skip_hspace will actually work.
+
+	* cppexp.c (SKIP_OPERAND):  New macro.
+	(cpp_parse_expr):  Suppress evaluation and diagnostics in
+	unevaluated subexpressions.
+	Corresponds to Eggert's Fri Jun  9 17:58:29 1995 change.
+
+Tue Jan 16 11:59:07 1996  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_expr, case COND_EXPR): Make sure cleanups live on
+	the function_obstack as they are used by the exception handling code.
+	(defer_cleanups_to): Ditto.
+	(TRUTH_ANDIF_EXPR): Ditto.
+	(TRUTH_ORIF_EXPR): Ditto.
+
+Tue Jan 16 13:57:13 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* cccp.c (new_include_prefix): Ignore ENOTDIR error from stat.
+
+Tue Jan 16 12:18:56 1996  Doug Evans  <dje@cygnus.com>
+
+	* i386/t-sol2 (crt[1in].o): Add missing -c.
+	* sparc/t-sol2 (crt[1in].o,gcrt1.o): Likewise.
+	Source files are assembler.
+
+	* gcc.c (do_spec_1, case 'W'): Rename local `index' to `cur_index' to
+	avoid warning on solaris.
+
+Tue Jan 16 11:42:09 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config/dbxcoff.h: New file for stabs in COFF support.
+	* config/a29k/a29k-udi.h: Use dbxcoff.h.
+	* config/h8300/h8300.h: Likewise.
+	* config/i960/i960-coff.h: Likewise.
+	* config/m68k/coff.h: Likewise.
+	* config/m88k/m88k-coff.h: Likewise.
+	* config/sh/sh.h: Likewise.
+	* config/sparc/litecoff.h: Likewise.
+
+Tue Jan 16 08:21:45 1996  Hans-Peter Nilsson  <Hans-Peter.Nilsson@axis.se>
+
+	* optabs.c (expand_fix): Don't copy TARGET to TO if same.
+
+	* expr.c (emit_move_insn_1): Don't emit clobber when moving
+	by parts and source equals destination.
+
+Tue Jan 16 08:08:29 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expmed.c (extract_bit_field): Don't abort if not MEM_IN_STRUCT_P.
+
+	* local-alloc.c (memref_referenced_p, case REG): Fix last change.
+
+	* fold-const.c (const_binop): Strip NOPS from both args.
+
+	* regclass.c (regclass): Remove useless cast.
+
+Tue Jan 16 07:06:03 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* cexp.y: General code cleanup in the style of 1995-04-01 change.
+	Add prototypes for static functions.
+	Add parentheses suggested by `gcc -Wparentheses'.
+	Use `long' uniformly, instead of long, int, HOST_WIDE_INT mess.
+	(struct constant): Use `signedp' flag (with sign bit) instead of
+	`unsignedp' flag; it's a little more convenient.
+
+	(HAVE_STDLIB_H, STDC_HEADERS, LONG_MASK, __attribute__, PROTO,
+	VA_START, PRINTF_ALIST, PRINTF_DCL, PRINTF_PROTO, PRINTF_PROTO_1,
+	vfprintf, SIGNED, UNSIGNED): New symbols.
+	<stdlib.h>: Include if HAVE_STDLIB_H.
+	<string.h>: New include.
+	(HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
+	(yylex, yyerror, expression_value, parse_number,
+	initialize_random_junk): Now static.
+
+	(overflow_sum_sign): Renamed from possible_sum_sign, with an
+	extra arg SIGNEDP.
+	(parse_number): Inline strcmp when checking for "0x".
+	(yylex): Keep track of mask needed when decoding wide characters.
+	(parse_escape): New arg RESULT_MASK; use it instead of
+	assuming char width.
+	(yylex, parse_escape, parse_c_expression): Store all host
+	integers as long, not int or HOST_WIDE_INT.
+	(left_shift): No need to do signed left shifts separately.
+
+	These changes are for the test program (if TEST_EXP_READER):
+	(pedantic, traditional): Allocate storage.
+	(main): Set pedantic, traditional, yydebug depending on args.
+	(is_hor_space, warning, lookup): Change types and implementation
+	to match rest of program.
+	(pedwarn, check_assertion, xmalloc): New functions.
+
+	* cccp.c (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Remove.
+	(parse_escape, parse_c_expression, eval_if_expression):
+	Change return type to `long'; all callers changed.
+	(pcfinclude): Use `int', not HOST_WIDE_INT; any integral type will do.
+
+	* cccp.c (skip_quoted_string): If pedantic and not pedantic_errors,
+	skipped multiline strings elicit a warning, not an error.
+	(rescan): Minor code reorg to keep it parallel with skip_quoted_string.
+
+	* fold-const.c (left_shift_overflows): Remove; unused.
+
+	* c-typeck.c (convert_for_assignment): Don't automatically convert
+	from a union member to the union.
+
+Tue Jan 16 06:26:00 1996  Stefan Vogel  (stefan@ssw.de)
+
+	* config/svr4.h (ASM_OUTPUT_SECTION_NAME): Define section attributes
+	only when a section is defined the first time.
+
+Tue Jan 16 06:03:27 1996  Thomas Graichen  <graichen@omega.physik.fu-berlin.de>
+
+	* i386/freebsd.h (ASM_WEAKEN_LABEL): Deleted; not supported.
+
+Mon Jan 15 20:59:49 1996  J. Kean Johnston  <hug@netcom.com>
+
+	* Makefile.in (LIBGCC2_CLFAGS): Add -DIN_LIBGCC2.
+	(libgcc1.a): Add -DIN_LIBGCC1.
+	(stamp-crtS): Remove -fpic, use CRTSTUFF_CFLAGS_S.
+	* config/t-libc-ok: Add CRTSTUFF_CFLAGS_S.
+
+	* configure (i[3456]86-*-sco3.2v5*): New case.
+	* i386/sco5.h, i386/t-sco5, i386/x-sco5, i386/xm-sco5.h: New files.
+	* ginclude/stdarg.h, ginclude/varags.h: Add test for SCO Open Server 5.
+
+Mon Jan 15 20:44:13 1996  J.T. Conklin  <jtc@netbsd.org>
+
+	* m68k/netbsd.h (ASM_SPEC): New macro.
+
+Mon Jan 15 17:01:16 1996  Doug Evans  <dje@cygnus.com>
+
+	* c-lex.c (check_newline): Pass character after `#pragma' to
+	HANDLE_PRAGMA.  Don't call get_directive_line if at end of line.
+	* c-common.c (get_directive_line): Watch for EOF.
+	* h8300/h8300.h (HANDLE_PRAGMA): New argument `c'.
+	Must issue `return' now.
+	* i960/i960.h (HANDLE_PRAGMA): Likewise.
+	* sh/sh.h (HANDLE_PRAGMA): Likewise.
+	* nextstep.h (HANDLE_PRAGMA): Likewise.
+	* h8300/h8300.c (handle_pragma): New argument `ch'.
+	Simplify pragma processing.  Delete support for `#pragma section'.
+	* i960/i960.c (process_pragma): New argument `c'.  Change result to
+	terminating character.
+	* nextstep.c (handle_pragma): Likewise.
+	* sh/sh.c (handle_pragma): Likewise.  Also simplified.
+
+	* sched.c (reemit_notes): Add prototype.
+	(sched_analyze_2): Reorganize comments.  Call prev_nonnote_insn.
+	(sched_analyze): Add abort call.
+	(schedule_block): Call prev_nonnote_insn.
+	Move call of reemit_notes to after SCHED_GROUP_P scheduling.
+	Set `head' to `last'.
+
+Mon Jan 15 16:12:25 1996  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* configure (*-*-gnu*): Use tmake_file=t-gnu.
+	* config/t-gnu (CRTSTUFF_T_CFLAGS): New file.
+	* configure (*-*-gnu*): Remove crtbeginS.o and crtendS.o frmo
+	$extra_parts.  Use xmake_file=x-linux.
+
+Mon Jan 15 15:30:49 1996  Gran Uddeborg <gvran@uddeborg.pp.se>
+
+	* i386/svr3{,z}.ifile: Allocate address areas for the "stab"
+	and "stabstr" sections.
+
+Mon Jan 15 14:39:14 1996  Paul Eggert  <eggert@twinsun.com>
+
+	* c-decl.c (finish_incomplete_decl): Warn if completing an
+	array that wasn't declared extern.  Simplify test for whether
+	completion is needed.
+
+	* cccp.c (do_xifdef): Warn about `#ifdef 0' if not traditional;
+	formerly the warning was issued if not pedantic.
+
+Mon Jan 15 13:24:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md ({add,sub}di3): Make it work on little endian PowerPC
+	systems.
+
+	* rs6000/eabi-c{i,n}.asm (.sbss2 section): Don't make .sbss2 a
+	.bss section just yet, because it confused the linker.
+
+Mon Jan 15 08:50:31 1996  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (pushdi): Allow "i" for operand 1.
+	(extendqidi2): Improve 68000 code generation.
+	(adddi_lshrdi_63): New pattern.
+
+Mon Jan 15 08:38:40 1996  H.J. Lu {hjl@gnu.ai.mit.edu)
+
+	* configure (i[3456]86-*-linux*): Add extra_parts.
+	* i386/linux.h (LIB_SPEC): Remove %{mieee-fp:-lieee}.
+	Use -lc_p for -profile.
+	(CC1_SPEC): New macro.
+	* linux.h (STARTFILE_SPEC): Use crtbegin.o for both shared llibrary
+	and normal executable;  use gcrt1.o for -profile.
+	(ENDFILE_SPEC): Use crtend.o for shared llibrary and normal executable.
+	* x-linux (INSTALL_ASSERT_H): Unset it.
+	* configure (i[3456]86-*-linux*oldld*): Set xmake_file to x-linux-aout.
+	(i[3456]86-*-linux*aout*): Likewise.
+	* x-linux-aout: New file, copied from config/x-linux.
+
+Mon Jan 15 07:41:05 1996  Dmitry K. Butskoy  (buc@stu.spb.su)
+
+	* varasm.c (in_data_section): New function.
+
+Mon Jan 15 07:37:13 1996  Andreas Schwab  (schwab@issan.informatik.uni-dortmund.de)
+
+	* c-typeck.c (build_c_cast): Don't warn about alignment when we
+	have an opaque type.
+
+Mon Jan 15 07:22:59 1996  Michel Delval  (mfd@ccv.fr)
+
+	* reload.c (find_equiv_reg): Apply single_set, not PATTERN, to WHERE.
+
+Mon Jan 15 07:02:21 1996  John F. Carr  <jfc@mit.edu>
+
+	* reorg.c (mark_referenced_resources, case TRAP_IF): Set volatil.
+
+Mon Jan 15 06:20:38 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* gcc.c (process_commands): Remove inadvertant fallthrough.
+
+	* function.c ({,round_}trampoline_address): TRAMPOLINE_ALIGNMENT is
+	in bits, not bytes.
+
+	* objc/archive.c (objc_{write,read}_type, case _C_STRUCT_B): Fix typo.
+
+	* expr.c (expand_expr, case COMPONENT_REF): Don't make recursive
+	call on object with EXPAND_SUM.
+
+	* stmt.c (save_expr_regs): Delete declaration; unused.
+
+Sun Jan 14 21:44:26 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
+
+	* rs6000/eabi-ci.asm (__EXCEPT_START__): Provide label for start
+	of g++ exception pointers.
+
+	* rs6000/eabi-cn.asm (__EXCEPT_END__): Provide label for end of
+	g++ exception pointers.
+
+	* rs6000/eabi.asm (__eabi): Relocate exception pointers unless
+	they are NULL.
+
+	* va-ppc.h (va_arg): Long longs are always passed in odd registers.
+
+	* rs6000.c (function_arg_boundary): On V.4, long longs are always
+	passed in odd registers.
+
+	* rs6000.md ({add,sub}di3): Remove restriction for POWER only,
+	since all of the instructions used are common to both
+	architectures.
+
+Sun Jan 14 20:34:03 1996  Jeffrey A. Law  <law@cygnus.com>
+
+ 	* expr.c (expand_assignment): Fix alignment parm in emit_block_move.
+
+Sun Jan 14 19:00:25 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sched.c (schedule_block): Copy RTX_INTEGRATE_P bit when create
+	a new note.
+
+	* integrate.c (save_for_inline_copying, case NOTE): Copy
+	RTX_INTEGRATED_P bit.
+
+Sun Jan 14 17:57:52 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stupid.c (stupid_find_reg): Don't try to allocate reg if live
+	over more than 5,000 insns.
+
+Sat Jan 13 23:09:07 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (STACK_BOUNDARY): Bring back down to 64bits.
+
+	* pa.md (pre_ldwm): Fix bug exposed by recent changes.
+	Simplify.
+	(pre_stwm, post_ldwm, post_stwm): Likewise.
+	(HImode and QImode variants): Likewise.
+	* pa.c (hppa_expand_prologue): Corresponding changes.
+	(hppa_expand_epilogue): Likewise.
+
+	* pa.c (hppa_legitimize_address): Generate more indexing
+	address modes.
+
+Fri Jan 12 19:03:21 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sol2.h (COMMON_ASM_OP): Delete, use sysv4.h's.
+
+	* sched.c (schedule_block): Maintain a valid chain so
+	emit_note_before works.
+
+Fri Jan 12 13:20:01 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi{,-ci,-cn}.asm: Add support for V.4 .sbss/.sdata, and
+	eabi .sbss2/.sdata2 sections, loading up r13 and r2 respectively
+	if the sections were used, and we don't need to relocate the
+	pointers.
+
+Thu Jan 11 19:41:07 1996  Per Bothner  <bothner@cygnus.edu>
+
+	* sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE):  Use AGGREGATE_TYPE_P so
+	QUAL_UNION_TYPE and SET_TYPE are also passed by invisible reference.
+	* sparc.h (INIT_CUMULATIVE_ARGS for SPARCV9):  Return types of
+	QUAL_UNION_TYPE and SET_TYPE also make invisible 1st argument.
+
+Thu Jan 11 18:33:50 1996  Doug Evans  <dje@cygnus.com>
+
+	* h8300/h8300.h (TARGET_ALIGN_STRUCT_300): New macro.
+	(TARGET_SWITCHES): Add -malign-struct-300.
+	(BIGGEST_FIELD_ALIGNMENT): Update.
+
+Thu Jan 11 12:07:44 1996  J.T. Conklin  <jtc@cygnus.com>
+
+	* h8300/h8300.h (CPP_PREDEFINES): Delete -D_DOUBLE_IS_32BITS.
+
+Thu Jan 11 11:09:33 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (mulsf3 !POWERPC): Use dmul attribute.
+	(divsf3 !POWERPC): Use ddiv attribute.
+
+Thu Jan 11 11:09:33 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi-ctors.c (__do_global_ctors): If global variable
+	__atexit is non-NULL, call it with __do_global_dtors address to
+	register the function to run destructors.
+	(__do_global_{c,d}tors): Guard against NULL pointers.
+
+	* rs6000/eabi.asm (__eabi): If the __eabi function was already
+	called, do nothing.
+
+Thu Jan 11 11:29:09 1996  Doug Evans  <dje@cygnus.com>
+
+	* fixincludes: Wrap rpc/types.h in extern "C", for osf2.0.
+
+Wed Jan 10 13:16:03 1996  Doug Evans  <dje@cygnus.com>
+
+	* varasm.c (variable_section): New function.
+	(assemble_variable): Call it.
+
+Wed Jan 10 11:27:28 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi-c{i,n}.asm (__DTOR_{LIST,END}__): Fix typo.
+	* rs6000/eabi{,sim}.h ({START,END}FILE_SPEC): Add %s to object
+	files.
+
+	* rs6000/t-{eabi,eabigas,ppc,ppcgas} (MULTILIB_MATCHES): Drop
+	support for obsolete -mcpu=mpc403.  Add -mcpu=821 and -mcpu=860 to
+	soft-float defaults.
+
+	* rs6000/t-eabi{,gas} (LIBGCC): Add stmp-crt.
+	(INSTALL_LIBGCC): Add install-crt.
+	(EXTRA_PARTS): Delete.
+	(stmp-crt{,-sub}): New rules to build crti.o and crtn.o in a
+	multilib fashion.
+	(install-crt): Install the multilib crt values.
+
+Tue Jan  9 17:30:16 1996  Doug Evans  <dje@cygnus.com>
+
+	* c-tree.h (merge_attributes): Moved from here.
+	* tree.h (merge_attributes): To here.
+	* c-typeck.c (merge_attributes): Moved from here.
+	* tree.c (merge_attributes): To here.
+
+Mon Jan  8 18:27:38 1996  Arne H. Juul  <arnej@pvv.unit.no>
+
+	* mips/netbsd.h (LINK_SPEC): Change nostdlib to nostartfiles.
+	(LOCAL_LABEL_PREFIX): Delete.
+	(ASM_OUTPUT_SECTION_NAME): Define.
+
+Sun Jan  7 17:11:11 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* collect2.c (scan_libraries): Correct Import File ID interpretation.
+
+Sun Jan  7 16:56:56 1996  Michael Meissner  <meissner@wombat.gnu.ai.mit.edu>
+
+	* {svr4,mips/elf{,64}}.h (MAX_OFILE_ALIGNMENT):  Define as
+	32768*8.
+
+Sat Jan  6 15:52:36 1996  Doug Evans  <dje@cygnus.com>
+
+	* a29k/vx29k.h (CPP_SPEC): Define.
+
+	* configure: Recognize any --with/--without option.
+
+	* Makefile.in (MAKEINFOFLAGS): New variable.
+	(cpp.info,gcc.info): Use it.
+
+	* sparc/t-sol2 (crt1.o,crti.o,crtn.o,gcrt1.o): Use $(GCC_FOR_TARGET).
+	* i386/t-sol2 (crt1.o,crti.o,crtn.o): Likewise.
+
+Fri Jan  5 10:44:25 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/aix{3newas,41}.h ({ASM,CPP}_SPEC): Update for new
+	processors.
+	* rs6000/eabi{aix,le}.h ({ASM,CPP}_SPEC): Ditto.
+	* rs6000/{lynx,netware,powerpc,sysv4}.h ({ASM,CPP}_SPEC): Ditto.
+
+	* rs6000.c (rs6000_override_options): Remove requirement that
+	-mcpu=common be big endian.
+	(rs6000_stack_info): If NAME__main is defined, mark this function
+	as doing a call, even if there are no arguments.
+
+	* rs6000.md (SI*SI->DI splitters): Add reload_completed
+	condition.
+	(mulsidi3): If big endian, do move directly, rather than moving by
+	pieces.
+
+	* rs6000/eabi{,sim}.h (STARTFILE_SPEC): Add crti.o before any
+	other objects.
+	(ENDFILE_SPEC): Add crtn.o after any objects.
+	* rs6000/t-eabi{,gas}: Build crt{i,n}.o from eabi-crt{i,n}.asm.
+	* rs6000/eabi-crt{i,n}.asm: New files to provide begin/end labels
+	for all special sections used by eabi as opposed to relying on GLD
+	to set all of these symbols.
+	* rs6000/eabi.asm (__eabi): Change to use the new labels provided
+	above.  Don't assume that the .got2, .ctors, .dtors, and .fixup
+	sections are contiguous.
+
+Fri Jan  5 10:40:37 1996  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (mulh_call): Remove r4 clobber.
+	(quoss_call): Remove cr0 and cr1 clobbers.
+
+	* rs6000.md (function units): Add MPC505/821/860 support.
+	(SF multiply add combiner patterns): Use dmul attribute when limited
+	to DFmode POWER instructions.
+	* rs6000.c (processor_target_table): Add MPC505/821/860 support.
+	Remove MASK_POWER and add MASK_PPC_GFXOPT for PPC602.  Always use
+	new mnemonics for common mode.
+	(rs6000_override_options): Don't set SOFT_FLOAT based upon
+	PROCESSOR_DEFAULT.
+	* rs6000.h (processor_type): Add PROCESSOR_MPCCORE.
+	(RTX_COSTS): Add PROCESSOR_MPCCORE cases.
+	(CPP_SPEC): Add new processor support.
+
+Fri Jan  5 00:32:49 1996  Doug Evans  <dje@cygnus.com>
+
+	* sparc/sparc.h (MACHINE_STATE_RESTORE): Add missing .align.
+
+Wed Jan  3 18:29:32 1996  Doug Evans  <dje@cygnus.com>
+
+	* arm/lib1funcs.asm (__USER_LABEL_PREFIX__): Define if not already.
+	(CONCAT1,CONCAT2,SYM): Define.
+	(__udivsi3,__divsi3,__umodsi3,__modsi3,__div0): Use SYM to define
+	global labels.
+
+Wed Jan  3 02:41:39 1996  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Call text_section.
+
+Tue Jan  2 16:12:13 1996  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.c (gen_shifty_op): Output a NOP for a shift by 0.
+	(find_barrier): New variables si_limit, hi_limit.  Set them depending
+	on whether we are optimizing.  Set found_hi if the destination is
+	HImode.
+	(machine_dependent_reorg): If not optimizing, then change scan to a
+	note instead of calling delete_insn.
+	* sh.h (OVERRIDE_OPTIONS): Don't set optimize or flag_delayed_branch.
+
+	* dbxout.c (gstab.h): Include if cross compiling.
+
+Mon Jan  1 21:13:43 1996  Arkady Tunik  <Arkady_Tunik@comverse.com>
+
+	* configure (i[3456]-*-solaris2*): Support stabs.
+	* i386/sol2dbg.h: New file.
+
+Mon Jan  1 09:08:01 1996  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c: Use DECL_C_BIT_FIELD, not DECL_BIT_FIELD in all tests.
+
+	* global.c (reg_allocno): No longer static.
+	* reload1.c (reg_allocno): Declare.
+	(order_regs_for_reload): New arg, GLOBAL.
+	Bias against regs allocated in local-alloc.
+	(reload): Pass new parm to order_regs_for_reload.
+
+	* local-alloc.c (reg_equiv_replacement): New variable.
+	(memref_referenced_p, case REG): Check for reg_equiv_replacement.
+	(update_equiv_regs): reg_equiv_replacement now file-scope.
+
+	* c-decl.c (finish_struct): Warn if field with enumeral type is
+	narrower than values of that type.
+
+	* combine.c (rtx_equal_for_field_assignment_p): New function.
+	(make_field_assignment): Use it.
+	Expand compound operations on both sides of an IOR.
+	Properly adjust constand in IOR when computing bit position.
+
+Sun Dec 31 18:47:22 1995  Doug Evans  <dje@cygnus.com>
+
+	* m68k-none.h (MULTILIB_DEFAULTS): Define.
+
+Sun Dec 31 15:47:20 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* hard-reg-set.h (losing_caller_save_reg_set): Declare.
+	* regclass.c (losing_caller_save_reg_set): Define.
+	(init_reg_sets_1): Initialize losing_caller_save_reg_set.
+	* global.c (find_reg): Avoid caller-saving registers in
+	losing_caller_save_reg_set.
+	* local-alloc.c (find_free_reg): Avoid caller-saving registers
+	in losing_caller_save_reg_set.
+	(CLASS_LIKELY_SPILLED_P): Delete definition.  Moved into regs.h.
+	* regs.h (CLASS_LIKELY_SPILLED_P): Define if not already defined.
+
+	* reorg.c (fill_simple_delay_slots): Try to fill from the
+	target of an unconditional branch if necessary.
+
+	* pa.h (REG_ALLOC_ORDER): Allocate PA1.1 caller-saved FP regs
+	before PA1.0 caller-saved FP regs.
+
+	* sched.c (adjust_priority): Use ADJUST_PRIORITY if its defined.
+
+	* pa.h (ADJUST_PRIORITY): Define to keep lifetimes of registers
+	that will be allocated to %r1 shorter.
+
+Sun Dec 31 14:20:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* rtl.h (assign_temp): Add extra arg.
+	* function.c (assign_temp): Add extra arg, DONT_PROMOTE.
+	Don't return (const_int 0) for VOIDmode.
+	* stmt.c (expand_asm_operands): Call assign_temp with extra arg.
+	* expr.c (save_nocopied_parts, expand_expr): Likewise.
+	(expand_expr, case SAVE_EXPR): Set TEMP to (const_int 0)
+	if MODE is VOIDmode.
+	(expand_expr): Don't use assign_temp for pseudos when might
+	want to be TMODE.
+
+	* stmt.c (tail_recursion_args): Compare TYPE_MAIN_VARIANTs.
+
+	* calls.c (expand_call): Don't warn about not being able to
+	inline if -O0.
+	* expr.c (clear_pending_stack_adjust): Don't do optimization if -O0.
+	* function.c (instantiate_decls): Check DECL_SAVED_INSNS to see
+	if obstack change is needed.
+	* toplev.c (rest_of_compilation): Leave DECL_INLINE set even if
+	won't inline.
+
+	* tree.h: Add documentation on uses of common area flags.
+	(DECL_ERROR_ISSUED): New macro.
+	(DECL_NO_STATIC_CHAIN): New macro; currently unused.
+	* c-aux-info.c (gen_decl): DECL_REGISTER isn't defined
+	for FUNCTION_DECL.
+	* toplev.c (compile_file): Likewise.
+	* stmt.c (fixup_gotos): Use DECL_ERROR_ISSUED instead
+	of DECL_REGISTER.
+	* varasm.c ({bc_,}make_decl_rtl): Don't look at DECL_REGISTER
+	for functions.
+
+Sat Dec 30 07:57:11 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sdbout.c (plain_type_1, case ARRAY_TYPE): Subtract lower bound
+	when writing dimension.
+
+Fri Dec 29 18:23:58 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (eval_if_expression): End expression with '\n', not '\0'
+	so '\0' can be diagnosed properly.
+	* cexp.y (yylex, parse_c_expression, main): Likewise.
+
+Thu Dec 28 18:24:54 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* tree.h (TYPE_ARRAY_MAX_SIZE):  New macro (used by Chill).
+	* function.c (assign_temp):  New function.  Can handle Chill-style
+	variable-sized array with static maximum size.
+	* rtl.h (assign_temp):  New declaration.
+	* stmt.c (expand_asm_operands):  Use new assign_temp function.
+	* expr.c (save_noncopied_parts, expand_expr):  Likewise.
+
+Thu Dec 28 15:28:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+        * function.c (assign_parms):  Fix thinko for struct value arg.
+
+Fri Dec 29 12:41:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (movdf): Reinstate 12/24 change accidently dropped in
+	undoing 12/27 changes.
+
+Thu Dec 28 22:24:53 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h: (reg_class): Undo 12/27 changes, except for
+	formatting.
+	(REG_NAMES): Ditto.
+	(REG_CLASS_CONTENTS): Ditto.
+	(REGNO_REG_CLASS): Ditto.
+	(REG_CLASS_FROM_LETTER): Ditto.
+	(PREDICATE_CODES): Delete predicate functions.
+	(gpc_reg{0,3,4,34}_operand): Delete declaration.
+	(cc_reg{0,1}_operand): Ditto.
+
+	* rs6000.c (gpc_reg{0,3,4}_operand): Delete.
+	(cc_reg{0,1}_operand): Ditto.
+
+	* rs6000.md (common mode functions): Undo 12/27 changes, and add
+	the appropriate clobbers for common mode calls.  Keep the
+	define_splits for powerpc SI*SI->DI.
+
+Thu Dec 28 11:08:11 1995  Mike Stump  <mrs@cygnus.com>
+
+        * sparc.h (RETURN_ADDR_OFFSET): Rename from
+        NORMAL_RETURN_ADDR_OFFSET, returns the offset for the current
+        function specifically.
+
+Thu Dec 28 07:07:14 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* c-lex.c (yylex): Improve error message for bogus numbers.
+	Consolidate duplicated code.
+
+	* cexp.y (parse_number): Improve error message for bogus numbers.
+	(yylex): Consider `0xe-1' to be a (bogus) number if not traditional.
+
+	* cccp.c (do_include): In VMS, worry only about EACCES when open fails.
+	(new_include_prefix): Don't try to stat dir prefixes in VMS.
+
+Wed Dec 27 14:02:54 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* fix-header.c:  Add EXIT_FAILURE and EXIT_SUCCESS to stdlib.h if
+	missing.  Re-write how errno is added to be done similarly.
+	(XOPEN_SYMBOL, XOPEN_EXTENDED_SYMBOL):  New macros, to mark XPG4
+	functions.
+	(std_include_table):  Add a number of functions (mostly XPG4).
+
+Tue Dec 26 23:18:34 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* sys-types.h:  Add dummy definition for ssize_t.
+	* sys-protos.h (bcmp, bcopy, gethostname, lockf, read, readlink,
+	write):  Fix prototypes to match Posix and XPG4.
+	(socket, strcasecmp, strncasecmp):  New prototypes (from XPG4).
+
+Wed Dec 27 15:30:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* libgcc2.c (_bb_init_prg): Cast arg to bzero to (char *).
+
+	* regs.h (reg_rtx_no, regno_pointer_{flag_length,align): New decls.
+	(REGNO_POINTER_ALIGN): New macro.
+	* emit-rtl.c (regno_pointer_align): New variable.
+	(gen_reg_rtx): Extend regno_pointer_align table.
+	Allocate tables in saveable obstack.
+	(mark_reg_pointer): New arg, ALIGN.
+	(gen_inline_header): New args for reg info.
+	(set_new_first_and_last_insn): Set cur_insn_uid.
+	({save,restore}_emit_status): Save and restore regno_pointer_align.
+	(restore_reg_data{,_1}): Deleted.
+	(init_emit): Allocate register tables in saveable obstack.
+	Set REGNO_POINTER_ALIGN for regs pointing into frame.
+	* function.c (assign_parms): Set REGNO_POINTER_ALIGN for
+	parms that are pointers.
+	* function.h (struct function): New field regno_pointer_align.
+	* expr.c (expand_expr, case VAR_DECL): Set REGNO_POINTER_ALIGN
+	when copying address into memory.
+	(expand_expr, case COMPONENT_REF, case ADDR_EXPR): Set alignment
+	of register when result or result's address.
+	(expand_expr, case CONVERT_EXPR): Don't handle -fforce-mem here.
+	* combine.c (set_nonzero_bits_and_sign_copies): Handle reg even
+	if only set once and in one basic block.
+	(nonzero_bits, case REG): Use REGNO_POINTER_ALIGN instead of
+	explicit alignment of registers pointing into frame.
+	* stmt.c (expand_decl): Set alignment of register for pointer
+	variable.
+	* optabs.c (emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND.
+	* cse.c (find_best_addr): Make sure folded address better before using.
+	* rtl.h (INLINE_REGNO_{RTX,POINTER_FLAG,POINTER_ALIGN}): New macros.
+	(gen_inline_header): Add three new parms.
+	* rtl.def (INLINE_HEADER): Add three new fields.
+	* integrate.c: Include regs.h.
+	(initialize_for_inline): Pass additional args to gen_inline_header.
+	(save_for_inline_copying): Make new regno_reg_rtx, regno_pointer_flag,
+	and regno_pointer_align arrays.
+	(expand_inline_function): Set alignment of reg for parm if passed
+	by hidden pointer.
+	Set regno_pointer_{flag,align} into remap table.
+	(copy_rtx_and_substitute): Set alignment of pointers into
+	stack frame.
+	Copy pointer flag and alignment to regs that are copies of
+	pointer registers from the original regs.
+	(output_inline_function): Don't call restore_reg_data.
+	Restore reg_rtx_no, regno_{reg_rtx,pointer_flag,pointer_align}.
+	* integrate.h (struct inline_remap): New fields regno_pointer_flag
+	and regno_pointer_align.
+	* unroll.c (unroll_loop): Set regno_pointer_{flag,align} in
+	remap table.
+	* explow.c (memory_address, allocate_dynamic_stack_space):
+	Pass additional arg to mark_reg_pointer.
+	* Makefile.in (integrate.o): Includes regs.h.
+
+	* alpha.c ({non,}aligned_memory_operand): Test REGNO_POINTER_ALIGN.
+	(reg_or_unaligned_mem_operand): New function.
+	(get_unaligned_address): Add new arg, EXTRA_OFFSET.
+	* alpha.h ({CONSTANT,DATA}_ALIGNMENT): Align to at least BITS_PER_WORD.
+	(PREDICATE_CODES): Add reg_or_unaligned_mem_operand.
+	* alpha.md (extend{qihi,qisi,hisi}2): Allow unaligned memory
+	as arg 1 and pass to extend_{q,h}idi2.
+	(unaligned_extend{q,h}idi): New patterns.
+	(extend{q,h}idi2): If unaligned memory, call above new patterns.
+	(ext{q,l,w}h recognizer): Update to proper RTL.
+	(ext define_split): Comment out for now; wrong and maybe useless.
+	(unaligned_{load,store}hi): Do similarly to QImode.
+	(movhi, reload_{in,out}hi): Call unaligned case differently.
+
+Wed Dec 27 11:38:20 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (mulsidi3{,_common}): Undo previous change using
+	register classes instead of fixed registers for SI*SI->DI common
+	mode multiplies.
+
+	* rs6000.c (gpc_reg34_operand): Delete unused function.
+	* rs6000.h (gpc_reg34_operand): Ditto.
+
+	* rs6000.c (gpc_reg{3,4}_operand): Reorganize code and don't allow
+	SUBREG's.
+
+	* rs6000.c (rs6000_override_options): Do not allow -mcpu=common on
+	little endian PowerPC's.
+	(gpc_reg{0,3,4,34}_operand): New functions to match a specific
+	register.
+	(cc_reg{0,1}_operand): Ditto.
+
+	* rs6000.h (reg_class): Add register classes for register 3 by
+	itself, register 4 by itself, registers 3&4, and CR1.
+	(REG_NAMES): Add support for new register classes.
+	(REG_CLASS_CONTENTS): Ditto.
+	(REGNO_REG_CLASS): Ditto.
+	(REG_CLASS_FROM_LETTER): Ditto.
+	(PREDICATE_CODES): Add new predicate functions.
+	(gpc_reg{0,3,4,34}_operand): Add declaration.
+	(cc_reg{0,1}_operand): Ditto.
+
+	* rs6000.md (common mode multiplication/division): Move/rename the
+	common mode calls so that they are closer to the define_expands
+	that call them.  Set attribute type to be jmpreg, rather than
+	integer, so optimizer knows the branch processing unit is used.
+	Make SI*SI->DI multiplier use register classes instead of
+	hardwired registers.  Add the appropriate clobbers of CR0/CR1 as
+	mandated by the PowerOpen spec.
+	(PowerPC SI*SI->DI multipliers): Add appropriate define_splits.
+
+	* rs6000/t-{,x}newas (MULTILIB*): Don't build power2 or 601
+	specific libraries.
+
+Tue Dec 26 21:52:18 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold_convert): When converting a NaN to
+	another type, change the type of the node before returning it.
+
+Mon Dec 25 17:12:10 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* c-typeck.c (mark_addressable): Fix error in last change.
+
+Sun Dec 24 22:19:49 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (output_function_epilogue): Use assemble_integer rather
+	than calling ASM_OUTPUT_INT directly.
+	* pa.h (ASM_OUTPUT_INT): Use labels for everything in the
+	exception table section.
+
+	* pa.c (print_operand): Don't call fprintf to output a register
+	name.  Use fputs instead.
+
+	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Strip any name encoding
+	on the section name.
+
+Sun Dec 24 17:46:03 1995  Markus Theissinger  <Markus.Theissinger@gmd.de>
+
+	* toplev.c (main): Add -ax option.
+	* gcc.c (struct compilers): Likewise.
+	* final.c (end_final): Extended header increased to 11 words.
+	(profile_after_prologue): FUNCTION_BLOCK_PROFILER uses
+	count_basic_blocks instead of profile_label_no.
+
+	* libgcc2.c (struct bb): Add flags field.
+	(HAVE_POPEN): Test new define.
+	(struct __bb, struct bb_{edge,func}): New structs.
+	(__bb_init_{prg,file},__bb_{init,exit}_trace_func,__bb_trace_ret,
+	(__bb_trace_func{,_ret},gopen,gclose): New functions.
+
+	* sparc.h, i386.h, m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
+	Extension for -ax option (profile_block_flag == 2).
+	(MACHINE_STATE_SAVE,MACHINE_STATE_RESTORE): New macros.
+	(FUNCTION_BLOCK_PROFILER_EXIT): New macro.
+	* sparc.c (output_function_epilogue), i386.c (function_epilogue):
+	Use FUNCTION_BLOCK_PROFILER_EXIT.
+	* m68k.c (output_function_epilogue): Likewise.
+	* xm-sparc.h: Define HAVE_POPEN.
+
+Sun Dec 24 06:50:30 1995  Barrett Richardson  (barrett@iglou.com)
+
+	* floatlib.c (__divdf3): Rewrite to do software divide of two
+	doubles instead of using __divsf3.
+
+Sun Dec 24 06:38:15 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (movdf): Don't copy a word at a time; nearly always loses.
+
+	* c-tree.h (DECL_C_BIT_FIELD): New macro.
+	* c-decl.c (finish_struct): Set it when set DECL_BIT_FIELD.
+	* c-typeck.c (mark_addressable, case COMPONENT_REF):
+	Give error if taking address of a bit field.
+
+	* gcc.c (unused_prefix_warning): Include machine_suffix if
+	require_machine_suffix.
+	(warn_B, warn_std, warn_std_ptr): New variables.
+	(process_commands): Use them and NULL_PTR as WARN arg to add_prefix.
+
+	* gcc.c (process_command): Give error for -c with -o and
+	multiple compilations.
+	(handle_braces): Rename variable "pipe" to "pipe_p".
+
+	* expr.h (clrstr_optab): New declaration.
+	(clear_storage): New parm, ALIGN.
+	* tree.h (CONSTRUCTOR_TARGET_CLEARED_P): New macro.
+	* genopinit.c (optabs): Add "clrstr%a%".
+	* optabs.c (init_optabs): Initialize clrstr_optab.
+	* expr.c (struct clear_by_pieces): New structure.
+	(clear_by_pieces{,_1}, {is,mostly}_zeros_p): New functions.
+	(clrstr_optab): New optab.
+	(clear_storage): Rework to try to use clear_by_pieces, then
+	new clrstr insn, then library call.
+	(store_constructor): Track if target is already cleared.
+	Clear target first if CONSTRUCTOR is mostly zeros.
+	Don't write zeros if target has been cleared.
+	Add new arg to clear_storage call.
+	(expand_expr, case CONSTRUCTOR): Don't put static constructor
+	in memory if mostly zero.
+	* i386.md (clrstrsi): New pattern and associate anonymous pattern.
+
+Sat Dec 23 12:21:53 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.c (output_move_double): Correctly identify and handle
+	overlapping moves.
+	* pa.md (movdi patterns): Eliminate earlyclobbers in mem<->gr
+	cases.
+	(movdf patterns): Likewise.
+
+Fri Dec 22 17:29:42 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_constructor): Don't call change_address on REG.
+	(expand_expr, case CONSTRUCTOR): Likewise.
+
+	* mips.c (expand_block_move): Preserve MEM flags in call to
+	movstrsi_internal.
+
+	* pa.c (emit_move_sequence): Don't try to set REGNO_POINTER_FLAG
+	for a SUBREG.
+
+	* reload.c (find_valid_class): New function.
+	(push_reload): Use it in cases where a SUBREG and its contents
+	both need to be reloaded.
+
+	* toplev.c (rest_of_compilation): Never defer functions that
+	contain nested functions.
+
+Fri Dec 22 15:55:00 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (function units): Add 403 support which deleted
+ 	by accident on Nov 21st.  Mark all compares from 602, 603, 604,
+ 	620, 403, like was done for rios{1,2} and 601 as needing the bpu,
+ 	so that compares are hoisted far enough branches for zero cycle
+ 	branch support.
+
+Fri Dec 22 15:13:47 1995  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.h: (TARGET_UNROLL_STRLEN): New macro.
+	* i386.c: (output_strlen_unroll): New function.
+	* i386.md: (strlensi): New pattern.
+
+Thu Dec 21 18:53:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* config/gnu.h (GNU_CPP_PREDEFINES): Add missing space after
+	-Amachine(CPU).
+
+Thu Dec 21 12:23:42 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* configure ({powerpc,rs6000}*): Change --enable-cpu to
+	--with-cpu.
+	* rs6000.c (rs6000_select): Ditto.
+
+	* rs6000/aix41.h (LINK_SPEC): Do not pass -bexport to the linker
+	if -g and -shared.
+
+Wed Dec 20 11:23:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* configure ({powerpc,rs6000}-ibm-aix*): Merge these two into the
+	same case statement.  Aix 4 now generates -mcpu=common by default.
+	({powerpc,rs6000}*): Add support for --enable-cpu=<value> to
+	select the default cpu to compile for.
+
+	* rs6000/aix41.h (TARGET_DEFAULT): Make -mcpu=common the default
+	behavior.
+	(PROCESSOR_DEFAULT): Ditto.
+	(MULTILIB_DEFAULTS): Set mcpu=common.
+
+	* rs6000/rs6000.h (TARGET_CPU_DEFAULT): Define to be NULL if not
+	defined.  This is used for the --enable-cpu=<value> switch.
+	(PROCESSOR_COMMON): Set this to PROCESSOR_601.
+	(PROCESSOR_POWERPC): Set this to PROCESSOR_604.
+	(TARGET_OPTIONS): Add -mtune= switch.
+	(rs6000_select): New structure to hold -mcpu=, -mtune= switches
+	and the result of configuring --enable-cpu=.
+	(OVERRIDE_OPTIONS): Pass TARGET_CPU_DEFAULT to
+	rs6000_override_options.
+
+	* rs6000/rs6000.c (rs6000_cpu_string): Delete global variable.
+	(rs6000_select): Define new global variable.
+	(rs6000_override_options): Take default_cpu argument, and provide
+	support for it and -mtune= in addition to -mcpu=.
+
+	* rs6000/{aix{3newas,41},lynx,netware,powerpc}.h (ASM_SPEC): Add
+	support for -mcpu=power2.
+	* rs6000/{rs6000,sysv4}.h (ASM_SPEC): Ditto.
+
+	* rs6000/{aix41,eabiaix,eabile,lynx,powerpc}.h (CPP_SPEC): Make
+	sure all -mcpu=xxx targets are supports.
+	* rs6000/{rs6000,sysv4,sysv4le}.h (CPP_SPEC): Ditto.
+
+	* rs6000/t-x{newas,rs6000}: New files to be used when making a
+	cross compiler, to prevent libgcc1-test from being made.
+
+	* rs6000/t-{x,}newas (MULTILIB_*): Build multlilib libraries for
+	power, power2, 601, powerpc, and common mode processors.
+
+	* rs6000/aix41ppc.h: Delete, no longer used.
+
+Tue Dec 19 18:31:21 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (mips_reg_names, mips_sw_reg_names, mips_regno_to_class):
+	Add entry for new RAP reg.
+	* mips.h (FIRST_PSEUDO_REGISTER): Increment.
+	(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES,
+	DEBUG_REGISTER_NAMES): Add entry for new RAP reg.
+	(RAP_REG_NUM, RETURN_ADDRESS_POINTER_REGNUM): New macros.
+	(RETURN_ADDR_RTX): Define.
+	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
+	Add RETURN_ADDRESS_POINTER_REGNUM support.
+	* emit-rtl.c (return_address_pointer_rtx): New global variable.
+	(gen_rtx, init_emit_once): Add support for it.
+
+Tue Dec 19 15:08:31 1995  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* collect2.c: Remove auto_export functionality.
+
+Tue Dec 19 10:57:23 1995  Kim Knuttila  <krk@cygnus.com>
+
+	* ginclude/ppc-asm.h: Do not compile the register macros under
+	winnt.
+
+Mon Dec 18 19:31:23 1995  Adam Fedor  <fedor@wilma.Colorado.EDU>
+
+	* objc/encoding.c (objc_alignof_type): Handle _C_PTR case.
+
+Mon Dec 18 18:40:34 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* combine.c (simplify_rtx, case SUBREG): For SUBREG of a constant,
+	use <= instead of < when comparing mode sizes.
+	(force_to_mode, case NOT): Use full mask inside	the NOT operation.
+
+	* expr.c (emit_block_move): When call emit_libary_call for bcopy,
+	pass arguments using correct types and modes.
+	(emit_push_insn, expand_assignment): Likewise.
+	(clear_storage, store_expr): Likewise for memset and bzero.
+	(store_constructor): Likewise for memset.
+	* optabs.c (emit_cmp_insn): Likewise for memcmp and bcmp.
+	* convex/convex.c (expand_movstr_call): Likewise for memcpy.
+	* m88k/m88k.c (expand_block_move): Likewise for memcpy and bcopy.
+	* mips/mips.c (block_move_call): Likewise for memcpy and bcopy.
+	* mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise for cacheflush.
+
+	* c-common.c (WCHAR_TYPE_SIZE): Add a default definition.
+
+	* sdbout.c (sdbout_symbol, case FUNCTION_DECL): Use DECL_INITIAL
+	instead of DECL_EXTERNAL to identify declarations.
+
+        * svr4.h (ASM_IDENTIFY_GCC): Don't output stab here.
+	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Output stab here instead of
+	above.
+
+	* stmt.c (expand_asm_operands): Handle numeric constraints in
+	with the default case.
+
+Mon Dec 18 16:49:43 1995  John F. Carr  <jfc@mit.edu>
+
+	* expr.h (expand_mult_highpart_adjust): Declare.
+
+Mon Dec 18 16:39:41 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_constructor): Fix error in last change: just
+	copy MEM, but be sure to share address.
+	(expand_expr, case CONSTRUCTOR): Likewise.
+
+Mon Dec 18 16:22:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (ASM_GENERATE_INTERNAL_LABEL): Put a leading '*'
+	in the label string so as to not confuse dbxout.c which believes
+	it can skip the leading character of the string.
+
+Mon Dec 18 09:44:56 1995  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__empty): An empty function used by the C++ frontend for
+	defaulting cleanup actions.
+
+	* tree.c (save_tree_status, restore_tree_status): Save and restore
+	temporary_firstobj, so that in progress objects that live on the
+	temporary obstack are not reallocated, if we save and restore the
+	tree status in their lifetime.
+
+
+Mon Dec 18 07:49:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (fixup_var_refs_1): Fix error in last change (when
+	mode of VAR is not the same as PROMOTED_MODE).
+
+Sun Dec 17 12:14:37 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Don't surround section names
+	with '$'.  That confuses collect2.
+	(ASM_OUTPUT_SECTION_NAME): Likewise.
+
+	* sched.c (canon_rtx): Recursively look for equivalences;
+	look for expressions equivalent to MEMs.
+	(true_dependence): Canonicalize inputs before operating
+	on their values.
+	(anti_dependence, output_dependence): Likewise.
+
+        * jump.c (follow_jumps): Don't follow an unconditional jump
+        that is not a simple_jump.
+
+        * pa.c (override_options): Make 7100 scheduling the default.
+
+        * pa.md: Add 2nd reload peephole somehow omitted from Nov27 changes.
+
+	* regclass.c (regclass): Use SECONDARY_RELOAD_CLASS if it's
+	defined to avoid useless work.
+
+	* combine.c (find_split_point): Try to split SET_DEST
+	just like we do for SET_SRC.
+
+Sun Dec 17 11:37:25 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* expmed.c (expand_mult_highpart): When doing widening multiply,
+	put constant in a register.
+	(expand_mult_highpart): When mode is word_mode use gen_highpart
+	instead of right shift by size.
+
+	* expr.c (expand_expr, case MULT_EXPR): Generalize code for widening
+	multiply to handle signed widening multiply when only unsigned optab
+	is defined, and vice versa.
+
+Sun Dec 17 07:35:50 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vax/vms.h (WCHAR_TYPE_SIZE): Define.
+
+Sun Dec 17 07:08:34 1995  Ronald F. Guilmette  <rfg@monkeys.com>.
+
+	* fp-test.c: New file.
+
+Sun Dec 17 07:06:03 1995  Peter Flass  <flass@lbdc.senate.state.ny.us>
+
+	* i370.md (cmpqi): Fix generation of literal operand of CLM instruction
+	to avoid double literals (=X'=F'...).
+
+Sun Dec 17 06:57:02 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c: Try harder not to open or stat the same include file twice.
+	Simplify include file names so that they are more likely to match.
+	E.g. simplify "./a//b" to "a/b".  Represent directories with simplified
+	prefixes, e.g. replace "./a//b" with "a/b/", and "." with "".
+
+	(absolute_filename): New function.
+	(do_include): Use it.
+	(read_name_map): Likewise; this makes things more consistent for DOS.
+
+	(main, do_include, open_include_file): -M output now contains
+	operands of -imacros and -include.
+
+	(skip_to_end_of_comment): When copying a // comment, don't try to
+	change it to a /* comment.
+	(rescan, skip_if_group, skip_to_end_of_comment, macarg1): Tune.
+
+	(rescan, skip_if_group, skip_to_end_of_comment, macarg1):
+	If warn_comments is nonzero, warn if backslash-newline appears
+	in a // comment.  Simplify method for finding /* /* */ comment.
+	(skip_if_group): Optionally warn if /* /* */ appears between # and
+	a directive inside a skipped if group.
+	(macarg): Optionally warn if /* /* */ appears in a macro argument.
+
+	(strncat, VMS_strncat, vms_ino_t, ino_t): Remove.
+	(INCLUDE_LEN_FUDGE): Add 2 if VMS, for trailing ".h".
+	(INO_T_EQ, INO_T_HASH): New macros.
+
+	(struct file_buf): New member `inc'.
+	(expand_to_temp_buffer): Initialize it.
+
+	(struct file_name_list): New member `inc'.
+	(struct file_name_list): New member `st'.
+	c_system_include_path is now 1 if not 0.
+	fname is now an array, not a pointer.
+	(struct include_file): New members `next_ino', `deps_output', `st'.
+	Remove members `inode' and `dev'; they are now in `st'.
+
+	(INCLUDE_HASHSIZE): Rename from INCLUDE_HASH_SIZE.
+	(include_hashtab): Rename from include_hash_table.
+	(include_ino_hashtab): New variable.
+
+	(main): Store file status in struct stat, not in long and int pieces.
+	Use base_name to strip prefixes from file names.
+	When printing directory prefixes, omit trailing / and print "" as ".".
+	Fatal error if the input file is a directory.
+	(main, path_include): Regularize operands of -include, -imacros,
+	-isystem, -iwithprefix, and -iwithprefixbefore.
+	Regularize default include directories.
+
+	(do_include):
+	Allocate dsp with alloca, since fname is now dynamically allocated.
+	Use -3 to represent a never-opened file descriptor.
+	Make copy of file name, and simplify the copy.
+	Use base_name to identify the end of fname's directory.
+	Do not prepend dir for "..." if it matches the search list's first dir.
+	open_include_file now subsumes redundant_include_p and lookup_import.
+	Use bypass_slot to remember when to skip directories when including
+	a file that has already been seen.
+	Instead of using 0 to represent the working directory, and ""
+	to represent a directory to be ignored, use "" for the former,
+	and assume the latter has been removed before we get here.
+	Assume the directory prefixes have already been simplified.
+	Report as errors all open failures other than ENOENT.
+	Fatal error if fstat fails.
+	Use new deps_output member to avoid printing dependencies twice.
+	(bypass_hashtab): New variable.
+
+	(do_include, open_control_file, record_control_macro): New convention:
+	control_macro is "" if the file was imported or had #pragma once.
+	(pragma_once_marker): Remove.
+
+	(redundant_include_p, include_hash, lookup_include, lookup_import,
+	add_import, file_size_and_mode): Remove; subsumed by open_include_file.
+	(skip_redundant_dir_prefix): Remove; subsumed by simplify_filename.
+
+	(is_system_include, read_name_map, remap_include_file):
+	Assume arg is a directory prefix.
+
+	(base_name, simplify_filename, remap_include_file,
+	lookup_ino_include, new_include_prefix): New functions.
+
+	(open_include_file): New arguments `importing' and `pinc'.
+	Move filename mapping into new remap_include_file function.
+	First try to find file by name in include_hashtab;
+	if that doesn't work, open and fstat it and try to find it
+	by inode and dev in include_ino_hashtab.
+
+	(finclude): Get file status from inc->st instead of invoking fstat.
+	Store inc into fp->inc so that record_control_macro doesn't
+	need to do a table lookup.
+	(finclude, record_control_macro): Accept struct include_file *
+	instead of char * to identify include file.  All callers changed.
+
+	(check_precompiled): Get file status from new argument `st'.
+
+	(do_pragma): Output at most one warning about #pragma implementation.
+	Always return 0 instead of returning garbage sometimes.
+	(do_pragma, hack_vms_include_specification):
+	Use base_name for consistency, and remove redundant code.
+
+	From Per Bothner:
+	Unify the 3 separate mechanisms for avoiding processing
+	of redundant include files: #import, #pragma once, and
+	redundant_include_p to use a single more efficient data structure.
+	(struct file_name_list):  Remove no-longer needed field control_macro.
+	(dont_repeat_files, all_include_files):  Remove, no longer used.
+	(struct import_file):  Renmed to struct include_file, moved earlier
+	in file, renamed field name to fname, and added control_macro field.
+	(pragma_once_marker):  New constant.
+	(import_hash_table):  Renamed to include_hash_table.
+	(import_hash):  Renamed to include_hash.
+	(IMPORT_HASH_SIZE):  Renamed to INCLUDE_HASH_SIZE.
+	(main, path_include):  Don't clear removed control_macro field.
+	(lookup_include):  New function - look up fname in include_hash_table.
+	(redundant_include_p):  Re-write to use lookup_include.
+	(lookup_import, record_control_macro):  Likewise.
+	(add_import):  Defer fstat to caller.  Combine two xmallocs into one.
+	(do_once):  Use pragma_once_marker in include_hash_table.
+	(do_pragma):  Re-implement to scan include_hash_table.
+	(do_include):  Use new lookup_include and add_import.
+
+Sun Dec 17 06:45:43 1995  John F. Carr <jfc@mit.edu>
+
+	* configure (savesrcdir): Do not create paths with trailing "/.".
+
+	* combine.c (try_combine): When checking for two sets of the same
+	register in a split insn, also test for setting a ZERO_EXTRACT,
+	STRICT_LOW_PART, or SUBREG.
+
+Sun Dec 17 06:37:00 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* reload.c (push_secondary_reload): Don't strip paradoxical SUBREG
+	if reload_class is CLASS_CANNOT_CHANGE_SIZE.
+
+Sat Dec 16 18:24:20 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_assignment): Fix alignment parm in emit_block_move.
+
+Sat Dec 16 18:16:08 1995  John Hassey  (hassey@rtp.dg.com)
+
+	* local-alloc.c (optimize_reg_copy_2): Don't attempt
+	optimization if destination register dies.
+
+Sat Dec 16 08:31:16 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* fold-const.c (fold):  Don't record overflow when negating
+	unsigned constants.
+
+Sat Dec 16 07:45:11 1995  Gran Uddeborg  (uddeborg@carmen.se)
+
+	* configure (i[3456]-*-isc, gas, stabs): Remove crt* from extra_files
+
+Sat Dec 16 07:03:33 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* stor-layout.c (layout_record): When PCC_BITFIELD_TYPE_MATTERS,
+	compute bitpos using field_size % type_align instead of field_size.
+
+	* fixincludes (stdio.h):  Fix return type of fread and fwrite
+	on sysV68.
+
+Sat Dec 16 06:57:14 1995  Thomas Lundqvist  (d0thomas@dtek.chalmers.se)
+
+	* function.c (fixup_var_refs_1): Fix two incorrect calls to single_set.
+
+Fri Dec 15 22:30:27 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* i386.h (REGISTER_MOVE_COST): Simplify.
+
+Fri Dec 15 22:30:27 1995  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* i386.h (TARGET_CPU_DEFAULT*, PROCESSOR_*,
+	TARGET_{LEAVE,386_ALIGNMENT,PUSH_MEMORY,ZERO_EXTEND_WITH_AND,
+	DOUBLE_WITH_ADD,BIT_TEST}): New macros.
+	* i386.c (ix86_cpu*, ix86_isa*): New global variables.
+	(override_options): Add -mcpu and -misa support
+	* i386.md: Use TARGET* macros.
+	* i386/dgux.{c,h}: New files.
+	* m88k/t-dgux: (GCC_FOR_TARGET, T_CFLAGS): New macros.
+	* m88k/t-dguxbcs: New file.
+	* m88k/x-{dgux,dguxbcs}: (GCC_FOR_TARGET, X_CFLAGS): Removed.
+
+Fri Dec 15 18:41:50 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* fixincludes (sys/wait.h):  Add forward declaration of struct rusage
+	on AIX 3.2.5.
+
+Fri Dec 15 18:39:36 1995  Marco S Hyman  (marc@dumbcat.sf.ca.us)
+
+	* xm-bsd386.h (DONT_DECLARE_SYS_SIGLIST): Defined.
+
+Fri Dec 15 18:36:42 1995  Gran Uddeborg (uddeborg@carmen.se)
+
+	* i386/svr3dbx.h (DO_GLOBAL_DTORS_BODY): Delete; obsolete.
+
+Fri Dec 15 18:21:34 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* i386/i386iscgas.h, i386/t-iscscodbx: Deleted; long dead.
+
+Fri Dec 15 10:01:27 1995  Stan Cox  <coxs@dg-rtp.dg.com>
+
+	* configure (target_cpu_default) Set for 486/586/686
+	(m88k-dg-dgux) Use t-dguxbcs instead of x-dguxbcs
+	(i*86*) Change [345] to [3456]
+	(i[3456]86-dg-dgux) Added
+	* Makefile.in (out_object_file) Add MAYBE_TARGET_DEFAULT
+
+Fri Dec 15 08:05:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (init_temp_slots): New function.
+	(init_function_start): Code moved to new function and called here.
+	* toplev.c (rest_of_compilation): Call init_temp_slots.
+
+	* expmed.c (store_bit_field): Don't use insv for BLKmode value.
+	(store_split_bit_field): Set total_bits to BITS_PER_FOR for
+	BLKmode value.
+
+Fri Dec 15 06:35:36 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* xcoffout.h (DBX_STATIC_BLOCK_END): Use macro arguments.
+	(xcoff_begin_function_line, xcoff_current_function_file): Remove
+	unused extern declarations.
+	(DBX_OUTPUT_MAIN_SOURCE_FILENAME): Use macro argument.
+	* xcoffout.c (xcoff_begin_function_line): Make static.
+	(xcoff_inlining): Likewise.
+	(xcoff_current_function_file): Likewise.
+	(xcoff_output_standard_types): Remove TARGET_64BIT dependencies from
+	int and unsigned int.
+
+Mon Oct 16 12:25:52 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* fix-header.c:  Support different kinds of functions (ANSI and
+	Posix1).  Enable ANSI proptotypes if __STRICT_ANSI__.
+	(namelist_end):  Removed.
+	(std_include_table):  Divide up functions into kinds.
+	(add_symbols):  New function.
+	(read_scanfile, write_rbrac, main):  Use new data structures.
+
+Thu Dec 14 19:17:12 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* rs6000.md (umulsidi3): New pattern.
+
+Thu Dec 14 18:08:59 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* expmed.c (expand_divmod, case TRUNC_DIV_EXPR): Only reject
+	larger-than-HOST_BITS_PER_WIDE_INT modes for general constants,
+	not for powers-of-2.
+
+	* i960.md (andsi3): Match op2 with logic_operand, change constraints
+	accordingly.  Output andnot for negative op2.
+	(iorsi3, xorsi3): Analogous changes.
+	* i960.c (logic_operand): New function.
+	(i960_print_operand): Handle code `C'.
+	* i960.h (PREDICATE_CODES): Add logic_operand.
+	(CONST_OK_FOR_LETTER_P): Handle `M'.
+	* i960.md: Move all plain logical patterns together.
+	* i960.h (SHIFT_COUNT_TRUNCATED): Define as 0 as appropriate.
+
+	* clipper.md (untyped_call): New pattern.
+
+	* m68k.md (ashrsi_31): New pattern.
+
+Thu Dec 14 17:22:14 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm/arm.c (output_move_double): Extract DFmode constants using
+	REAL_VALUE_TO_TARGET_DOUBLE.
+
+Thu Dec 14 15:05:13 1995  Doug Evans  <dje@cygnus.com>
+
+	* Makefile.in (distclean): Delete float.h.
+	* configure: Set CROSS_FLOAT_H from float_format.
+	* config/float-i64.h: New file.
+	* config/float-i32.h: New file.
+	* config/float-vax.h: New file.
+	* arm/cross-float.h: Delete.
+	* arm/t-semi (CROSS_FLOAT_H): Delete.
+
+Wed Dec 13 19:16:57 1995  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_expr, case ADDR_EXPR): Ensure op0 isn't QUEUED.
+
+Wed Dec 13 19:12:21 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* gcc.c (my_strerror): Return "cannot access" if errno is 0.
+	(perror_with_name, pfatal_with_name, perror_exec): Don't assume that
+	the returned value from my_strerror contains no '%'s.
+	(sys_nerr): Declare only if HAVE_STRERROR is not defined.
+
+Wed Dec 13 19:05:47 1995  Alan Modra  (alan@spri.levels.unisa.edu.au)
+
+	* Makefile.in (c-parse.y, objc-parse.y): Add warning that file is
+	automatically generated.
+
+Wed Dec 13 15:40:30 1995  Mike Stump  <mrs@cygnus.com>
+
+	* function.c (identify_blocks): Start with a chain of BLOCKs to
+	match the rest of the backend (dbxout.c), instead of just one
+	BLOCK.
+	(reorder_blocks): Ditto.
+	(all_blocks): Ditto.
+
+	* stmt.c (find_loop_tree_blocks): Pass the toplevel list of
+	blocks, not just the first subblock.
+
+Wed Dec 13 16:11:18 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expmed.c (expand_divmod): Don't use TARGET if it's the wrong mode.
+
+Wed Dec 13 15:02:39 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* dbxout.c (struct typeinfo): Define.
+	(typevec): Change to be struct typeinfo *.  Change other uses as
+	appropriate.
+	(struct dbx_file): Define if DBX_USE_BINCL.
+	(current_file): New static variable if DBX_USE_BINCL.
+	(next_file_number): Likewise.
+	(dbxout_init): If DBX_USE_BINCL, initialize new variables.
+	(dbxout_start_new_source_file): New function.
+	(dbxout_resume_previous_source_file): New function.
+	(dbxout_type_index): New function.
+	(dbxout_range_type): Use dbxout_type_index.
+	(dbxout_type): Likewise.  If DBX_USE_BINCL, initialize new typevec
+	fields.
+	* c-lex.c (check_newline): If DBX_DEBUGGING_INFO and write_symbols
+	== DBX_DEBUG, call dbxout_start_new_source_file and
+	dbxout_resume_previous_source_file when appropriate.
+	* config/sparc/sunos4.h (DBX_USE_BINCL): Define.
+	* config/svr4.h (DBX_USE_BINCL): Define.
+
+Wed Dec 13 06:52:40 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/win-nt.h (ASM_OUTPUT_EXTERNAL): Do not emit .extern for
+	builtin functions.
+
+Tue Dec 12 15:37:48 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c: Replace many uses of fprintf with putc and fputs.
+	(output_function_profiler): Use more efficient mnemonics, target
+	dependent mnemonics, asm_fprintf, and reg_names array.
+
+	* rs6000.h: Replace many uses of fprintf with putc and fputs.
+
+	* rs6000.h (INT_TYPE_SIZE): Remove TARGET_64BIT dependency.
+	(MAX_INT_TYPE_SIZE): Delete.
+
+Tue Dec 12 13:58:57 1995  Doug Evans  <dje@cygnus.com>
+
+	* h8300/t-h8300 (MULTILIB_{OPTIONS,DIRNAMES}): Add -mint32 support.
+
+Sun Dec 10 18:51:21 1995  Torbjorn Granlund  <tege@noisy.tmg.se>
+
+	* rs6000.md (matcher for neg:SI (geu:SI ..)): Get ppc syntax right.
+
+Sun Dec 10 08:47:16 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_if_then_else): Convert "a == b ? b : a" to "a".
+
+	* expr.c (expand_expr, case CONSTRUCTOR): If TREE_READONLY,
+	set RTX_UNCHANGING_P in TARGET.
+	(expand_expr, case COMPONENT_REF): If result is BLKmode,
+	use that to access object too.
+
+Sun Dec 10 01:06:57 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.md (millicode delay slot description): Remove reference
+	to defunct TARGET_MILLICODE_LONG_CALLS.
+
+Sat Dec  9 18:05:03 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (expand_expr, case INDIRECT_REF): Correct typo in May 8
+	change.
+
+	* sh.h (ADDRESS_COST): Define.
+	* sh.md (subsi3): Rename to subsi3_internal.  Add new define_expand
+	to handle subtracting a register from a constant.
+
+Fri Dec  8 19:17:30 1995  Mike Meissner  <meissner@beauty.cygnus.com>
+
+	* rs6000/rs6000.c (input_operand): Allow any integer constant, not
+	just integers that fit in 1 instruction.
+
+Fri Dec  8 10:45:07 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm/lib1funcs.asm (RET, RETCOND): Define according to whether we
+	are compiling for 32 or 26 bit mode.
+	(all return instructions): Use RET or RETCOND as appropriate.
+
+Wed Dec  6 06:58:23 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.c (arm_gen_constant): New function.
+	(arm_split_constant): Split most of the functionality into
+	arm_gen_constant.  Try to decide which way of handling the constant
+	is optimal for the target processor.
+
+	* arm.c (arm_prgmode): New enum.
+	(target_{cpu,fpe}_name, arm_fast_multiply, arm_arch4): New variables.
+	(all_procs): New table describing processors and capabilities.
+	(arm_override_options): New function.
+	(arm_return_in_memory): New function.
+	(arm_rtx_costs): Adjust the multiply costs to cope with processors
+	with fast multiplication instructions.
+	(output_move_double): Use the ldm/stm variants more efficiently.
+	Delete cases that can no-longer occur.
+	(output_return_instruction, output_func_epilogue): Use TARGET_APCS_32,
+	not TARGET_6 for determining the type of return instruction to emit.
+	(final_prescan_insn case CALL_INSN): Use TARGET_APCS_32, not TARGET_6
+	to determine condition preservation.
+	* arm.h (CPP_SPEC): Add defines for the cpu type, hard or soft floating
+	point, and the APCS PC size.
+	(TARGET_*): Restructure.
+	(ARM_FLAG_*): Many new definitions for different target options, not
+	all of which are supported yet.
+	(TARGET_SWITCHES): Use the ARM_FLAG_* definitions instead of explicit
+	numbers.
+	(prog_mode_type): New enum.
+	(floating_point_type): Split emulated floating point into FP_SOFT[23].
+	(OVERRIDE_OPTIONS): Call arm_override_options.
+	(ARM_CPU_NAME): Default to NULL if not defined by a subtarget.
+	(BYTES_BIG_ENDIAN): Can now be set as a compilation option.
+	(RETURN_IN_MEMORY, DEFAULT_PCC_STRUCT_RETURN): New definitions.
+	(GO_IF_LEGITIMATE_OFFSET): Use different HImode offsets if compiling
+	for an architecture 4 target.  The offsets for floating point
+	constants are the same as for integers if compiling TARGET_SOFT_FLOAT.
+	(GO_IF_LEGITIMATE_ADDRESS): Don't allow PRE_INC and POST_DEC if
+	the size is more than 4 bytes.  Restrict the range offsets for DImode;
+	likewise for DFmode when TARGET_SOFT_FLOAT.
+	(LEGITIMIZE_ADDRESS): Use symbol_mentioned_p, not LEGITIMATE_CONSTANT_P
+	to determine if a constant address might be better in a register.
+	Handle DFmode addresses in the same way as DImode if TARGET_SOFT_FLOAT.
+	(LOAD_EXTEND_OP): If arm_arch4, then HImode also zero-extends.
+	* arm.md (attributes): Rearrange order, so that condition clobbering
+	can be automatically determined for call insns.
+	(attribute cpu): Add new cpu ARM7.
+	(attribute type): Add new type MULT.
+	(attribute prog_mode): New attribute.
+	(attribute conds): Clobbering of call insns can now be determined
+	using prog_mode attribute.
+	(function units "write_buf", "write_blockage"): Model the write buffer
+	as two function units, so that conflicts are avoided more often.
+	(funcion unit "core"): New function unit, so that elapsed cycles can
+	be more accurately determined.
+	(all anonymous patterns): Add names.
+	(mulsidi3, umulsidi3): New patterns available with fast multiply
+	variants.
+	(all call insns): The conds attribute is now determined automatically.
+	(zero_extendhisi): Expand for architecture 4 variants if appropriate.
+	(*zero_extendhisi_insn): New pattern.
+	(extendqi{hi,si}, extendhisi): Expand for architecture 4 variants if
+	appropriate.
+	(*extendhisi_insn, *extendqihi, *extendqisi): New patterns.
+	(storehi_single_op): New expand.
+	(movhi): Handle architecture 4 expansion.
+	(*movhi_insn_arch4): New pattern.
+	(*movhi_*): Adjust applicability conditions to handle architecture 4.
+	(reload_outdf): Handle pre/post inc/dec reloads.
+	(tablejump): Delete.
+	(matcher for optimized tablejump): delete.
+	(casesi): New expand.
+	(casesi_internal): New pattern.
+	* semi.h (EXIT_BODY): Delete.
+	(TARGET_DEFAULT): Set to ARM_FLAG_APCS_32.
+	(CPP_SPEC): Define.
+	arm/cross-float.h: New file, used when building a cross-compiler.
+	* t-semi: Don't define inhibit_libc when building libgcc2.a.
+	(CROSS_FLOAT_H): Define.
+
+	* arm.c	({symbol,label}_mentioned_p): New functions.
+	(add_constant, dump_table, fixit, find_barrier, broken_move): New
+	support functions for handling constant spilling.
+	(arm_reorg): New constant spilling pass, for putting unhandlable
+	constants into the rtl where we can load them efficiently.
+	(output_load_symbol): Delete.
+	* arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): No need to handle floating
+	point constants any more, since arm_reorg will deal with them.
+	(LEGITIMATE_CONSTANT_P): Is now anything that doesn't contain a
+	LABEL.
+	(GO_IF_LEGITIMATE_ADDRESS): Recognize address expressions generated
+	by arm_reorg, but only after reload has completed.
+	(MACHINE_DEPENDENT_REORG): Define.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): There should be nothing left in
+	the pool, even if it might look like it.
+	* arm.md (*movsi_insn): Much simpified now that constants are handled
+	properly.
+	(movaddr): New expand.
+	(movsf, movdf): No need to force constants into the pool any more.
+	(*movdf_hard_insn): Much simplified.
+	(consttable_4, consttable_8, consttable_end, align_4): New patterns
+	for supporting embedded constants.
+
+	* configure: New target arm-semi-aof.
+	* arm.c (strings_fpa): Use a form which is common to both GAS and
+	ARMASM.
+	(output_return_instruction, output_func_epilogue): Call
+	assemble_external_libcall, before trying to generate an abort call
+	in the assembler.
+	(arm_asm_output_label): Call ARM_OUTPUT_LABEL, rather than assuming
+	that labels are followed by a colon.
+	(aof_text_section, aof_add_import, aof_delete_import,
+	 aof_dump_imports): New functions to support ARMASM assembler
+	generation.
+	* arm/aout.h: New file.
+	* arm/aof.h: New file.
+	* arm.h (most assembler-specific defines): Move to arm/aout.h.
+	(CONSTANT_ADDRESS_P): Can't directly access constant strings when
+	generating assembler for ARMASM.
+	(ENCODE_SECTION_INFO): Don't define if generating ARMASM assembler.
+	(ASM_OUTPUT_INTERNAL_LABEL): Generalize, so that it can be used
+	with all targeted assemblers.
+	(ASM_OUTPUT_LABEL): Call arm_asm_output_label.
+	* riscix.h: Include arm/aout.h, not arm/arm.h.
+	* riscix1-1.h: Likewise.
+	* semi.h: Likewise.
+	* arm/semiaof.h: New file.
+	* arm/t-semiaof: New file.
+
+Mon Dec  4 22:17:37 1995  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* gcc.c (LIBGCC_SPEC): Do link with libgcc when -shared.
+	* alpha.h (LIBGCC_SPEC): Remove.
+	* linux.h (LIBGCC_SPEC): Remove.
+	* svr4.h (LIBGCC_SPEC): Remove.
+	* i386/t-crtpic (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
+	* t-pa (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
+	* sparc/t-sunos41 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
+	* sparc/t-sol2 (TARGET_LIBGCC2_CFLAGS): Use -fPIC.
+	* configure (i386-linux): Use i386/t-crtpic.
+
+	* i386/xm-sco.h: #define NO_SYS_SIGLIST.
+
+Mon Dec  4 21:30:37 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* sh/sh.c (shiftcosts): For SH3, max cost of arithmetic right
+	shift is 3.
+	(expand_ashiftrt): For SH3, if shift cost is more than 3, then
+	call gen_ashrsi3_d to use shad instruction.
+
+Mon Dec  4 18:29:08 1995  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* c-decl.c (finish_struct): Don't mess with the type of bitfields.
+
+Mon Dec  4 15:28:02 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_constructor, record): If field is READONLY,
+	set RTX_UNCHANGING_P in TO_RTX.
+
+Mon Dec  4 12:59:33 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use -fPIC
+	unconditionally, since binutils 2.6 supports it.
+
+Sun Dec  3 20:55:43 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Handle arbitrary sections.
+	(ASM_OUTPUT_SECTION_NAME): Define.
+
+Sat Dec  2 22:19:16 1995  Jeffrey A. Law  (law@cygnus.com)
+
+	* pa.h: Replace many uses of fprintf with fputs.
+	* pa.c: Likewise.
+	* pa-pro.h: Likewise.
+
+	* pa.h (SECONDARY_RELOAD_CLASS): Don't call secondary_reload_class
+	to handle trivial cases.
+	* pa.c (secondary_reload_class): Rework to be more efficient.
+
+Sat Dec  2 07:52:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/rs6000.md (movsi): Don't split large constants in the
+	movsi pattern, let the define_split split it later as needed.
+
+Fri Dec  1 16:00:42 1995  Brendan Kehoe  <brendan@cygnus.com>
+
+	* sparc/sparc.c (output_double_int): Handle CODE_LABEL's if v9.
+
+Fri Dec  1 09:13:23 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* m68k/m68k.md (decrement_and_branch_until_zero): Split into a
+	define_expand and an anonymous define_insn.
+	* fx80/fx80.md (decrement_and_branch_until_zero): Ditto.
+	* m88k/m88k.md (decrement_and_branch_until_zero): Ditto.
+
+Thu Nov 30 15:02:16 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* sh.c (noncall_uses_reg): New function.
+	(machine_dependent_reorg): Add support for TARGET_RELAX.
+	(final_prescan_insn): Likewise.
+	* sh.h (ASM_SPEC, LINK_SPEC): Pass on -mrelax.
+	(RELAX_BIT, TARGET_RELAX): New macros.
+	(TARGET_SWITCHES): Add -mrelax.
+
+	* sh/sh.c (insn-attr.h): Include.
+	(pragma_nosave_low_regs): New global variable.
+	(calc_live_regs): If SH3 and pragma_nosave_low_regs, then don't
+	save registers r0 through r7 for interrupt functions.
+	(function_epilogue): Clear pragma_nosave_low_regs.
+	(handle_pragma): Set pragma_nosave_low_regs if see pragma for it.
+
+	* sh/sh.h (FUNCTION_PROFILER): Use trap #33 instead of trap #5.
+	Put additional .align before trapa instruction.
+
+Thu Nov 30 14:45:13 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* sparc.md (seqdi_special_trunc, snedi_special_trunc,
+	seqsi_special_extend, snesi_special_extend): Delete uses of SUBREG.
+	Make compare modes match modes of operands.
+	(snesi_zero_extend, snedi_zero_trunc_sp32, snedi_zero_trunc_sp64,
+	seqsi_zero_extend, seqdi_zero_trunc_sp32, seqdi_zero_trunc_sp64):
+	New patterns.
+
+Thu Nov 30 12:27:22 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* genmultilib: Take a 4th argument that says are the exceptions to
+	the multilibs, so illegal combinations can be eliminated.
+
+	* Makefile.in (multilib.h): Pass $(MULILIB_EXCEPTIONS) as the 4th
+	argument to genmultilib.
+
+	* configure (powerpc*): Remove little endian and eabiaix versions
+	of the t-* files.  Accept powerpc{,le}-*-sysv in addition to
+	*-sysv4.
+	(powerpc{,le}-*-eabisim): Use standard t-eabigas instead of
+	t-eabisim.
+	(powerpcle-*-{winnt3,pe}): Add support for Windows NT on PowerPC.
+	* rs6000/t-{eabiaix,eabisim,eabilegas,ppclegas}: Delete.
+
+	* rs6000/{t-winnt,win-nt.h}: New files for PowerPC Windows NT.
+
+	* ginclude/ppc-asm.h: New file to provide common macros for the
+	various PowerPC calling sequences.
+	* rs6000/eabi.asm: Use ppc-asm.h.
+
+	* rs6000/aix3newas.h (CPP_SPEC): Add support for -mcpu=603e, 602,
+	and 620.
+	* rs6000/{aix41,powerpc,rs6000,eabi{aix,le}}.h (CPP_SPEC): Ditto.
+	* rs6000/sysv4{,le}.h (CPP_SPEC): Ditto.
+
+	* rs6000/aix3newas.h (LINK_SPEC): If cross compiling, don't use
+	absolute paths.
+	* rs6000/{aix41,aixppc,rs6000}.h (LINK_SPEC): Ditto.
+
+	* rs6000/eabi.h (INVOKE__main): Don't define any more.
+	(ASM_OUTPUT_INT): Move to sysv4.h.
+	({STARTFILE,LIB}_SPEC): If -msim or -mmvme add the appropriate
+	libraries.
+
+	* rs6000/{eabiaix,eabile,sysv4{,le}}.h (CPP_SPEC): Add support for
+	-mcall-{aixdesc,nt} directives.
+	(MULTILIB_DEFAULTS): Define.
+
+	* rs6000/eabi{,le}sim.h (TARGET_DEFAULT, CPP_SPEC): No longer
+	define, simulator supports floating point.
+	({STARTFILE,LIB}_SPEC): If -mvme, use mvme libraries, not
+	simulator libraries.
+
+	* rs6000/{mach,netware}.h (TARGET_AIX): Define as 0.
+
+	* rs6000/netware.h (RS6000_OUTPUT_BASENAME): Don't redefine
+	anymore.
+	(STRIP_NAME_ENCODING): Undef.
+
+	* rs6000/rs6000.c (rs6000_save_toc_p, rs6000_abi): New globals.
+	(rs6000_override_options): Add 602, 603e, and 620 support.
+	(count_register_operand): New function to return true if operand
+	is the count register.
+	(easy_fp_constant): All constants are easy if -msoft-float.
+	(volatile_mem_operand): New function to return true if operand is
+	in volatile memory.
+	({fp_,}reg_or_mem_operand): Call volatile_mem_operand.
+	(input_operand): Allow support for Windows NT loading SYMBOL_REFs
+	and LABEL_REFs from the TOC.
+	(function_arg_boundary): On Windows NT, any argument >= 8 bytes
+	must be double word aligned.
+	(function_arg{_advance,}): Call function_arg_boundary to determine
+	if we need to align to an odd register for large arguments.
+	Changes to accomidate new method of determining which ABI we're
+	adhering to.
+	(expand_block_move_mem): Copy RTX_UNCHANGING_P, and if
+	MEM_UNALIGNED_P is defined, copy that too.
+	(expand_block_move): Copy dest/src to registers using
+	copy_addr_to_reg.
+	(print_operand): Changes to accomidate Windows NT.
+	(first_reg_to_save): Ditto.
+	(rs6000_stack_info): Ditto.
+	(debug_stack_info): Ditto.
+	(output_{prolog,epilog,toc,function_profiler}): Ditto.
+	(rs6000_stack_info): Save main's arguments around __eabi call.
+	(svr4_traceback): Delete, current V.4 ABI no longer wants
+	tracebacks in this format.
+	(output_prolog): Call __eabi here, saving and restoring main's
+	args if needed.  Save the toc pointer if needed.
+	(get_issue_rate): New function to return # of instructions a
+	machine can issue at once.
+	(rs6000_sync_trampoline): Emit instructions to synchronize the
+	PowerPC caches after a trampoline.
+	(rs6000_trampoline_{template,size}): New functions to provide
+	common trampoline support for all ABI's.
+	(rs6000_initialize_trampoline): Ditto.
+
+	* rs6000/rs6000.h (TARGET_{WINDOWS_NT,AIX,MACOS}): Define.
+	(processor_type): Add 602.
+	(PROCESSOR_COMMON): Assume the current processor is a 604, not a
+	601.
+	(SUBTARGET_OPTIONS): Define if not defined.
+	(TARGET_OPTIONS): Include SUBTARGET_OPTIONS.
+	(COUNT_REGISTER_REGNUM): Define as 66.
+	(EXTRA_CONTRAINT): Add 'S' and 'T' for Windows NT.
+	(rs6000_abi): Add ABI_AIX_NODESC, ABI_NT.
+	(DEFAULT_ABI): Define if not defined.
+	(rs6000_stack): Add fields for Windows NT support.
+	(RS6000_SAVE_TOC): Add for Windows NT support.
+	(FUNCTION_ARG_BOUNDARY): Call function_arg_boundary.
+	(trampoline macros): Call trampoline functions in rs6000.c.
+	(RETURN_ADDRESS_OFFSET): Add Windows NT support.
+	(toc_section): Skip leading '*'.
+	(PREDICATE_CODES): Add volatile_mem_operand,
+	count_register_operand.
+	(MACHINE_issue_rate): Define.
+	(function decls): Add new function decls from rs6000.c.
+
+	* rs6000/rs6000.md (cpu attribute): Add 602.
+	(function units): Update to match reality better.
+	(calls through pointer): Rework to support Windows NT.
+	(movsi): Add Windows NT support.
+	(movstrsi): Remove match_operand predicates, since
+	expand_block_move does the checking.
+	(sync_isync): Delete.
+	(icbi, dcbst, sync, isync): New insns to generate the named
+	instruction for making trampolines on eabi/V.4 properly flush the
+	caches.
+	(decrement_and_branch_on_count): Rename from
+	decrement_and_branchsi.  Add update of count in insn pattern.
+
+	* rs6000/sysv4.h (TARGET_SWITCHES): Drop -mtraceback.  Keep
+	-mno-traceback but don't do anything with it.  Add
+	-mcalls-{nt,aixdesc}.  Add -m{,no-}relocatable-lib.  Add -msim,
+	-mmvme, and -memb.
+	(TARGET_TOC): Update for use with -mcalls-{nt,aixdesc}.
+	(SUBTARGET_OVERRIDE_OPTIONS): Update for new switches.
+	(RS6000_OUTPUT_BASENAME): Delete.
+	(toc_section): Add support for -mcall-{nt,aixdesc}.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto.
+	(ASM_DECLARE_FUNCTION_NAME): Use STRIP_NAME_ENCODING instead of
+	RS6000_OUTPUT_BASENAME.  For -mcall-{nt,aixdesc} emit the proper
+	function descriptor.
+	(ASM_SPEC): Pass appropriate -mxxx switches to the assembler based
+	on the -mcpu=xxx options.
+	(ASM_OUTPUT_INT): Move here from eabi.h.
+	(ENCODE_SECTION_INFO): If -mcall-{nt,aixdesc} add approriate magic
+	so function name has two or one leading periods.
+	(ASM_OUTPUT_SOURCE_LINE): Delete, use version in svr4.h.
+	(trampoline macros): Call trampoline functions in rs6000.c.
+
+	* t-{eabi,ppc}{,gas} (EXTRA_HEADERS): Add ginclude/ppc-asm.h.
+	(LIB2FUNCS_EXTRA): Depend on eabi.S, not eabi.s.
+	(eabi.S): Rename from eabi.asm.
+
+	* t-{eabi,ppc}gas (MULTILIB_*): Add -mcall-aixdesc libraries, but
+	don't build either little endian or -mrelocatable versions of
+	those libraries.
+
+Tue Nov 28 00:10:27 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (divsi3): Reorder so common mode does not negate
+	power-of-2 shift optimization.
+
+Wed Nov 29 22:06:11 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
+
+ 	* configure (sparc-*-solaris2*): Add gcrt1.o to extra_parts.
+ 	* sparc/sol2.h (STARTFILE_SPEC): Link with gcrt1.o with -pg.
+ 	* sparc/sol2-g1.asm: New file, startup code for profiled
+  	executables.
+ 	* sparc/t-sol2: Add make rule for gcrt1.o.
+ 	* sparc/gmon-sol2.c (_mcleanup): Add support for PROFDIR
+ 	environment variable.
+
+Wed Nov 29 21:41:13 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips/abi64.h (CPP_SPEC): If -msingle-float and not
+	-msoft-float, pass -D__mips_single_float.  Likewise for -m4650 and
+	not -msoft-float.
+	* mips/dec-bsd.h (CPP_SPEC): Likewise.
+	* mips/dec-osf1.h (CPP_SPEC): Likewise.
+	* mips/elf64.h (CPP_SPEC): Likewise.
+	* mips/iris3.h (CPP_SPEC): Likewise.
+	* mips/iris5.h (CPP_SPEC): Likewise.
+	* mips/mips.h (CPP_SPEC): Likewise.
+	* mips/netbsd.h (CPP_SPEC): Likewise.
+	* mips/osfrose.h (CPP_SPEC): Likewise.
+	* mips/t-ecoff (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+	MULTILIB_MATCHES): Add -msingle-float support.
+
+Wed Nov 29 17:57:48 1995  Doug Evans  <dje@cygnus.com>
+
+	* toplev.c (main): Invoke OPTIMIZATION_OPTIONS after target_flags
+	has been initialized so sets of target_flags aren't clobbered.
+
+	* cccp.c (do_include): Recognize c:\foo as absolute path name in DOS.
+
+	* svr4.h (MD_EXEC_PREFIX): Don't use if cross compiling.
+	(MD_STARTFILE_PREFIX): Likewise.
+	(LINK_SPEC): Don't use absolute path names if cross compiling.
+	* svr3.h (LIB_SPEC): Likewise.
+
+	* gcc.c (do_spec_1): Fix typos in version calculation.
+
+Wed Nov 29 14:06:13 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sh.md (ashrsi3_d): Use %0 not %1 in output pattern.
+
+	* svr4.h (MAX_OFILE_ALIGNMENT): Define.
+
+	* mips/iris5.h (WORD_SWITCH_TAKES_ARG): Define.
+	(LINK_SPEC): Add rpath.
+	* mips/iris6.h (LINK_SPEC): Likewise.
+
+	* stupid.c (stupid_mark_regs): For hard registers, use regno+j
+	instead of just regno in MARK_LIVE_AFTER and SET_HARD_REG_BIT calls.
+
+	* c-common.c (combine_strings): Add support for WCHAR_TYPE as short.
+
+Wed Nov 29 13:59:58 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* c-decl.c (duplicate_decls): Add new paramter different_binding_level.
+	Lots of changes to use new new parameter.
+	(pushdecl): Delete variable declared_global.  New variable
+	different_binding_level and code to set it.  Move extern/static
+	warning before duplicate_decls call.  Don't let global typedefs
+	conflict with nested extern declarations.  Move oldglobal test
+	inside code for setting IDENTIFIER_LIMBO_VALUE.
+	(lookup_name_current_level_global): Delete.
+	* c-tree.h (merge_attributes): New declaration.
+	* c-typeck.c (merge_attributes): New function.  Move code from
+	common_type to here.
+	(common_type): Call merge_attributes instead of having inline code.
+	* integrate.c (integrate_decl_tree): Delete variable newd.
+	Always set DECL_ABSTRACT_ORIGIN before calling pushdecl.
+
+Tue Nov 28 21:57:04 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* mips.c (mips_function_value): Add check for i > 0 when deciding
+	if structure should be return in FP registers.
+
+Tue Nov 28 12:47:52 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* pa.md (define split for (plus (reg) (large_constant)): Try
+	another way to handle this with only 2 insns.  From Tege.
+
+Mon Nov 27 02:05:18 1995  Jeffrey A. Law  <law@cygnus.com>
+
+	* lib1funcs.asm, pa-pro.h, t-pro.h, xm-papro.h: New PA
+	target files.
+	* configure (hppa*-*-pro*): Use new target files.
+
+	* toplev.c (rest_of_compilation): Always call jump_optimize
+	at least once.
+
+	* pa.h (ASM_OUTPUT_EXTERNAL): Don't let assemble_name clobber
+	the value of TREE_SYMBOL_REFERENCED.
+
+	* pa-ghpux9.h (LINK_SPEC): Pass "-z" to the linker to enable
+	trap on null pointer dereference for programs built on hpux9.
+	* pa-hpux9.h, pa1-ghpux9.h, pa1-hpux9.h: Likewise.
+
+	* pa.c (output_function_prologue): No longer need to keep
+	track of the total number code bytes when TARGET_GAS &&
+	not TARGET_PORTABLE_RUNTIME.
+	* pa.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use .NSUBSPA when
+	not TARGET_PORTABLE_RUNTIME.
+	(ASM_OUTPUT_FUNCTION_PREFIX): Define.  Prefix functions with
+	.NSUBSPA when TARGET_GAS and not TARGET_PORTABLE_RUNTIME.
+
+	* pa.md (symbolic high patterns): Use 'H' to print the symbolic
+	address so that the constant part gets rounded.
+	* pa.c (print_operand): Handle 'H' operand for high part of a
+	symbolic address with a rounded constant.
+	(output_global_address): New argument "rounded_constant".  All
+	callers changed appropriately.
+
+	* x-pa-hpux (FIXPROTO_DEFINES): Add -D_HPUX_SOURCE.
+
+	* pa.h (CPP_SPEC): Only pass -D_HPUX_SOURCE and -D_HIUX_SOURCE if
+	-ansi is not present.
+	(CPP_PREDEFINES): Remove -D_HPUX_SOURCE and/or -D_HIUX_SOURCE.
+	* pa-ghiux.h (CPP_PREDEFINES): Likewise.
+	* pa-gux7.h (CPP_PREDEFINES): Likewise.
+	* pa-hiux.h (CPP_PREDEFINES): Likewise.
+	* pa-hpux.h (CPP_PREDEFINES): Likewise.
+	* pa-hpux7.h (CPP_PREDEFINES): Likewise.
+	* pa1-ghiux.h (CPP_PREDEFINES): Likewise.
+	* pa1-hiux.h (CPP_PREDEFINES): Likewise.
+
+	* pa-hpux.h (LINK_SPEC): If -mlinker-opt, then pass -O to the
+	linker.
+	* pa-ghpux.h, pa-hpux9.h, pa-ghpux9.h: Likewise.
+	* pa1-ghpux9.h, pa1-hpux9.h: Likewise.
+	* pa.h (LINK_SPEC): Likewise.
+	(TARGET_SWITCHES): Add -mlinker-opt.
+
+	* pa.md (all peepholes): Disable if TARGET_SOFT_FLOAT.
+
+	* pa.c (pa_reorg): If TARGET_GAS, then emit insns to mark
+	the beginning and end of the branch table.
+	* pa.md (begin_brtab): New insn.  Just a marker so GCC knows
+	where to put the .begin_brtab pseudo-op.
+	(end_brtab): Similarly.
+
+	* pa.h (EXTRA_SECTIONS): Add in_ctors and in_dtors if
+	CTORS_SECTION_FUNCTION is defined.  Else define dummy
+	versions of CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION.
+	(EXTRA_SECTION_FUNCTIONS): Add CTORS_SECTION_FUNCTION and
+	DTORS_SECTION_FUNCTION.
+
+	* pa.md: Add peepholes to improve spill code generated
+	by reload when we run out of FP registers.
+
+	* xm-pa.h: Remove spurious double-quote.
+
+	* pa.md (call expanders): For indirect calls, load %r22 with the
+	function's address.
+	(indirect call patterns): No need to copy the call address into
+	%r22 anymore.
+
+	* pa.c (output_cbranch): Fix buglet in length handling of
+	backwards branches with unfilled delay slots.
+	(output_bb, output_bvb, output_dbra, output_movb): Likewise.
+
+	* pa.md: Fix off-by-one error in length computations for all
+	conditional branch patterns.
+
+	* pa.h (output_bvb): Declare.
+	* pa.c (output_bvb): New function to output branch on variable
+	bit insns.
+	* pa.md (branch-on-variable-bit): New patterns.
+
+	* pa.h (TARGET_MILLICODE_LONG_CALLS): Delete swtich and all
+	references.
+	(output_millicode_call): Declare new function
+	* pa.md (millicode calls): Update length computation to handle
+	variable length millicode calls.
+	(call pattners): Likewise.
+	(indirect call patterns): Update length compuations and output
+	templates to handle variable length millicode calls.
+	(plabel_dereference): Likewise.
+	* pa.c (override_options): Give warnings when incompatable
+	options are used.
+	(output_mul_insn): Call output_millicode_call instead of
+	output_call, eliminate last argument to output_millicode_call.
+	(output_div_insn): Likewise.
+	(output_mod_insn): Likewise.
+	(output_call): Rewrite long call code to handle variable length
+	millicode calls.  Eliminate support for calling mul, div and mod
+	millicode routines.
+	(output_millicode_call): New function for calling mul, div and mod
+	millicode routines.
+
+	* pa.md (abssi2): New pattern.
+
+	* pa.c (secondary_reload_class): Loads from reg+d addresses into
+	FP registers don't need secondary reloads.
+	* pa.h: Delete soem #if 0 code.  Update some comments.
+	(EXTRA_CONSTRAINT, case 'Q'): Only accept valid memory addresses.
+
+	* pa.h (RTX_COSTS): Tege's rewrite.
+
+	* pa.c (hppa_legitimize_address): Generate unscaled indexed
+	addressing for (plus (symbol_ref) (reg)).
+	(emit_move_sequence): Set REGNO_POINTER_FLAG appropriately
+	to encourage unscaled indexing modes.
+	(basereg_operand): New function for unscaled index address support.
+	* pa.md (unscaled indexing patterns): New patterns for unscaled
+	index address support.
+
+	* pa.h (MOVE_RATIO): Define.
+	* pa.md (movstrsi expander): Refine tests for when to use the
+	library routine instead of an inlined loop copy.  Provide an
+	additional scratch register for use in the inlined loop copy.
+	(movstrsi_internal): Name the pattern for ease of use.  Add
+	additional scratch register.
+	* pa.c (output_block_move): Greatly simplify.  Use 2X unrolled
+	copy loops to improve performance.
+	(compute_movstrsi_length): Corresponding changes.
+
+	* pa.c (print_operand): Handle 'y' case for reversed FP
+	comparisons.  Delete some #if 0 code.  Fix various comment typos.
+	* pa.md (fcmp patterns): Try and reverse the comparison to avoid
+	useless add,tr insns.
+
+Sun Nov 26 14:47:42 1995  Richard Kenner  <kenner@mole.gnu.ai.mit.edu>
+
+	* Version 2.7.2 released.
+
+	* function.c (fixup_var_refs_1): Make pseudo for DEST
+	in PROMOTED_MODE unless in a SUBREG.
+
+	* cse.c (insert): Don't put a REG into qty_const.
+
+	* msdos/top.sed: Change version to 2.7.2.
+	* winnt/config-nt.sed: Likewise.
+
+Sun Nov 26 14:41:49 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* Makefile.in (stamp-objlist): Change .o to $objext.
+
+	* alpha/win-nt.h (CPP_PREDEFINES): Set __unaligned and __stdcall
+	to null.
+	(ASM_SPEC): Add a translation for -g to -Zi.
+	* winnt/ld.c (main): Don't pass -g to link.
+	* winnt/oldnames.c: Reformat and add some new functions for gnat1.
+	* winnt/win-nt.h (LINK_SPEC): Pass -g to ld.exe.
+	Increase default stack size.
+	* configure ({alpha-dec,i386-ibm}-winnt3.5): Add oldnames.o
+	to extra_objs.
+	* libgcc2.c (trampoline): Add getpagesize and mprotect for WINNT.
+
+Sun Nov 26 14:25:26 1995  Uwe Seimet  (seimet@chemie.uni-kl.de)
+
+	* atari.h (FUNCTION_VALUE): Deleted; incorrect.
+
+Sun Nov 26 14:23:03 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* fixincludes (curses.h): Allow space or tab after bool keyword,
+	instead of tab or tab.
+
+Sun Nov 26 14:14:11 1995  Oliver Kellogg  (oliver.kellogg@space.otn.dasa.de)
+
+	* 1750a.md (pattern for HImode PSHM): Corrected.
+	(trunchiqi2, zero_extendqihi2, extendhftqf2): Corrected.
+	(pattern for movhi of CONST_INT to REG): Corrected.
+	(divmodqi pattern for DISN): Corrected.
+	(all shift patterns): Corrected.
+
+	* 1750a.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Corrected.
+ 	(ASM_OUTPUT_[datatype]): Corrected datalbl[].size computation
+	for output of arrays.
+
+Sun Nov 26 14:08:57 1995  Dave Love  <d.love@dl.ac.uk>
+
+	* mips/iris5.h (NO_IMPLICIT_EXTERN_C): Define this again so
+	that unistd.h doesn't get badly `fixed' for C++.  libg++ will now
+	build with this definition.
+
+Sun Nov 26 14:02:43 1995  Robert E. Brown  (brown@grettir.bibliotech.com)
+
+	* configure: Better workaround for Nextstep bug.
+
+Sun Nov 26 13:55:07 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* rs6000.md (load_multiple matcher): Fix typo in opcode.
+
+Sun Nov 26 13:51:08 1995  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* final.c (final_start_function): Move call to sdbout_begin_function
+	back to final_scan_insn on MIPS systems so parameter descriptions are
+	recognized.
+
+Sun Nov 26 13:43:06 1995  DJ Delorie  (dj@delorie.com)
+
+	* msdos/top.sed: Don't insert "go32".
+
+Sun Nov 26 12:08:23 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* combine.c (nonzero_bits, case REG):  Put POINTERS_EXTEND_UNSIGNED
+	code before stack pointer code.  Return nonzero at end of stack
+	pointer code.
+
+	* sparc.h (PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS.
+
+	* Makefile.in (cppalloc.o): Add a rule to build it.
+
+	* alpha.c (alpha_emit_set_const): Don't output SImode sequences
+	that rely on invisible overflow.  Sign extend new when SImode.
+	Don't recur if new == c.  Don't allow shift outside mode.  Make
+	logical right shift be unsigned.
+
+Sun Nov 26 11:37:50 1995  Arne H. Juul  (arnej@idt.unit.no)
+
+	* Makefile.in (compare*): Add "|| true" to avoid spurious
+	failure messages from some versions of make.
+
+Sun Nov 26 11:20:09 1995  Dmitry K. Butskoy  (buc@stu.spb.su)
+
+	* expr.c (truthvalue_conversion): Add declaration.
+
+Sun Nov 12 18:09:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* Version 2.7.1 released.
+
+	* function.c (put_reg_into_stack): New arg volatile_p.
+	(put_var_into_stack): Call with new arg.
+
+Sat Nov 11 08:25:34 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* reload.c (output.h): Include it.
+	* Makefile.in (reload.o): Add dependence on output.h.
+
+Thu Nov  9 11:24:20 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* mips.h (HARD_REGNO_NREGS): If FP_REG_P, always use UNITS_PER_FPREG
+	to calculate number of words needed.
+
+Thu Nov  9 11:04:50 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)
+
+	* 1750a.md (cmphf): Addd Base Reg with Offset address mode (LB,STB,..)
+	(movqi,movhi,movhf,addqi3,addhf3,subqi3,subhf3,mulqihi3): Likewise.
+	(mulhf3,divhf3,andqi3,iorqi3): Likewise.
+	(define_peephole): Remove the Base mode peepholes. Replace the
+	special addqi define_insn for "LIM Ra,sym,Rb" by a define_peephole.
+	(ashlqi3): Took out futile 0th alternative.
+	(lshrqi3, lshrhi3, ashrqi3, ahsrhi3): Correct case of non-constant
+	shift count.
+
+	* 1750a.h (REG_ALLOC_ORDER): Define.
+	(REGNO_OK_FOR_BASE_P): Include stack pointer in test against
+	reg_renumber[REGNO].
+	(ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment.
+
+Thu Nov  9 11:01:33 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case ARRAY_REF): Properly convert types
+	of index, size, and multiplication.
+
+Wed Nov  8 09:00:22 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.md (mov*cc_{,soft_}insn): Use match_operator to test the
+	comparison and check that the condition code register is used.
+
+Wed Nov  8 08:49:35 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/sysv4.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Undef before
+	including svr4.h.
+
+Tue Nov  7 10:58:12 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* m68k.md (subxf3): Properly name pattern.
+
+Tue Nov  7 10:53:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* libgcc2.c (__{C,D}TOR_LIST): For AIX, initialize these arrays to
+	0,0, just like NeXT to avoid a warning message from the AIX 4.1
+	linker.
+
+Tue Nov  7 09:58:34 1995  John F. Carr <jfc@mit.edu>
+
+	* cppexp.c (cpp_lex): Correctly parse character constants.
+
+Tue Nov  7 09:52:15 1995  Jason Merrill  <jason@yorick.cygnus.com>
+
+	* rs6000.h (ASM_OUTPUT_{DES,CONS}TRUCTOR): Define.
+
+Mon Nov  6 10:27:15 1995  Doug Evans  <dje@cygnus.com>
+
+	* combine.c (force_to_mode): Fix typo.
+
+Sun Nov  5 18:37:02 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* m68k.md (cmpxf): Don't call force_const_mem, it looses for PIC;
+	get predicates right instead.  Get rid of separate DEFINE_EXPAND.
+	(addxf3, subxf3, mulxf3, divxf3): Likewise.
+	(All XFmode patterns): Delete `F' and `G' constraints.
+	(absxf2, negxf2): Delete spurious condition on TARGET_FPA.
+
+Sun Nov  5 11:05:44 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* fixincludes (malloc.h):  Fix return type of {m,re}alloc.
+
+Sun Nov  5 11:02:26 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+        * cse.c (invalidate): For a pseudo register, do a loop to
+	invalidate all table entries, irrespective of mode.
+
+Sun Nov  5 10:57:43 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* combine.c (force_to_mode): Put in last change properly.
+
+Sun Nov  5 10:53:49 1995  Jeffrey A Law  (law@cygnus.com)
+
+	* pa.h (CONDITIONAL_REGISTER_USAGE): Make sure FP regs
+	get disabled regardless of PA1.0 vs PA1.1 code generation
+	when TARGET_SOFT_FLOAT or TARGET_DISABLE_FPREGS is on.
+
+Sun Nov  5 10:49:43 1995  Doug Evans  <dje@lisa.cygnus.com>
+
+	* i960.c (emit_move_sequence): Add a scratch register to
+	multi-reg stores.
+	(i960_output_move_{double,quad}): New functions.
+	(i960_print_operand): Handle new operand types E, F.
+	* i960.md (movdi matchers): Rewrite.
+	(store_unaligned_di_reg): New pattern.
+	(movti matchers): Rewrite.
+	(store_unaligned_ti_reg): New pattern.
+
+Sun Nov  5 10:45:24 1995  Ian Lance Taylor  (ian@cygnus.com)
+
+	* mips.h (MULTILIB_DEFAULTS): Define.
+	* mips/elf64.h, mips/iris6.h (MULTILIB_DEFAULTS): Define.
+
+Sun Nov  5 10:41:48 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* reload.c (push_reload): Delete abort for RELOAD_OTHER case added
+	in last change.
+	* reload1.c (emit_reload_insns): For RELOAD_OTHER output reloads,
+	output the reload insns in descending order of reloads.
+
+	* sh.md (mulsidi3-1, mulsidi3, umulsidi3-1, umulsidi3): Enable.
+	(smulsi3_highpart-1, smulsi3_highpart): New patterns.
+	(umulsi3_highpart-1, umulsi3_highpart): Likewise.
+	(movdi-1): Add r/x constraint.
+	* t-sh (MULTILIB_OPTIONS): Add m2.
+	(MULTILIB_DIRNAMES): Add m2.
+	(MULTILIB_MATCHES): Define.
+
+	* sparc.h (RTX_COSTS, case MULT): Check for TARGET_SPARCLITE.
+
+	* abi64.h, elf64.h (CPP_SPEC): Add -EB and -EL support.
+
+Sat Nov  4 10:36:26 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.md (casesi_worker): Change constraint from = to +.
+
+	* svr4.h (ASM_IDENTIFY_GCC_AFTER_SOURCE): Delete.
+	(ASM_IDENTIFY_GCC): Output stab here.
+
+Sat Nov  4 10:32:37 1995  John Carr  <jfc@mit.edu>
+
+	* cpplib.c (finclude): Set current input pointer when input
+	is not a regular file.
+
+	* cppmain.c: Define progname, required by cpplib.
+
+Sun Oct 29 07:48:36 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* xcoffout.h (DBX_FINISH_SYMBOL): Deal with names created via
+	the __asm__ construct that start with a leading '*'.
+	* xcoffout.c (xcoff_declare_function): Likewise.
+
+Sun Oct 29 07:45:41 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* stupid.c (stupid_mark_refs): Handle SUBREG of pseudo-reg in a
+	SET_DEST same as we handle a pseudo-reg in a SET_DEST.
+
+Sun Oct 29 07:43:15 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* libgcc2.c (L_eh: __unwind_function): Implement for VAX.
+	* vax.h (RETURN_ADDRESS_OFFSET, RETURN_ADDR_RTX): Define.
+
+Sun Oct 29 12:39:08 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>a
+
+	* i386/sol2.h (CPP_PREDEFINES): Add -D__SVR4.
+
+Sun Oct 29 07:14:36 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* reload.c (find_equiv_reg): Check for nonsaving setjmp.
+
+Fri Oct 27 15:15:56 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* Makefile.in (out_object_file): Depend on TREE_H.
+
+Fri Oct 27 06:42:36 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (call_operand): Only allow reg 27 on NT too.
+	* alpha.md (call_value_nt, call_nt): Force non-SYMBOL_REF
+	into reg 27, just like for OSF.
+
+	* rs6000.c (struct asm_option): Changed from struct option.
+	(expand_block_move_mem): Remove erroneously-added line.
+
+	* expr.c (clear_storage): SIZE is now rtx, not int.
+	(store_constructor): Call clear_storage with rtx.
+	(get_inner_reference): Convert index to precision of
+	sizetype, not POINTER_SIZE.
+	(expand_expr, case ARRAY_REF): Likewise.
+	* expr.h (clear_storage): Second arg is rtx, not int.
+
+Fri Oct 27 05:45:58 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* combine.c (force_to_mode, case ASHIFTRT): Properly handle
+	mask wider than HOST_WIDE_INT.
+
+        * c-decl.c (pushdecl): Don't test TREE_PUBLIC when deciding whether
+	to register a duplicate decl in the current block.
+
+Thu Oct 26 21:55:39 1995  Jason Merrill  <jason@sethra.cygnus.com>
+
+	* calls.c (expand_call): Don't trust the callee to copy a
+ 	TREE_ADDRESSABLE type.
+	* function.c (assign_parms): Likewise.
+
+Thu Oct 26 19:25:05 1995  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__unwind_function): Provide a default definition for
+	implementations that don't yet have a function unwinder.
+
+Thu Oct 26 18:08:19 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (handle_directive): Don't treat newline as white
+	space when coalescing white space around a backslash-newline.
+
+Thu Oct 26 17:57:34 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips-tdump.c (enum st): Define st_Struct, st_Union, and st_Enum.
+	(st_to_string): Handle them.
+	(type_to_string): Add fdp argument; pass it to emit_aggregate.
+	(print_symbol): Add fdp argument; pass it to type_to_string.
+	Handle st_Struct, st_Union, and st_Enum.
+	(emit_aggregate): Add fdp argument.  Handle opaque types.  Map
+	through RFD entries.
+	(print_file_desc): Pass FDR to print_symbol.
+	(main): Pass null FDR to type_to_string.
+
+Thu Oct 26 08:07:10 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* configure (powerpc-ibm-aix[456789]*): Use rs6000/t-newas,
+	not rs6000/t-rs6000.
+	(rs6000-ibm-aix3.2.[456789]*): Likewise.
+	(rs6000-ibm-aix[456789]*): Likewise.
+
+	* rs6000/t-newas: Copy from t-rs6000.
+	* t-rs6000: Don't build -mcpu=common multilib variants of libgcc.a.
+
+	* rs6000.md (load_multiple insn): If address register is among regs,
+	don't load it with a lwsi instruction, which is undefined on PowerPC.
+
+Thu Oct 26 08:01:32 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* dwarfout.c (output_compile_unit_die): Handle language_string
+	of "GNU F77".
+
+	* reload.c (find_reloads_address): When check for out of range constant
+	plus register, accept any hard register instead of just fp, ap, sp.
+
+	* combine.c (distribute_notes): For Oct 19 change, add additional
+	check to verify that place has a valid INSN_CUID.
+
+	* sparc/t-vxsparc (LIBGCC1_TEST): Define.
+
+	* sh.md (negdi2): Use TARGET_LITTLE_ENDIAN.
+
+	* combine.c (force_to_mode, case ASHIFTRT): Verify mode bitsize is
+	within HOST_BITS_PER_WIDE_INT before shifting by it.
+
+	* final.c (final_scan_insn): When recur for instruction in delay slot,
+	add loop around recursive call in case the instruction gets split.
+
+Thu Oct 26 07:28:45 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* genrecog.c (write_tree_1): Avoid emitting '-2147483648'.
+
+	* jump.c (duplicate_loop_exit_test): Return 0 if found
+	a NOTE_INSN_LOOP_CONT.
+
+Tue Oct 24 15:30:14 1995  Jeffrey A Law  <law@cygnus.com>
+
+	* calls.c (expand_call): Make sure valreg is at least
+	a full word.
+
+Sun Oct 22 19:35:41 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.h (INIT_SECTION_ASM_OP): Delete.
+	(HAVE_ATEXIT): Define.
+
+Sun Oct 22 07:46:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* libgcc2.c (__fixuns[xds]fsi): #undef MIN and MAX before #include
+	of limits.h.
+
+	* pa.c (pa_adjust_cost): Use pa_cpu, not pa_cpu_attr.
+
+Sun Oct 22 07:38:58 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+        * alpha.h (CONST_OK_FOR_LETTER_P): Use 'U' for unsigned constants.
+        * alpha.c (alpha_emit_set_const): Likewise.
+        * mips.c (gen_int_relational): Likewise.
+
+Sun Oct 22 07:14:35 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* i386.c (i386_return_pops_args): Don't need a FUNDECL to
+	check for type attributes in FUNTYPE.
+
+Sat Oct 21 18:17:42 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.md (define_delay): Don't accept any instruction for an annulled
+	slot, only accept those for which in_delay_slot is yes.
+	* sh.c (find_barrier): When hi_const returns true, increment count_si
+	by two if found_si is true.
+	Always use get_attr_length to compute length of instructions.
+	If count_hi or count_si out of range at end, need two PREV_INSN calls
+	not one.
+	When create new label, set LABEL_NUSES to 1.
+	(reg_unused_after): Ifdef out code for handling labels.
+	(prepare_scc_operands): New local variable mode.  Set it from
+	sh_compare_op0 or sh_compare_op1.  Use it instead of SImode in
+	force_reg calls.
+
+	* optabs.c (expand_float): Emit missing barrier after unconditional
+	jump.
+
+Sat Oct 21 14:16:46 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* alpha.md (cmpdf): Make conditional on TARGET_FP.
+
+Fri Oct 20 19:11:12 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* combine.c (distribute_notes): Delete instructions without
+	side effect that set a subreg of an unused register.
+
+	* m68k.h (PREFERRED_RELOAD_CLASS): Check for !G constants
+	for DATA_OR_FP_REGS also.
+
+Fri Oct 20 18:57:10 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* genmultilib: Output negations of unused alternatives, even if
+	one of the alternatives is selected.
+
+Fri Oct 20 18:48:50 1995  Jeff Law  (law@hurl.cygnus.com)
+
+	* integrate.c (output_inline_function): Turn on flag_no_inline
+	to avoid function integration once we begin writing deferred
+	output functions.
+
+Fri Oct 20 18:46:33 1995  Michael Meissner  <meissner@wogglebug.tiac.net>
+
+	* rs6000.c (float_conv_temp): Delete global variable.
+	(stack_temps): New static array to hold stack temps.
+	(offsettable_mem_operand): Delete function.
+	(offsettable_addr_operand, rs6000_stack_temp): New functions.
+	(output_epilog): Zero stack_temps.
+
+	* rs6000.h (offsettable_addr_operand): Declare instead of
+	offsettable_mem_operand.
+	(PREDICATE_CODES): Use offsettable_addr_operand.
+	(float_conv_temp): Delete variable.
+
+	* rs6000.md (move_to_float insns): Change move_to_float so
+	that it doesn't have a clobber of the memory address, and instead
+	passes the stack temp's memory address as one of the unspec args.
+	(fix_truncdfsi2): Use rs6000_stack_temp to allocate the temp.
+	(multiply, shift insns): Fix all cases of multiply and shift insns so
+	that the right mnemonics are used for -mcpu=common with both
+	-m{old,new}-mnemonics.
+
+Fri Oct 20 17:58:19 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* expr.c (safe_from_p, case RTL_EXPR): Return 0 if RTL_EXPR_SEQUENCE
+	exists.  Delete code to return 0 if exp_rtl is zero.
+
+	* function.c (init_function_start): Don't call init_insn_lengths here.
+	* toplev.c (rest_of_compilation): Call it here.
+
+Thu Oct 19 19:19:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-common.c (check_format_info): Make test for null pointer
+	more general.
+
+Thu Oct 19 18:56:16 1995  Satoshi Adachi  (adachi@wisdom.aa.ap.titech.ac.jp)
+
+	* fixincludes (stdlib.h): Be more general in edit to change
+	declaration of {c,m,re}alloc.
+
+Thu Oct 19 18:48:53 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* libgcc2.c (__udiv_w_sdiv): If we don't have sdiv_qrnnd, define
+	dummy variant of __udiv_w_sdiv.
+
+Thu Oct 19 18:45:21 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* alpha.h (ASM_SPEC): If GNU as is the default, then pass -g to
+	the assembler if -malpha-as.  If GNU as is not the default, then pass
+	-g to the assembler is not -mgas.
+
+	* combine.c (distribute_notes): When search for new place to put
+	REG_DEAD note, call distribute_links if this new place is between
+	i2 and i3, and i2 uses the register.
+
+Thu Oct 19 18:41:36 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (float{,uns}sidf2): Rewrite to break the conversion
+	process into several general insns.
+	(move_to_float): New insns to move 2 integer regs into a float register
+	through memory, taking endianess into account.  Make sure that the
+	floating temporary is a valid address.  Use one temporary for all
+	floats converted.
+	(fix_truncdfsi2): Take endianess into account.
+
+	* rs6000.c ({low_32_bit,offsettable_mem}_operand): The function
+	low_32_bit_operand is now unused, delete it.  New function
+	offsettable_mem_operand to determine if a memory address is
+	offsettable.
+	* rs6000.h ({low_32_bit,offsettable_mem}_operand): Ditto.
+	(PREDICATE_CODES): Ditto.
+
+	* rs6000.{c,h} (float_conv_temp): New global.
+	* rs6000.c (output_epilog): Zero out float_conv_temp.
+
+	* Makefile.in (libgcc{1,2}.a): Allow LIB{1,2}FUNCS_EXTRA files to
+	end in .S as well as .c and .asm.
+
+Wed Oct 18 17:56:45 1995  Jose Alonso  (sidinf@fpsp.fapesp.br)
+
+	* c-typeck.c (parser_build_binary_op): Warn about x^y==z, etc.
+
+Mon Oct  9 12:38:06 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* protoize.c (reverse_def_dec_list): Silence compiler warnings.
+
+Mon Oct  9 12:35:54 1995  Andrew Cagney  <cagney@highland.com.au>
+
+	* ginclude/va-ppc.h (va_arg): Deal with long longs that would be
+	passed in the 7th register, and are passed in the stack instead.
+
+Fri Oct  6 13:47:10 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* alpha.h (ASM_SPEC): Add -g.
+
+Fri Oct  6 13:42:50 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* alpha.h (alpha_{arg,auto}_offset): Make extern.
+
+Fri Oct  6 13:24:43 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.h (RETURN_ADDRESS_OFFSET): Correct previous change.
+
+Fri Oct  6 13:14:43 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* rtlanal.c (reg_set_last): Fix call to reg_set_between_p.
+
+Tue Oct  3 12:31:38 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_type, case ARRAY_TYPE): Strip MAX_EXPR
+	from upper bound when computing length if it just protects against
+	negative length.
+
+	* expr.c (emit_move_insn_1): When doing multi-word move, show
+	output is clobbered.
+
+Tue Oct  3 12:26:07 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* cse.c (set_nonvarying_address_components, case AND): Add *pend to
+	end.  Add constant to start instead of subtracting it.
+
+Tue Oct  3 12:23:28 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* combine.c (simplify_rtx): In code that attempts to simplify
+ 	conditional expressions, if the result is an NE around another
+	comparison, return the original expression.
+
+	* longlong.h (mips umul_ppmm): Use `l' and `h' constraints;
+	remove mflo and mfhi instructions.
+
+Tue Oct  3 12:21:29 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* ginclude/va-ppc.h (va_start, stdarg case): Call
+	__builtin_next_arg, and ignore the result, so that the compiler
+	can report the proper error, if the second argument is not the
+	last argument.
+
+Tue Oct  3 12:02:51 1995  Kohtala Marko  <Marko.Kohtala@ntc.nokia.com>
+
+	* function.c (assign_stack_temp): Adjust full_size field of
+	temp_slot when splitting an unused slot.
+
+Tue Oct  3 11:51:59 1995  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_builtin_return_addr): Break out functionality
+	from expand_builtin.
+	(expand_builtin): Call expand_builtin_return_addr.
+	* rs6000.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
+	Offset to return address is 4 when !TARGET_64BIT and v4_call_p,
+	8 otherwise.
+	* sparc.h (RETURN_ADDR_RTX): Remove call to copy_to_reg.
+	* alpha.h (RETURN_ADDR_RTX): New definition.
+
+Sun Oct  1 21:23:30 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (staticp, case INDIRECT_EXPR): Disable case.
+
+	* expr.c (expand_expr, case COMPONENT_REF): If getting component
+	of union of variable size, propagate TARGET.
+
+Fri Sep 29 07:48:09 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_expr): When storing promoted value, don't return
+	MEM if address contains target.
+
+Thu Sep 28 14:30:03 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (rescan): Expand `#if foo && #bar' without a bogus
+	complaint about preprocessor directives within macro args.
+	Expand `foo' in `foo#bar' without requiring a space before `#'.
+
+Thu Sep 28 14:24:26 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (anonymous DImode shift patterns setting cc0): Turned
+	off due to reload problems.
+
+Thu Sep 28 14:05:22 1995  Niklas Hallqvist  (niklas@appli.se)
+
+	* Makefile.in (USER_H): Move up so can override.
+	(INSTALL_ASSERT_H): New definition.
+	(install-headers): Use it.
+	(stmp-int-hdrs): Handle USER_H being empty.
+	* config/x-netbsd (INSTALL_ASSERT_H): Define as empty.
+
+	* i386/netbsd.h (WCHAR_{TYPE,UNSIGNED,TYPE_SIZE}): Now int.
+	* m68k/netbsd.h, ns32k/netbsd.h, sparc/netbsd.h: Likewise.
+	* vax/netbsd.h: Likewise.
+	(SIZE_TYPE): Use unsigned int.
+
+	* m68k.c (output_scc_di): Swap operands when needed.
+	* m68k.h (LEGITIMATE_PIC_OPERAND): Allow SYMBOL_REF_FLAG symref.
+	* m68k.md: Make both assembler syntaxes do the same for PIC calls.
+
+Tue Sep 26 16:51:44 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* mips.c (override_options): Don't allow anything but integers to
+	go in the HI/LO registers.
+
+Tue Sep 26 16:36:18 1995  John F. Carr  <jfc@mit.edu>
+
+	* c-common.c (check_format_info): Don't warn about format type
+	mismatch if the argument is an ERROR_MARK.
+
+Mon Sep 25 17:50:50 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+	* stor-layout.c (put_pending_sizes): New function.
+	* tree.h (put_pending_sizes): Add declaration.
+	* tree.c (save_expr): Return original for ERROR_MARK.
+
+Fri Sep 22 19:20:01 1995  Jeff Law  (law@hurl.cygnus.com)
+
+	* expr.c (expand_builtin, case BUILT_IN_MEMCPY): Strip off
+	all NOP exprs from the source and destination nodes, then
+	set MEM_IN_STRUCT_P.
+
+Fri Sep 22 18:50:31 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000/eabi.h (ASM_OUTPUT_INT): Test for whether the integer
+	being output is also a constant so &sym - &sym2 is not fixed up.
+
+Fri Sep 22 18:49:07 1995  Peter Flass  (FLASS@LBDRSCS.BITNET)
+
+	* i370.md (cmpsi): Add missing constraints to operand 1.
+
+Fri Sep 22 18:27:33 1995  Torbjorn Granlund  <tege@matematik.su.se>
+
+	* i386.h (CONST_OK_FOR_LETTER_P): Make `N' match range 0..255
+	for `outb' instruction.
+
+	* pyr.h (PRINT_OPERAND): Handle code `R' for REG.
+        * longlong.h (pyr umul_ppmm): Use it.
+
+Fri Sep 22 18:24:38 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-parse.in (enumlist): Propagate error_mark_node.
+
+	* c-aux-info.c (gen_type): Handle ERROR_MARK.
+
+	* alpha.md (movdi): Avoid memory sharing problem when in reload.
+
+Wed Sep 20 14:27:09 1995  Peter Flass <flass@lbdrscs.bitnet>
+
+        * mvs.h (FUNCTION_PROLOGUE): Maintain savearea forward chain
+	per MVS standards.
+
+Wed Sep 20 14:20:52 1995  Torbjorn Granlund  <tege@matematik.su.se>
+
+        * pyr.md (cmphi recognizer): Make condition match constraints.
+	(cmpqi recognizer): Likewise.
+
+Wed Sep 20 12:42:59 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* integrate.c (expand_inline_function): Do copy something setting
+	the result register if it is setting it to itself and has a REG_NOTE.
+
+	* integrate.c (set_decl_{origin_self,abstract_flags}): Treat
+	a DECL_INITIAL of error_mark_node the same as one of NULL_TREE.
+
+Tue Sep 19 19:30:18 1995  Dave Pitts  (dpitts@nyx.cs.du.edu)
+
+	* i370.md (cmphi, movhi, movstricthi, extendhisi2): Correct generation
+	of short integer (Halfword)
+	({add,sub,mul,and,ior,xor}hi3): Likewise.
+	* i370/mvs.h (MACROPROLOGUE): New macro.
+	(FUNCTION_{PRO,EPI}LOGUE): Added ability to use IBM supplied function
+	prologue macros.
+	(FUNCTION_PROLOGUE): Corrected function "in-line" prologue alignment
+	problems.
+	(ASM_DECLARE_FUNCTION_NAME): Changed alignment to FullWord.
+	(ASM_OUTPUT_{SHORT,ASCII}): Reworked.
+
+Tue Sep 19 19:22:15 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* winnt/win-nt.h: Renamed from winnt/win-nt.h.
+	(LINK_SPEC): Add -noinhibit-exec.
+	* {alpha,i386}/win-nt.h: Renamed from {alpha,i386}/winnt.h.
+	Include winnt/win-nt.h, not winnt/winnt.h.
+	* winnt/oldnames.c: New file.
+	* winnt/headers.mak (fixinc-nt.obj): Fix typo.
+	* winnt/config-nt.bat: Change winnt.h to win-nt.h.
+	* i386/config-nt.sed: Likewise.
+	* configure ({alpha,i386}-*-winnt3*): Likewise.
+
+Mon Sep 18 14:00:45 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)
+
+	* 1750a.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+	Added R2 and R0_1.
+	(REG_CLASS_FROM_LETTER): New letters 't' and 'z'.
+	(EXTRA_CONSTRAINT): New letter 'Q'.
+
+Sun Sep 17 12:39:22 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* pa.h (ASM_DECLARE_FUNCTION_NAME): If a parameter's type
+	has TYPE_NEEDS_CONSTRUCTING on, then it's passed by invisible
+	reference.
+
+Sat Sep 16 17:42:33 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* loop.c (find_and_verify_loops): Fix error in last change.
+
+Sat Sep 16 08:38:22 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.h (GO_IF_LEGITIMATE_ADDRESS): Disallow SYMBOL_REF for
+	current function.
+
+	* cse.c (recorded_label_ref): New variable.
+	(insert): Set instead of cse_jumps_altered.
+	(cse_main): Initialize it and return 1 if nonzero at end.
+
+Fri Sep 15 18:26:49 1995  Torbjorn Granlund  (tege@matematik.su.se)
+
+	* fold-const (div_and_round_double): Change `carry', `quo_est',
+	and `scale' from plain int to `unsigned HOST_WIDE_INT'.
+
+Fri Sep 15 18:24:24 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cse.c (insert): Set cse_jumps_altered when inserting a LABEL_REF.
+
+Fri Sep 15 17:29:41 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)
+
+	* 1750a.c (b_mode_operand): New function.
+	(print_operand): Added code 'Q'.
+
+Fri Sep 15 17:27:23 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* loop.c (find_and_verify_loops): When moving exit blocks out of
+	the loop, verify that the target of P is within the current loop.
+
+	* reorg.c (fill_slots_from_thread): Update thread if it is split.
+
+Fri Sep 15 17:06:51 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (decrement_and_branchsi and related insns): Don't use
+	a "2" to select a register preference for operand 1 if operand 2
+	hasn't been seen yet.
+	Add appropriate clobbers in decrement_and_branchsi.
+	Add patterns where the pc/label_ref are interchanged.
+
+	* Makefile.in (gnucompare, stmp-multilib-sub): Remove extra . in
+	front of $(objext).
+
+	* rs6000.c (output_toc): Align DF constants if STRICT_ALIGNMENT.
+
+	* config/fp-bit.c (FLO_union_type): Add words field if double
+	precision to get at the separate words.
+  	(FLO_union_type, pack_d, unpack_d): Use FLOAT_BIT_ORDER_MISMATCH
+	to determine when the bitfields need to be reversed, and
+	FLOAT_WORD_ORDER_MISMATCH when the words need to be reversed.
+
+Fri Sep 15 16:41:43 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* reorg.c (fill_simple_delay_slots): When filling insn's delay slot
+	with JUMP_INSN, don't assume it immediately follows insn on
+	unfilled slots obstack.
+
+	* Makefile.in (caller-save.o): Depend on insn-codes.h.
+
+Thu Sep 14 17:41:49 1995  Jim Meyering  (meyering@comco.com)
+
+	* protoize.c (do_cleaning): Don't blank out backslash-escaped
+	newlines in double quoted strings.
+
+Thu Sep 14 16:20:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (gen_lowpart): If gen_lowpart_common fails
+	for a REG, load it into a pseudo and try again.
+
+Thu Sep 14 14:15:16 1995  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* m88k.h (VERSION_INFO1): Removed BCS reference.
+	* m88k/dgux.h (ASM_SPEC, *_LEGEND):
+	Added -mno-legend option. -mstandard no longer implies that legend
+	legend information not be produced.
+	(LINK_SPEC): Removed -z text
+
+Tue Sep 12 19:05:39 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* cccp.c (is_system_include): Call skip_redundant_dir_prefix.
+
+Tue Sep 12 18:58:21 1995  John Carr  <jfc@mit.edu>
+
+	* sparc.md: Change `*return "string"' to "string" in patterns.
+
+Tue Sep 12 18:48:47 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+	* function.c (put_var_into_stack): For CONCAT case, order of
+	placement depends on FRAME_GROWS_DOWNWARD, not STACK_GROWS_DOWNWARD.
+
+Tue Sep 12 18:34:10 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* va-sparc.h (v9 varargs va_start): Handle __builtin_va_alist
+	being stack argument.
+
+	* sparc.h (STATIC_CHAIN_REGNUM): Use %g5 for sparc64.
+	(TRAMPOLINE_TEMPLATE): Rewrite for sparc64.
+	(TRAMPOLINE_SIZE): Is 40 for sparc64.
+	* sparc.c (sparc64_initialize_trampoline): Rewrite.
+
+Tue Sep 12 18:30:22 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* cp/Make-lang.in (cc1plus) : Removed unnecessary $(exeext).
+
+	* configure: Added code to handle gcc_extra_objs.
+	(alpha-winnt): Changed xmake_file to winnt/x-winnt.
+	Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
+	(i386-winnt): Changed xmake_file to winnt/x-winnt.
+	Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe.
+	* configure.bat: Changed to used common winnt/config-nt.bat.
+	* Makefile.in: Changed various .o's to .$(objext)'s
+	(specs): Removed unnecessary $(exeext).
+	(EXTRA_GCC_OBJS): New variable.
+	(clean): Removed $(LIB2FUNCS_EXTRA)
+	* objc/Makefile: Changed archive command for libobjc.a to use $?
+	for objects.
+
+	* alpha/x-winnt, i386/x-winnt: Deleted.
+	* alpha/config-nt.bat, i386/config-nt.bat: Deleted.
+	* alpha/config-nt.sed, i386/config-nt.sed: Moved architecture
+	independent commands to config/winnt/config-nt.sed.
+	* alpha/winnt.h: Added -D_M_ALPHA to CPP_PREDEFINES.
+	Changed LIB_SPEC to be compatible with Gnu ld for NT.
+	* i386/winnt.h: Added -D_cdecl=__attribute__((__cdecl__)).
+	Change LIB_SPEC to be compatible with Gnu ld for NT.
+	* winnt/config-nt.bat, winnt/config-nt.sed: New files.
+	* winnt/dirent.{c,h}, winnt/fixinc-nt.c, winnt/headers.mak: New files.
+	* winnt/ld.c: Changed precedence of libraries to look for
+	libfoo.lib before libfoo.a
+	Changed to work like Gnu ld for NT.
+	* winnt/libgcc.mak, winnt/mklibgcc.c: New files.
+	* winnt/spawnv.c: Changed spawn function entry points to __spawn*
+	instead of spawn*.
+	* winnt/x-winnt: New file.
+	* fixinc-nt.sed: New file.
+	* fixinc.winnt: Rewritten to use fixinc-nt.sed.
+
+	* gcc.c: Remove fix_argv kludge.
+
+Tue Sep 12 13:24:17 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.md (power subdi3 pattern): Fix pattern to have 5
+	alternatives, and correct 4th alternative to match reality.
+
+	* rs6000.md (adddi3, subdi3, negdi2): Add constraints so output reg
+	does not overlap one reg with one of the inputs.
+
+Tue Sep 12 13:09:48 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.c (output_scc_di): Fixed for non-SGS_CMP_ORDER syntax.
+
+	* collect2.c (scan_libraries): Cast lsyms' alloca to LDSYM*.
+
+Tue Sep 12 13:04:12 1995  Niklas Hallqvist  (niklas@appli.se)
+
+	* stmt.c (expand_start_stmt_expr): Do stack adjust in right place.
+
+	* stdarg.h (__gnuc_va_list): Make char * for NetBSD.
+
+Tue Sep 12 12:44:46 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* ginclude/va-ppc.h (va_arg): Reorganize to avoid BIND_EXPRs of
+ 	aggregate or array type.
+
+Tue Sep 12 12:42:27 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Fix HP/UX <sys/file.h> for g++ -pedantic-errors.
+
+	* fixincludes (curses.h): typedef bool need not take up entire line.
+
+Mon Sep 11 19:05:42 1995  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* c-typeck.c (digest_init): Don't recursively call digest_init
+	when in traditional mode if the type is invalid.
+
+Mon Sep 11 18:58:26 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)
+
+	* 1750a.md: Added DLB/DSTB peepholes for HFmode.
+	Corrected mnemonics for HImode DSTB peephole.
+
+Mon Sep 11 18:48:06 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* config/fp-bit.c (FLO_union_type): Remove bitfields to set sign,
+	exponent, and mantissa, and add value_raw field, which is an
+	integer of the appropriate type.  If _DEBUG_BITFLOAT is defined,
+	provide little and big endian bitfields.  If the macro
+	FLOAT_BIT_ORDER_MISMATCH is defined, use explicit bitfields.
+	(pack_d, unpack_d): Switch to use value_raw and explicit shifts
+	and masks so that we don't have to worry about whether the target
+	is big or little endian unless FLOAT_BIT_ORDER_MISMATCH is
+	defined.  If single precision floating point, rename to pack_f and
+	unpack_f, so there is no confusion in the debugger.
+
+	* rs6000.h (rs6000_abi): New enumeration to describe which
+	ABI we're conforming to.
+	(rs6000_stack): Use abi enum, not AIX vs. V.4 boolean.
+	(ASM_OUTPUT_OPTIONS): New macro to print output options in .s file.
+	(ASM_FILE_START): Use it.
+	(output_options,rs6000_float_const): Declare new functions.
+
+	* rs6000.c (output_option{,s}): New functions to write -f, -m,
+	and -W options to the asm file.
+	(rs6000_float_const): New function to generate floating point
+	constants portably used in signed,unsigned -> double conversions.
+	(rs6000_stack_info,debug_stack_info): Use ABI enumeration instead
+	of AIX vs. V.4 boolean.
+
+	* rs6000.md (float{,uns}sidf2): Call rs6000_float_const to
+	portably build the proper floating point constant for conversions.
+	(movdi): Properly handle movdi of CONST_{INT,DOUBLE} on little
+	endian systems.
+
+	* rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Define to be 0/1
+	depending on the target endianess.
+	(ASM_FILE_START): Define, to call output_options in addition to
+	output_file_directive.
+	(TRAMPOLINE_SIZE): Correct size to match code.
+
+	* rs6000/eabi{,le}sim.h (CPP_SPEC): Define the correct endian
+	macro for varargs/stdargs use.
+
+Mon Sep 11 18:41:58 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* c-decl.c (redeclaration_error_message): For TYPE_DECLs, return 0
+	if TYPE_MAIN_VARIANT of old type is same as new type.
+
+Mon Sep 11 17:39:35 1995  Rob Ryan (robr@cmu.edu)
+
+	* xcoffout.c (xcoff_inlining): New variable, used in place of
+	xcoff_current_include_file when determining whether to use
+	absolute line numbers.
+	(xcoffout_source_file): Switched to using xcoff_inlining to
+	determine when to emit .bi/.ei directives.
+
+Mon Sep 11 16:55:06 1995  Torbjorn Granlund  <tege@matematik.su.se>
+
+	* m68k.md (cmpdi): Change patterns to allocate scratch register at
+	RTL generation time.
+	(tstdi): Likewise.
+
+Sun Sep  3 09:03:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (size_binop): Don't pass 1 to NOTRUNC.
+
+Thu Aug 31 19:27:00 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* libgcc2.c: Include longlong.h.
+	[L_udivdi3 || L_divdi3 || L_umoddi3 || L_moddi3] (__udivmoddi4):
+	Define this `static inline' when defining these, so they all
+	remain leaf functions.
+
+Thu Aug 31 18:38:21 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* c-parse.in (ends_in_label): New %union member.
+	(stmts, stmt_or_label): Use new member to avoid lexical lookahead hack.
+	(lineno_stmt_or_labels): New rule.
+	(lineno_stmt_or_label, stmt_or_label): Yield nonzero if it ends
+	in a label.
+
+Thu Aug 31 08:31:40 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cse.c (canon_hash, CONST_DOUBLE): Hash integer and real
+	differently.
+	* varasm.c (struct rtx_const): Add new field DI to union.
+	(decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE
+	representing an integer.
+
+	* va-alpha.h (__gnuc_va_list): Make __offset an int.
+	* alpha.c (alpha_builtin_saveregs): Properly compute address
+	of __offset both both OSF and WINNT.
+
+	* xm-alpha.h (sbrk): Don't define here.
+	* gmon.c (sbrk): Define here for __alpha.
+	* toplev.c (sbrk): Likewise.
+	* mips-tfile.c (malloc, calloc, realloc): Don't define for anybody.
+
+	* reload.c (push_reload): Add case for output reload of a SUBREG
+	of a hard reg when output mode is invalid for that mode.
+	In both that case and existing case for in, don't remove SUBREG.
+	* reload1.c (emit_reload_insns): Emit RELOAD_OTHER output reloads last.
+
+Tue Aug 29 19:16:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-common.c (decl_attribute, case A_PACKED): Check is_type first.
+	(decl_attribute, case A_T_UNION): Likewise.
+	Don't access TYPE_FIELDS if DECL is zero.
+	* c-decl.c (finish_struct): If transparent_union attribute
+	specified, validate it once we finish laying the union out.
+
+Mon Aug 28 05:58:03 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* arm.c (arm_gen_movstrqi): Remove unused variable const_sxteen.
+
+	* bi-lexer.c (buffer, inpoint): Remove unused variables.
+
+	* i370/mvs.h, i370/mvs370.c (mvs_label_emitted): Renamed
+	from mvs_label_emited.
+
+	* msdos/configur.bat: Fix misspelling of `maintainer-clean'.
+
+Sat Aug 26 06:57:17 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* reload.c (push_secondary_reload): If X is a paradoxical SUBREG,
+	get mode and thing to reload from inside.
+	* reload1.c (emit_reload_insns): Do nothing for SUBREG whose
+	operand is unused subsequently.
+	In secondary reload case, if paradoxical SUBREG for output, reload
+	thing inside SUBREG, just like gen_reload.
+
+Fri Aug 25 19:26:53 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* c-typeck.c (set_init_label): Don't die if an entire
+	brace-pair level is superfluous in the containing level.
+
+Fri Aug 25 19:22:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* configure (powerpc{,le}-eabisim): Add support for a new target
+	that works under the PSIM simulator.
+	* rs6000/eabisim.h, rs6000/eabilesim.h, rs6000/t-eabisim: New files.
+
+	* rs6000/eabi.h (STRICT_ALIGNMENT): If little endian, always set
+	strict alignment to 1.
+
+Fri Aug 25 19:22:23 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md ({add,sub,mulsi}di3): Support both endian possibilities.
+	(negdi2): Likewise.
+
+Fri Aug 25 19:10:41 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)
+
+	* 1750a.md: Added peephole definitions for Load/Store Base insns
+	and eliminating redundant load in an equivalent store/load sequence.
+
+Fri Aug 25 18:33:27 1995  Craig Burley  (burley@gnu.ai.mit.edu)
+
+	* toplev.c (report_error_function): Don't attempt to use input
+	file stack to identify nesting of #include's if file name oflocation
+	diagnosed is not same as input_filename.
+
+Fri Aug 25 07:31:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* integrate.c (output_inline_function): Switch to function obstack.
+
+Mon Aug 21 13:29:54 1995  J"orn Rennecke (amylaar@meolyon.hanse.de)
+
+	* i386.c (arithmetic_comparison_operator): New function.
+	(print_operand): Take into account that overflow flag is not
+	set the same as after a compare instruction.
+	* i386.md (decrement_and_branch_until_zero): Use
+	arithmetic_comparison_operator to decide if there is comparison
+	suitable to be expressed by condition code from an arithmetic op.
+
+Mon Aug 21 13:26:13 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (adddi3, subdi3): "&" added to clobber's constraints.
+
+Mon Aug 21 12:11:14 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* t-sparclite (MULTILIB_*, LIBGCC, INSTALL_LIBGCC): Define.
+
+	* sh.md (movdi-1, movdf-1): Make conditional on reload_completed,
+	delete conditions checking for pseudo registers and Q addresses.
+	Add code to handle SUBREG.
+
+	* local-alloc.c (wipe_dead_reg): Make a register mentioned in a
+	REG_INC note die after the instruction.
+
+	* m68k.md: For all dbra pattern, change constraint from 'g' to 'd*g'.
+
+	* Makefile.in: (underscore.c): Rename rule to stamp-under, and
+	touch stamp-under at the end.  Add new rule for underscore.c that
+	depends on stamp-under.
+
+	* sh.c (reg_unused_after): For a SEQUENCE, make sure all insns are
+	safe before returning 1.
+
+	* sh.h (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN): Define.
+
+	* sh.c (output_stack_adjust): Add new argument reg.  Use it instead
+	of stack_pointer_rtx.
+	(sh_expand_prologue, sh_expand_epilogue): Pass new argument to
+	output_stack_adjust.
+
+Sat Aug 19 17:34:15 1995  Jim Wilson  <wilson@phydeaux.cygnus.com>
+
+	* sparc/gmon-sol2.c (_mcount): Define.
+	* sparc/sol2.h (STARTFILE_SPEC, ENDFILE_SPEC): Delete superfluous
+	-pg tests.
+	(LINK_SPEC): Add libp directories to -Y when -pg.
+
+	* unroll.c (calculate_giv_inc): Handle increment computed by ASHIFT.
+
+Sat Aug 19 17:28:56 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (subdi3): Should not be commutative.
+	(one_cmpldi2): Fixed typo with register operand.
+
+Sat Aug 19 17:20:43 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.c (output_prolog): Fixup code to set stack pointer
+	if stack size > 32k.
+	* rs6000.md (sync_isync): Renamed from sync; added an isync insn
+	after the sync to properly deal with PowerPC's with split I/D caches.
+	* sysv4.h (INITIALIZE_TRAMPOLINE): Sync function now named sync_isync.
+
+Sat Aug 19 17:07:09 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* h8300.h (STATIC_CHAIN_REGNUM): Use r3.
+	(REGISTER_NAMES): Print r7 as sp.
+	(ADDITIONAL_REGISTER_NAMES): Recognize r7.
+	(ASM_OUTPUT_ALIGN): Alignment is power of 2.
+	* h8300.md (fancy_btst,fancy_btst1): Branch target must be
+	operand 0 for length attribute to work.
+
+Sat Aug 19 16:43:11 1995  Paul Franklin  <paul@cs.washington.edu>
+
+	* assert.h: Declare __eprintf with attribute noreturn.
+
+Sat Aug 19 16:40:12 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* stddef.h: Don't define wchar_t if __cplusplus is defined.
+
+Tue Aug 15 18:01:01 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (warning_with_line): Fix typo in declaration when
+	!HAVE_VPRINTF and defined (__STDC__).
+
+Tue Aug 15 17:57:54 1995  Stephen L Moshier <moshier@world.std.com>
+
+	* real.c (ediv, emul): Set sign bit of IEEE -0.0 result.
+
+Tue Aug 15 17:49:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (safe_from_p): Only safe if EXP is variable-size and X
+	is BLKmode.
+
+	* stmt.c (fixup_gotos): When some fixups done, reset to point
+	to next instead of zeroing TREE_VALUE, which may be shared.
+
+Mon Aug 14 09:15:45 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* m68k/m68kemb.h (STARTFILE_SPEC): Define as empty.
+
+Mon Aug 14 09:08:57 1995  Pat Rankin  <rankin@eql.caltech.edu>
+
+	* vax.c (vms_check_external): Update `pending_head' properly
+	when the first list element is removed.
+
+Mon Aug 14 09:01:32 1995  Jeffrey A. Law  <law@adder.cygnus.com>
+
+	* pa.md (call expanders): Emit a blockage insn after restoring
+	%r19 when generating PIC.
+
+Sun Aug 13 21:58:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* toplev.c (main): Change text of unsupported -g option warning.
+
+Sun Aug 13 21:47:57 1995  Andrew McCallum  <mccallum@graphite.cs.rochester.edu>
+
+	* objc/selector.c (sel_get_any_typed_uid): New function.
+	* objc/objc-api.h (sel_get_any_typed_uid): Declare new function.
+
+Sun Aug 13 21:43:17 1995  John Carr  <jfc@mit.edu>
+
+	* c-typeck.c (c_expand_asm_operands): Check for read-only output
+	operand where the variable is read-only but the type is not.
+
+Sun Aug 13 21:16:12 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c (direct_return): Epilogue required if CR saved.
+
+Sun Aug 13 19:09:25 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* configure (hppa1.?-hp-hpux10): Recognize and treat just like hpux9.
+
+Sun Aug 13 19:07:23 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* i960.md (movdi matchers): Fix src/dest order in unaligned
+	reg->reg case.
+
+Sun Aug 13 18:49:01 1995  DJ Delorie  <dj@delorie.com>
+
+	* i386/xm-dos.h (HAVE_STRERROR): New definition.
+
+	* msdos/configur.bat: Add missing carriage return.
+
+Sun Aug 13 18:40:55 1995  Andrew Cagney  <cagney@highland.com.au>
+
+	* Makefile.in (USER_H): Add va-ppc.h.
+
+Sun Aug 13 18:36:17 1995  M. Warner Losh  <imp@village.org>
+
+	* stmt.c (expand_asm_operands): Type '0'..'4' operands may
+	allow regs, so move them to the default case.
+
+Sun Aug 13 18:32:35 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (warning_with_line): New function.
+	(trigraph_pcp): Use it, to avoid reporting line number.
+	(vwarning_with_line): Don't report line number if zero.
+
+Sun Aug 13 18:23:08 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* toplev.c (vmessage): Support four arguments.
+
+Sun Aug 13 18:19:51 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* ginclude/stdarg.h: Add ppc svr4 calling sequence support.
+	* ginclude/varargs.h: Likewise.
+	* ginclude/va-ppc.h: New file.
+
+Sun Aug 13 18:05:20 1995  Michael Gschwind  <mike@donoussa.vlsivie.tuwien.ac.at>
+
+	* configure (pdp-*-*): Add support for t-pdp11.
+	* t-pdp11: New file.
+	* Makefile.in (LIBGCC2_CFLAGS): Add TARGET_LIBGCC2_CFLAGS.
+
+Sun Aug 13 14:50:58 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* final.c (final_start_function): Always call sdbout_begin_function
+	and xcoffout_begin_function, even if no line number info.
+
+	* mips/abi64.h (SETUP_INCOMING_VARARGS): In if statement, only
+	subtract one for stdarg.  Don't subtract PRETEND_SIZE from
+	argument pointer when calculating stack address.
+	* mips.h (INITIAL_ELIMINATION_OFFSET): For 64 bit ABI, subtract
+	current_function_pretend_args_size when converting from argument
+	pointer.
+	* va-mips.h (va_start): For stdarg, delete separate define for
+	64 bit ABI.  For varargs, don't subtract 64, and only add -8 when
+	all argument registers are used.
+
+	* gcc.c (main): When concat gcc_exec_prefix and
+	standard_startfile_prefix, put machine_suffix in the middle.
+
+	* iris6.h (INIT_SECTION_ASM_OP): Don't define.
+	(LD_INIT_SWITCH, LD_FINI_SWITCH, HAS_INIT_SECTION): Don't undef.
+	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Ifdef out.
+	* configure (mips-sgi-irix6, mips-sgi-irix5cross64): Define
+	use_collect2 to yes.
+
+	* combine.c (move_deaths): When have a multi-reg hard register,
+	if don't find a note, then recur for each individual hard register.
+
+	* cse.c (set_nonvarying_address_components): Handle addresses
+	which are the sum of two constant pseudo regs.
+	(cse_rtx_addr_varies_p): Likewise.
+
+	* Makefile.in (gfloat.h): Add a - before the rm command.
+
+	* loop.c (find_and_verify_loops): Set dest_loop only if
+	JUMP_LABEL (insn) is non-zero.
+
+Mon Jul 31 14:31:53 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Avoid clobbering VxWorks drv/netif/if_med.h file.
+
+Sat Jul 29 16:21:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* collect2.c: (XCOFF_SCAN_LIBS): Define if OBJECT_FORMAT_COFF and
+	XCOFF_DEBUGGING_FORMAT.
+	(SCAN_LIBRARIES): Also define if XCOFF_SCAN_LIBS.
+
+Sat Jul 29 16:19:42 1995  Stuart D. Gathman  <stuart@bmsi.com>
+
+	* collect2.c (scan_libraries): Implement for AIX.
+
+Sat Jul 29 09:59:33 1995  Michael Gschwind  <mike@lanai.vlsivie.tuwien.ac.at>
+
+	* configure: (pdp11-*-bsd) New target.
+	* 2bsd.h: New file.
+
+	* pdp11.c (output_move_double): Handle CONST_INT parameters properly.
+	* pdp11.h (RTX_COSTS): Fill in missing default values.
+	* pdp11.md (truncdfsf2, extendsfdf2, floatsidf2, fix_truncdfsi2):
+	Allow register parameters, required by gcc to generate correct code.
+	* xm-pdp11.h: Include tm.h.
+
+Sat Jul 29 09:55:17 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* configure (m68k-*-linux*aout*, m68k-*-linux*): New targets.
+	* m68k/linux-aout.h, m68k/linux.h, m68k/t-linux, m68k/xm-linux.h: New.
+	* m68k.md [USE_GAS]: Output `jbsr' instead of `jsr' for normal
+	function calls and `bsr.l' instead of `bsr' for pic function calls.
+
+Sat Jul 29 09:44:13 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.h (CAN_DEBUG_WITHOUT_FP): Comment out.
+
+	* reload.c (find_reloads_address_1, case PLUS): When handle SUBREG,
+	add SUBREG_WORD offset to SUBREG_REG register number.
+	(find_reloads_address_1, case SUBREG): If a pseudo register inside
+	a SUBREG is larger than the class, then reload the entire SUBREG.
+	* sh.h (SUBREG_OK_FOR_INDEX_P): New macro.
+	(INDEX_REGISTER_RTX_P): Use it.
+
+Sat Jul 29 09:33:19 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* mips/netbsd.h (CPP_SPEC): Fix typo.
+
+	* configure (a29k-*-vxworks*): Define extra_parts for crt{begin,end}.o.
+	* t-a29k, t-a29kbase, t-vx29k ({,CROSS_}LIBGCC1): Define as empty.
+
+Sat Jul 29 09:15:17 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
+
+	* pa/lib2funcs.asm (gcc_plt_call): Rewrite to avoid the need
+	for being called by _sr4export.  Inline expand $$dyncall to
+ 	avoid the need for long-call and PIC support.
+
+Sat Jul 29 07:30:04 1995  Oliver Kellogg  (Oliver.Kellogg@space.otn.dasa.de)
+
+	* ms1750.inc (ucim.m, ucr.m, uc.m): New.
+	* 1750a.md (cmpqi): Account for unsigned comparisons.
+	(rotrqi3, rotrhi3): Reworked.
+	* 1750a.c (notice_update_cc): INCM and DECM set condition codes.
+	(unsigned_comparison_operator, next_cc_user_is_unsigned): New fcns.
+	* 1750a.h (FUNCTION_EPILOGUE): Local variables freed from SP, not FP.
+	(ASM_OUTPUT_BYTE): Make distinct from ASM_OUTPUT_CHAR.
+	(ASM_OUTPUT_CONSTRUCTOR): Add FILE arg to assemble_name.
+
+Fri Jul 28 09:40:07 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
+
+        * pa.h (DO_GLOBAL_DTORS_BODY): Use an asm statement to keep optimizer
+	from deleting an assignment it believes dead.
+
+Fri Jul 28 08:47:51 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* unroll.c (unroll_loop): When preconditioning, output code to
+	execute loop once if initial value is greater than or equal to final
+	value.
+
+	* configure (lang_specs_files, lang_options_files): Add $srcdir to
+	file names when adding them to these variables.
+
+	* c-typeck.c (pointer_int_sum): Don't distribute if intop is unsigned
+	and not the same size as ptrop.
+
+	* function.c (assign_stack_temp): When split a slot, set base_offset
+	and full_size in the newly created slot.
+	(combine_temp_slots): Update full_size when slots are combined.
+
+	* sh.c (reg_unused_after): New function.
+	* sh.md (define_peephole): Add peepholes to use r0+rN addressing mode
+	for some address reloads.
+
+	* final.c (final_start_function): If SDB_DEBUG, call
+	sdbout_begin_function.  If XCOFF_DEBUG, call xcoffout_begin_function
+	instead of xcoffout_output_first_source_line.
+	(final_scan_insn): Don't call sdbout_begin_function or
+	xcoffout_begin_function.
+	* xcoffout.c (xcoffout_output_first_source_line): Delete.
+	(xcoffout_begin_function): Call dbxout_parms and
+	ASM_OUTPUT_SOURCE_LINE.
+
+	* va-mips.h: Change every occurance of #if __mips>=3 to
+	#ifdef __mips64.
+	* mips/abi64.h (CPP_SPEC): Output -D__mips64 when -mips3, or -mips4,
+	or -mgp64.  Output -U__mips64 when -mgp32.
+	* mips/dec-bsd.h, mips/elf64.h, mips/iris3.h: Likewise.
+	* mips/iris5.h, mips/mips.h, mips/netbsd.h, mips/osfrose.h: Likewise.
+
+	* i960.c (i960_function_epilogue): Don't clear g14 for functions with
+	an argument block.
+	(i960_output_reg_insn): Likewise.
+	(i960_output_call_insn): Clear g14 for functions wtih an argument
+	block.
+
+Fri Jul 28 08:43:52 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* i960.c (i960_arg_size_and_align): Correct alignment of XFmode
+	values in library calls.
+	* i960.md (movdi matchers): Support odd numbered regs.
+
+Fri Jul 28 08:37:25 1995  Michael Gschwind  <mike@lanai.vlsivie.tuwien.ac.at>
+
+	* pdp11.md (divhi3, modhi3, divmodhi4): Rewrite.
+
+Wed Jul 26 10:15:52 1995  Hallvard B Furuseth  (h.b.furuseth@usit.uio.no)
+
+	* collect2.c (end_file): Fix typo in error message text.
+
+Wed Jul 26 09:22:22 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* xm-pa.h (USE_C_ALLOCA): Always define.
+	* xm-pahpux.h (USE_C_ALLOCA): Likewise.
+
+	* x-pa (CC): Remove useless definition.
+	* xm-pa.h (HAVE_STRERROR): Define.
+	(__BSD_NET2__): Define.
+
+Wed Jul 26 09:10:25 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* expr.c (preexpand_calls): Don't look past a CLEANUP_POINT_EXPR.
+
+Wed Jul 26 08:43:42 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* cse.c (cse_insn): When do special handling for (set REG0 REG1),
+	must delete REG_EQUAL note from insn if it mentions REG0.
+
+	* loop.c (find_and_verify_loops): When moving blocks of code, verify
+	that the just destination is not in an inner nested loop.
+	(mark_loop_jump): Don't mark label as loop exit if it jumps to
+	an inner nested loop.
+
+Wed Jul 26 08:40:31 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (do_include, read_name_map): Omit leading "./" and
+	trailing "/" when it makes sense.
+	(skip_redundant_dir_prefix): New function.
+
+Wed Jul 26 08:36:41 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* stmt.c (emit_nop): Do not emit a nop if there is a single
+	insn before a label or at the start of a function.
+
+Wed Jul 26 08:21:21 1995  Doug Evans  <dje@cygnus.com>
+
+	* Makefile.in (gfloat.h): Delete previous copy before updating.
+
+Wed Jul 26 08:18:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* Makefile.in (STAGESTUFF): Add stamp-crtS.
+	(crtbeginS.o, crtendS.o, stamp-crtS): New rules; just like
+	crtbegin.o et al, but compiled using -fPIC.
+	* configure (*-*-gnu*): Add crtbeginS.o and crtendS.o to $extra_parts.
+
+Wed Jul 26 08:11:52 1995  Michael Gschwind  <mike@java.vlsivie.tuwien.ac.at>
+
+	* pdp11.md: Fixed typos ('bhos' -> 'bhis').
+
+Wed Jul 26 08:05:41 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* hp320.h, m68k.h, m68kv4.h (LEGITIMATE_PIC_OPERAND_P): Reject
+	CONST_DOUBLE with MEM with invalid pic address.
+	* reload1.c (real.h): Include it.
+	* Makefile.in (reload1.o): Depends on real.h.
+
+Wed Jul 26 07:58:22 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* gcc.c (MULTILIB_DIRS): Provide default if not defined.
+	(multilib_defaults): New static variable.
+	(default_arg): New static function.
+	(set_multilib_dir): Ignore default arguments.
+	(print_multilib_info): Ignore entries which use default arguments.
+
+Tue Jul 25 10:06:09 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (allocate_stack): Don't copy the LR register to
+	the new stack end.
+	* rs6000.c (rs6000_stack_info): Correctly store the LR in
+	the caller's frame, not the current frame, for V.4 calls.
+	* rs6000/eabi.asm (_save*, _rest*): Provide all mandated V.4 save
+	and restore functions, except for the save*_g functions which
+	return the GOT address.
+
+Fri Jul 21 14:24:25 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/eabi.h (__eabi): Load up r13 to be the small data
+	pointer, unless -mrelocatable.
+
+	* rs6000/aix3newas.h (LINK_SPEC): Import machine independent
+	functions if -mcpu=common.
+	* rs6000/milli.exp: Import file referenced in aix3newas.h.
+
+	* rs6000/eabi.asm (__eabi): Support for fixing up user initialized
+	pointers when -mrelocatable is used.
+	* rs6000/eabi.h (ASM_OUTPUT_INT): Record any pointers initialized
+	by the user if -mrelocatable, to be fixed up by __eabi.
+	(CONST_SECTION_ASM_OP): If -mrelocatable, put read-only stuff in .data,
+	not .rodata, to allow user initialized pointers to be updated by __eabi.
+
+	* rs6000.h (TARGET_SWITCHES): Add -mdebug-{stack,arg}.
+	(TARGET_{ELF,NO_TOC,TOC}): Add defaults for non system V.
+	(rs6000_stack): New structure to describe stack layout.
+	(RS6000_{REG_SAVE,SAVE_AREA,VARARGS_*}): New macros used to
+	support both AIX and V.4 calling sequences.
+	(FP_ARG_*, GP_ARG_*): Ditto.
+	(FP_SAVE_INLINE): Ditto.
+	(STARTING_FRAME_OFFSET): Modify to support both AIX and V.4
+	calling sequences.
+	(FIRST_PARM_OFFSET): Ditto.
+	(REG_PARM_STACK_SPACE): Ditto.
+	(STACK_POINTER_OFFSET): Ditto.
+	(FUNCTION_ARG_REGNO_P): Ditto.
+	({,INIT_}CUMULATIVE_ARGS): Ditto.
+	(LEGITIMATE_LO_SUM_ADDRESS_P): Ditto.
+	(FUNCTION_ARG{,_ADVANCE,PARTIAL_NREGS,PASS_BY_REFERENCE}): Ditto.
+	(SETUP_INCOMING_VARARGS): Ditto.
+	(EXPAND_BUILTIN_SAVEREGS): Ditto.
+	(CAN_ELIMINATE): Ditto.
+	(INITIAL_ELIMINATION_OFFSET): Ditto.
+	(LEGITIMATE_CONSTANT_POOL_{BASE,ADDRESS}_P): Ditto.
+	(GO_IF_{LEGITIMATE_ADDRESS,MODE_DEPENDENT_ADDRESS}): Ditto.
+	(LEGITIMIZE_ADDRESS): Ditto.
+	(CONST_COSTS): Ditto.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto.
+	(ASM_OUTPUT_REG_{PUSH,POP}): Use reg_names to print registers.
+	(function declarations): Add new rs6000.c function declarations,
+	and delete decls of deleted functions.
+	(SHIFT_COUNT_TRUNCATED): Parenthesize the expression.
+
+	* rs6000.c (init_cumulative_args): New function to support AIX
+	and V.4 calling sequences.
+	(function_arg{,_advance,partial_nregs,pass_by_reference}): Ditto.
+	(setup_incoming_varargs): Ditto.
+	(expand_builtin_saveregs): Ditto.
+	(rs6000_stack_info): Ditto.
+	(debug_stack_info): Ditto.
+	(direct_return): Changes to support AIX and V.4 calling sequences.
+	(first_reg_to_save): Ditto.
+	(svr4_traceback): Ditto.
+	(output_{prolog,epilog}): Ditto.
+	(print_operand): Use reg_names to print registers.  Add support
+	for V.4 HIGH/LO_SUM address modes.
+	(must_save_cr): Function deleted, in rewrite of AIX/V.4 calling
+	sequence support.
+	(rs6000_sa_size): Ditto.
+	(rs6000_pushes_stack): Ditto.
+	(output_toc): Add abort if no toc.
+
+	* rs6000.md (call insns): Add a new argument to flag a V.4
+	function needs to set bit 6 of the CR.
+	(elf_{low,high}): New V.4 functions to create addresses via HIGH
+	and LO_SUM patterns.
+	(movsi): Use elf_{low,high} if appropriate.
+	(mov{si,di}_update): Name these patterns for allocate_stack.
+	(allocate_stack): Support for V.4 stack layout.
+	(sync): New pattern for V.4 trampolines to issue the sync
+	instruction.
+
+	* rs6000/sysv4.h (TARGET_SWTICHES): Add -mcall-{aix,sysv}, and
+	-mprototype.  Remove separate flag bit for -mno-toc.
+	(SUBTARGET_OVERRIDE_OPTIONS): Don't test for -mno-toc.
+	(FP_ARG_*): Adjust for V.4 calling sequences.
+	(RS6000_*): Ditto.
+	(FP_SAVE_INLINE): Ditto.
+	(toc_section): Eliminate use of AIX style full TOC.
+	(TRAMPOLINE_{TEMPLATE,SIZE}): Redefine for V.4 support.
+	(INITIALIZE_TRAMPOLINE): Ditto.
+
+	* rs6000/eabi.h (CPP_SPEC): Define _CALL_SYSV or _CALL_AIX,
+	depending on whether -mcall-sysv or -mcall-aix was used.
+	* rs6000/eabile.h (CPP_SPEC): Ditto.
+	* rs6000/sysv4le.h (CPP_SPEC): Ditto.
+
+	* rs6000/t-eabigas (MULTILIB_{OPTIONS,DIRNAMES}): Delete no-toc
+	libraries, explicit big endian libraries.
+	* rs6000/t-ppcgas (MULTILIB_{OPTIONS,DIRNAMES}): Ditto.
+
+	* rs6000/t-eabiaix: New file for eabi, using -mcall-aix as the
+	default.
+	* rs6000/eabiaix.h: Ditto.
+
+	* rs6000/t-eabilegas: New file for eabi on little endian systems.
+	* rs6000/t-ppclegas: New file for V.4 on little endian systems.
+
+	* rs6000/t-rs6000 (MULTILIB_{OPTIONS,DIRNAMES}): Build libgcc.a
+	for -mcpu=common.
+
+	* configure (powerpc-*-eabiaix): New configuration for defaulting
+	to old-style AIX calling sequence.
+	(powerpcle*): Use new t-{eabi,ppc}legas files, to avoid building
+	explicit little endian multilib libraries.
+
+Fri Jul 21 13:23:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* toplev.c (main): Don't define sbrk #ifdef __alpha__.
+
+Tue Jul 18 19:23:44 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (do_include): Prefix -H output lines with spaces, not dots.
+	(output_dots): Remove.
+
+	* cccp.c (main): cplusplus_comments now defaults to 1.
+	But clear it if	-traditional or the new option -lang-c89 is given.
+	* gcc.c (default_compilers, cpp): Specify -lang-c89 if -ansi is given.
+	This turns off C++ comment recognition.
+
+Tue Jul 18 19:16:38 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* va-sparc.h (va_arg): Add support for 128 bit long double type.
+
+Tue Jul 18 19:11:18 1995  Jorn Rennecke  (amylaar@meolyon.hanse.de)
+
+	* c-common.c (decl_attributes, case A_ALIGNED): Handle is_type
+	case properly.
+
+Tue Jul 18 19:03:02 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold, case CONVERT_EXPR): Don't merge conversions
+	if outer is to handle a type with differing precision.
+
+Mon Jul 17 14:37:35 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* vax/vms.h (HAVE_ATEXIT): Define.
+	(DO_GLOBAL_CTORS_BODY): Don't call atexit; let __do_global_ctors do it.
+	* vax/xm-vms.h (HAVE_VPRINTF): Define.
+
+Mon Jul 17 06:41:19 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c ({unsigned,signed}_type): Handle intXX_type_node types.
+
+	* xm-alpha.h (sbrk): Add declaration.
+
+	* convert.c (convert_to_integer): If TYPE is a enumeral type or
+	if its precision is not the same as the size of its mode,
+	convert in two steps.
+
+	* m68k.md (tstdi, cmpdi): Use match_scratch, not match_operand.
+
+Fri Jul 14 19:23:42 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* c-decl.c (field_decl_cmp): Rewritten to make sure that a null
+	name always sorts low against other names.
+	* c-typeck.c (lookup_field): Change name comparison to match what
+	field_decl_cmp does.
+
+Fri Jul 14 18:46:24 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (movsi): Convert a CONST_DOUBLE into a CONST_INT of
+	the low part.
+
+Fri Jul 14 18:30:52 1995  Doug Evans  <dje@cygnus.com>
+
+	* toplev.c (main): Reword dwarf/c++/-g warning.
+
+Fri Jul 14 18:19:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.h (NO_DEFER_POP): Remove last change.
+	* expr.c (stor_expr): Force stack adjust before NO_DEFER_POP.
+	(expand_expr, case COND_EXPR): Likewise.
+	* stmt.c (expand_start_stmt_expr): Likewise.
+
+Fri Jul 14 07:58:35 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* function.c (struct temp_slot): New fields base_offset, full_size.
+	(assign_stack_temp): For !FRAME_GROWS_DOWNWARD, set p->size to size.
+	Set new fields base_offset and full_size.
+	(combine_temp_slots): Use new fields base_offset and full_size instead
+	of slot and size.
+
+	* loop.c (loop_number_exit_count): New global variable.
+	(loop_optimize): Allocate space for it.
+	(find_and_verify_loops, mark_loop_jump): Set it.
+	(strength_reduce, check_dbra_loop): Use loop_number_exit_count
+	instead of loop_number_exit_labels.
+	* loop.h (loop_number_exit_count): Declare it.
+	* unroll.c (find_splittable_{regs,givs}, final_[bg]iv_value): Use
+	loop_number_exit_count instead of loop_number_exit_labels.
+	(reg_dead_after_loop): Check loop_number_exit_count, and fail
+	if the count doesn't match loop_number_exit_labels.
+
+	* cse.c (cse_insn): Ifdef out code that pre-truncates src_folded.
+
+	* sparc.md (sethi_di_sp64): Return null string at end.
+
+	* function.h (struct function): Add stdarg field.
+	* function.c (current_function_stdarg): New global variable.
+	(push_function_context_to): Save it.
+	(pop_function_context_from): Restore it.
+	(assign_parms): Set it.
+	(init_function_start): Clear it.
+	* output.h (current_function_stdarg): Declare it.
+	* i960.md: Modify all patterns which handle stores to memory to also
+	check current_function_varargs and current_function_stdarg.
+
+	* reorg.c (fill_simple_delay_slots): When trying to take instruction
+	from after the branch, don't continue past target label.  Local
+	variables passed_label and target_uses are no longer necessary.
+
+Thu Jul 13 19:30:04 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* pa.c (output_bb): Fix error in long backwards branch with
+	nullified delay slot.
+
+Thu Jul 13 19:26:13 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* expmed.c (SHIFT_COUNT_TRUNCATED): Use #ifdef not #if.
+
+Mon Jul 10 20:16:44 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (rescan): Don't address outside of array when
+	preprocessing C++ comments.
+
+Mon Jul 10 20:05:46 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+	* rs6000.c (expand_block_move): Remove #if 0 conditionals
+	against using larger block moves.
+
+	* t-rs6000 (EXTRA_PARTS): Copy milli.exp to release dir.
+	(milli.exp): Copy to build dir from machine dependend dir.
+
+Mon Jul 10 20:03:29 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.md (matcher for (shiftable_op (cond-exp) (reg))): If
+	shiftable_op is minus, then subtract from zero when cond fails.
+
+Mon Jul 10 19:58:26 1995  John F. Carr <jfc@mit.edu>
+
+	* sparc.h (SELECT_SECTION): Use TREE_CODE_CLASS instead of directly
+	referencing tree_code_type.
+
+Mon Jul 10 19:54:31 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* protoize.c (reverse_def_dec_list): Delete const qualifiers from
+	local variables, and delete casts which were casting away const.
+
+Mon Jul 10 19:14:39 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-lang.c (finish_file): Add missing parm to start_function call.
+
+	* jump.c (jump_optimize): Pass outer_code arg to rtx_cost.
+
+	* varasm.c (assemble_name, bc_assemble_integer): Call
+	bc_emit_labelref with proper args.
+
+	* function.c (setjmp_args_warning): Remove bogus arg.
+
+Mon Jul 10 18:20:54 1995  Fergus Henderson  (fjh@cs.mu.oz.au)
+
+	* gcc.c (p{fatal,error}_with_name, perror_exec): Quote filename.
+
+Mon Jul 10 18:12:51 1995  Gran Uddeborg (uddeborg@carmen.se)
+
+	* i386/iscdbx.h (STARTFILE_SPEC): Handle -Xp.
+
+Wed Jul  5 02:42:17 1995  Per Bothner  (bothner@spiff.gnu.ai.mit.edu)
+
+	* cpphash.h (enum node_type):  Remove unneeded and non-standard
+	forward declaration.
+
+Sat Jul  1 20:15:39 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* mips/t-mips, mips/t-mips-gas (MULTILIB_*, LIBGCC, INSTALL_LIBGCC):
+	Delete.
+
+	* sparc/sol2.h (LINK_SPEC): Revert March 16 change.  Do not add -R
+	for each -L.
+
+	* collect2.c (libcompare): Verify that file name extensions are valid.
+	Put files with invalid extensions last in the sort.
+
+	* integrate.c (integrate_decl_tree): Set DECL_ABTRACT_ORIGIN before
+	pushdecl call for local variables.
+
+Sat Jul  1 08:13:38 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* cpplib.c (output_line_command): If not emitting #line directives
+	delay returning until after adjust_position has been called.
+
+	* arm.md (mov{si,sf,df}cc): Call gen_compare_reg to generate
+	the condition code register.
+
+Sat Jul  1 06:55:09 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (decode_field_reference): New parm PAND_MASK.
+	(unextend): New parm MASK.
+	(fold_truthop): Pass new parms to decode_field_reference and unextend.
+
+	* va-alpha.h (__va_tsize): Use __extension__ to avoid warning
+	on use of `long long'.
+
+	* expr.h (NO_DEFER_POP): Do any pending stack adjusts.
+
+	* recog.c (register_operand): Disallow subreg of reg not allowed to
+	change size.
+
+Thu Jun 29 05:51:57 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* pa.md (reload addsi3): New pattern to avoid reload lossage
+	with register eliminations.
+
+	* pa.c (output_cbranch): When checking for a jump to the given
+	insn's delay slot, handle the case where JUMP_LABEL for the
+	given insn does not point to the first label in a series of
+	labels.
+	(output_bb, output_dbra, output_movb): Likewise.
+
+Wed Jun 28 18:04:56 1995  Jeff Law  (law@snake.cs.utah.edu)
+
+	* pa.h (PIC_OFFEST_TABLE_REGNUM_SAVED): Define to %r4.
+	(CONDITIONAL_REGISTER_USAGE): Make it fixed when compiling
+	PIC code.
+	(INIT_EXPANDERS): Delete.
+	* pa.c (hppa_save_pic_table_rtx): Delete variable.
+	(hppa_expand_prologue): For PIC generation, copy the PIC
+	register into a fixed callee register at the end of the
+	prologue of non-leaf functions.
+	* pa.md (call expanders): Reload the PIC register from the
+	fixed callee saved register.  Don't try to save the PIC
+	register before the call.
+
+Wed Jun 28 18:01:14 1995  Stan Cox  (coxs@dg-rtp.dg.com)
+
+	* m88k/dguxbcs.h (ASM_SPEC): Removed -h flag.
+	* m88k/dgux.h (ASM_SPEC): Likewise.
+
+Wed Jun 28 17:01:58 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.c (processor_target_table): Remove CPU name synonyms.
+	* rs6000.h (CPP_SPEC): Likewise.
+	* rs6000/sysv4.h (CPP_SPEC): Likewise.
+	(ASM_SPEC): Likewise.
+	* rs6000/sysv4le.h (CPP_SPEC): Likewise.
+	* rs6000/eabile.h (CPP_SPEC): Likewise.
+	* rs6000/powerpc.h (CPP_SPEC): Likewise.
+	(ASM_SPEC): Set assembler target according to compiler target.
+	* rs6000/aix3newas.h (CPP_SPEC): Likewise.
+	(ASM_SPEC): Likewise.
+	* rs6000/aix41.h (CPP_SPEC): Likewise.
+	(ASM_SPEC): Likewise.
+
+Wed Jun 28 16:25:53 1995  Gran Uddeborg  (uddeborg@carmen.se)
+
+	* i386/x-isc3 (INSTALL_HEADERS_DIR): Delete; done by configure.
+
+Wed Jun 28 16:10:47 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* xm-rs6000.h (alloca): Extern decl added for non-GNU compiler.
+
+Wed Jun 28 11:31:30 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cpplib.c (progname): Remove definition from here.
+
+	* final.c (final_scan_insn): Fix error in last change.
+
+	* rtlanal.c (reg_set_p_1): Now static; add extra parm.
+
+	* stmt.c: Delete redundant forward decls.
+	(expand_anon_union_decl): Correctly call expand_decl.
+
+	* toplev.c (strip_off_ending): Strip off any ending; don't
+	pretend we know what valid endings are.
+
+	* svr4.h (ASM_OUTPUT_SECTION_NAME): Don't crash if DECL is null.
+
+	* rs6000.md ({load,store}_multiple): Don't use indirect_operand
+	in define_insn; use explicit MEM of register_operand instead.
+
+Tue Jun 27 11:42:56 1995  Stephen L Moshier  <moshier@world.std.com>
+
+	* i386/i386.c (print_operand, case `J'): Use jns for GE and js for
+	LT.
+
+Tue Jun 27 07:58:55 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* expr.c (expand_expr, TARGET_EXPR): Only use original_target
+	if !ignore.
+
+Tue Jun 27 07:27:26 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold_truthop): Commute unextend and convert on
+	l_const and r_const.
+
+	* c-common.c (decl_attributes, case A_CONSTRUCTOR, A_DESTRUCTOR):
+	Set TREE_USED.
+
+	* final.c (final_scan_insn): Don't call alter_cond unless
+	condition is on cc0.
+
+	* stmt.c (expand_asm_operands): Handle input operands that may not
+	be in a register.
+
+Mon Jun 26 19:23:05 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm/lib1funcs.asm (L_dvmd_tls): Renamed from L_divmodsi_tools.
+	* arm/t-semi (LIB1ASMFUNCS): Rename _dvmd_tls from _divmodsi_tools.
+
+Mon Jun 26 19:18:06 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* unroll.c (find_splittable_regs): When completely unrolling loop,
+	check for non-invariant initial biv values.
+
+Mon Jun 26 19:13:54 1995  Gran Uddeborg  <uddeborg@carmen.se>
+
+	* configure (i[345]86-*-isc*): Fix misspelled "rfile" to "ifile".
+
+Mon Jun 26 18:58:22 1995  Mike Stump  <mrs@cygnus.com>
+
+	* expr.c (expand_expr, case COND_EXPR): Protect the condition from
+	being evaluated more than once.
+	(do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise.
+
+Mon Jun 26 18:52:36 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* fixincludes (string.h):  Fix return value for mem{ccpy,chr,cpy,set}
+	and str{len,spn,cspn} on sysV68.
+
+Mon Jun 26 06:54:50 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* i386/osfrose.h (LONG_DOUBLE_TYPE_SIZE): Go back to making long
+	double == double.
+
+Thu Jun 22 19:14:41 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* make-cc1.com (if DO_LINK): Skip c-parse.* processing when
+	only relinking.
+	(gas_message): Update to reflect current version, and give
+	a different message if/when no version of gas is found.xo
+
+Thu Jun 22 18:52:37 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm/lib1funcs.asm (___modsi3): Correctly set SIGN register for
+	modulo involving negative numbers.
+
+Thu Jun 22 18:32:27 1995  Uwe Seimet  (seimet@chemie.uni-kl.de)
+
+        * xm-atari.h (HZ): Now 100 and don't define if already defined.
+
+Thu Jun 22 18:26:12 1995  Jeffrey A Law  (law@snake.cs.utah.edu)
+
+	* calls.c (expand_call): Correctly handle returning BLKmode
+	structures in registers when the size of the structure is not
+	a multiple of word_size.
+	* stmt.c (expand_return): Likewise.
+
+	* pa-gux7.h (LIB_SPEC): Undefine before redefining.
+	* pa-hpux.h (LIB_SPEC): Likewise.
+	* pa-hpux7.h (LIB_SPEC): Likewise.
+
+	* genmultilib: Work around hpux8 /bin/sh case bug.
+
+	* pa.h (LIB_SPEC): Define to avoid -lg.
+
+Thu Jun 22 18:19:09 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* expr.c (expand_expr, TARGET_EXPR): Use original_target.
+
+	* collect2.c (locatelib): Fix parsing of LD_LIBRARY_PATH.
+
+Thu Jun 22 18:15:54 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* configure: Create an empty Makefile.sed first, to work
+	around a Nextstep 3.3 bug.
+
+Thu Jun 22 18:03:44 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (STAGESTUFF): Add stamp-crt.
+	(crtbegin.o, crtend.o): Now depend on stamp-crt.
+	(stamp-crt): New rule, to actually build crt{begin,end}.o.
+
+	* collect2.c (main): Unlink export_file before we return.
+
+Thu Jun 22 14:25:56 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* rs6000.h (STRIP_NAME_ENCODING): Store NAME and strlen(NAME) into
+	local variables; cast result of alloca to avoid compiler warnings.
+
+Tue Jun 20 18:25:29 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* alpha/config-nt.sed, i386/config-nt.sed: Edit to add
+	a missing $(exeext) for CCCP.
+
+Tue Jun 20 18:18:00 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* protoize.c (default_include): Use name and two ints to be
+	compatible with definition of INCLUDE_DEFAULTS.
+
+Mon Jun 19 19:24:29 1995  Ted Lemon  <mellon@toccata.fugue.com>
+
+      * mips/netbsd.h (ASM_DECLARE_FUNCTION_NAME): Don't emit function label.
+
+Mon Jun 19 18:34:55 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* fixincludes: Don't define wchar_t under C++.
+
+Mon Jun 19 17:12:41 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (collect_expansion): Work around enum bug in vax
+	ultrix 4.3 pcc.
+	* tree.c (simple_cst_equal): Likewise.
+
+Mon Jun 19 16:53:00 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* winnt/spawnv.c: New file.
+
+Mon Jun 19 16:30:29 1995  Glenn Brown  <glenn@mars.myri.com>
+
+ 	* caller-save.c (save_call_clobbered_regs): If AUTO_INC_DEC, mark
+	register indicated by REG_INC notes as live so they will be saved.
+
+Mon Jun 19 16:21:12 1995  Jeffrey A Law  (law@snake.cs.utah.edu)
+
+	* pa.h (PRINT_OPERAND_ADDRESS, case LOW_SUM): Fix logic bug
+	in last change.
+
+Mon Jun 19 14:11:49 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* integrate.c (integrate_decl_tree): Only set DECL_ABSTRACT_ORIGIN
+	if the decl returned by pushdecl is the one we started with.
+
+	* mips.h (current_function_name): Delete declaration.
+	(ASM_DECLARE_FUNCTION_NAME): Don't set current_function_name.
+	* gnu.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+	* mips.c (current_function_decl): Delete declaration.
+	(function_prologue): New variable fnname.  Use it instead of
+	current_function_name.
+	(function_epilogue): Likewise.
+
+Mon Jun 19 13:13:15 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* alpha.h (ASM_OUTPUT_ASCII): Always reset line count when
+	starting new line.
+
+	* scan-decls.c (scan_decls): Fix typo when resetting PREV_ID_START.
+
+	* i386/config-nt.sed, alpha/config-nt.sed: Change version to 2.7.1.
+
+Mon Jun 19 13:06:14 1995  DJ Delorie  (dj@delorie.com)
+
+	* msdos/top.sed: Support new build variables.
+	* msdos/configur.bat: Make options.h and specs.h.
+	Change realclean to maintainer-clean.
+
+Fri Jun 16 06:54:03 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* Version 2.7.0 Released.
+
+	* obstack.c: Always enable this code for now.
+
+	* alpha.c (alpha_builtin_saveregs): Use ptr_mode and conversions
+	when need so works for both OSF and NT.
+	* va-alpha.h (__va_tsize): Round to long long not long.
+
+Thu Jun 15 17:54:52 1995  Bdale Garbee  <bdale@gag.com>
+
+	* configure (a29k-*-coff): Synonym for a29k-*-udi.
+
+Thu Jun 15 17:51:21 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (assign_parms): Do all conversions in CONVERSION_INSNS.
+
+Thu Jun 15 17:36:49 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* reg-stack.c (record_reg_life): Call record_reg_life_pat with 0
+	for douse argument so that USE's created to mark variables within
+	blocks don't get marked as set.
+
+Thu Jun 15 06:28:15 1995  Dennis Glatting  (dennisg@CyberSAFE.COM)
+
+	* configure: Change one sed command to work around m68k-next bug.
+
+Wed Jun 14 22:14:39 1995  Jason Merrill  <jason@deneb.cygnus.com>
+
+	* collect2.c (main): Don't turn off auto_export because of -g.
+	(main): Ignore the argument to -o.
+
+	* alpha.h (LINK_SPEC): Don't pass -init __main anymore.
+	* alpha/osf12.h (LINK_SPEC): Ditto.
+	* mips/iris5.h (LINK_SPEC): Ditto.
+
+	* collect2.c (main): Place o_file after an initial .o (like crt0.o).
+	If we have LD_INIT_SWITCH, use init and fini functions for
+	executables, too.  Specify the unique function names.
+	(write_c_file_stat): Fix the case of destructors but no constructors.
+	Don't include the generic-named functions for executables.
+	(write_c_file): If we have LD_INIT_SWITCH, always use
+	write_c_file_stat.
+
+	* collect2.c (main): Also add _GLOBAL__D? to export list.
+
+	* ginclude/iso646.h: Do nothing if compiled as C++.
+
+Wed Jun 14 17:39:10 1995  Roland McGrath  (roland@gnu.ai.mit.edu)
+
+	* c-common.c (format_char_info, case 'm'): Set type to void.
+	(check_format_info): If type is void, ignore operand.
+
+Wed Jun 14 17:04:10 1995  Paul F. Kunz  (Paul_Kunz@SLAC.Stanford.EDU)
+
+	* expr.c (expand_builtin_apply_args): Put back original
+	register save and restore order.
+
+Wed Jun 14 16:56:22 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/eabi.h (INVOKE__main): Define, so __eabi is called after
+	main's arguments are saved.
+
+	* rs6000.c (output_prolog): Don't call __eabi here, let
+	compiler call it after the arguments to main are saved.
+	(output_{prolog,epilog}): Don't use functions under V.4 to save
+	and restore floating point registers.
+
+Wed Jun 14 16:52:12 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k/mot3300.h (PCC_BITFIELD_TYPE_MATTERS): Defined.
+
+Wed Jun 14 16:48:53 1995  Jerry Frain  (jerry@tivoli.com)
+
+	* Makefile.in (stage[1-4]): Correctly link `as', `ld', and `collect2'.
+
+Wed Jun 14 05:52:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* objc-act.c (hack_method_prototype): Set DECL_CONTEXT of parms.
+
+	* expmed.c (emit_store_flag): Always set LAST.
+
+	* c-decl.c (start_function): New parameter for attributes.
+	* c-tree.h (start_function): Likewise.
+	* c-lang.c (finish_file): Pass extra parm to start_function.
+	* objc-act.c (build_module_descriptor, really_start_method): Likewise.
+	* c-parse.in (fndef, nested_function, notype_nested_function):
+	Likewise.
+
+	* function.c (assign_parms): Use convert_to_mode instead of
+	gen_lowpart when converting incoming parm.
+
+Tue Jun 13 19:10:32 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* rs6000.md (decrement_and_branch): Finish last fix; update matching
+	constraint.
+
+Tue Jun 13 18:32:51 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* fold-const.c (fold): When converting a COND_EXPR to an ABS_EXPR,
+	get the types right for ABS_EXPR to work.
+
+Mon Jun 12 17:09:55 1995  Michael Tiemann  (tiemann@axon.cygnus.com)
+
+	* reorg.c (fill_simple_delay_slots): Set MAYBE_NEVER according to
+	code of TRIAL_DELAY, not TRIAL.
+
+Mon Jun 12 15:02:37 1995  Doug Evans  <dje@cygnus.com>
+
+	* configure: Restore code to make ld symlink if ! use_collect2.
+
+	* gcc.c (link_command_spec): Undo patch of May 11.
+	-nostdlib implies -nostartfiles again.
+	* dsp16xx.h (CROSS_LINK_SPEC): Likewise.
+	* i386/freebsd.h (LINK_SPEC): Undo patch of May 24.
+	Don't pass "-e start" if nostdlib.
+	* i386/sun.h (LINK_SPEC): Likewise.
+	* m68k/sun2o4.h (LINK_SPEC): Likewise.
+	* m68k/sun3.h (LINK_SPEC): Likewise.
+	* m68k/vxm68k.h (LINK_SPEC): Likewise.
+	* mips/netbsd.h (LINK_SPEC): Likewise.
+	* config/netbsd.h (LINK_SPEC): Likewise.
+	* rs6000/mach.h (LINK_SPEC): Likewise.
+	* sparc.h (LINK_SPEC): Likewise.
+	* sparc/vxsparc.h (LINK_SPEC): Likewise.
+
+	* gcc.c (link_command_spec): New argument -nodefaultlibs.
+
+Sun Jun 11 20:47:53 1995  Stephen L Moshier  (moshier@world.std.com)
+
+	* Makefile.in (fix-header.o): Depends on xsys-protos.h.
+
+Sun Jun 11 15:07:58 1995  Tim Carver  (timc@ibeam.intel.com)
+
+	* reload1.c (emit_reload_insns): Don't call HARD_REGNO_NREGS
+	on psuedo when clearing reg_last_reload_reg.
+
+Sun Jun 11 14:07:05 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md ({add,sub}di{_mem,3}): Patterns merged.
+
+Sun Jun 11 13:43:26 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* m68k.md (cmpdi matcher): Set cc_status before returning.
+
+	* config/xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Define.
+
+Sun Jun 11 13:38:49 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* fixincludes (math.h):  Keep declaration of abs on HPUX.
+
+Sun Jun 11 12:31:42 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (variable_size): Do nothing if SIZE is constant.
+
+	* stmt.c (expand_asm_operands): See if output operand permits
+	register.  If not, mark output addressable, call expand_operand
+	on it, and give error if not MEM.
+
+	* function.c (assign_parms): Handle promotions of both
+	passed and nominal modes separately and insert needed conversions.
+	(promoted_input_arg): Return 0 if nominal and passed modes differ.
+
+	* stmt.c (all_cases_count, case INTEGER_TYPE): Fix typo in checking
+	for integer bounds.
+
+Sat Jun 10 08:55:25 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* libgcc2.c (_floatdidf): Correctly set float sizes.
+
+	* c-decl.c (c_decode_option, case "-Wall"): Don't set extra_warnings.
+
+	* Makefile.in (cpplib.o, fix-header.o): Update dependencies.
+	(cpperror.o, cppexp.o, cpphash.o): New rules, to show .h dependencies.
+
+Fri Jun  9 18:06:10 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* cse.c (cse_basic_block): Fix test for whether block ends with a
+	barrier.  Return next insn, not 0, if block ends in a barrier.
+
+Fri Jun  9 17:58:29 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* fold-const.c (lshift_double): Replace `&' with `%' to fix typo.
+	([lr]shift_double): Truncate shift count only if SHIFT_COUNT_TRUNCATED.
+	Remove unnecessary `count >= prec' test.
+
+	* cexp.y (left_shift): Ignore integer overflow.
+
+	* cexp.y (skip_evaluation): New variable.
+	(&&, ||, ?:): Increment it in unevaluated subexpressions.
+	(/, %, integer_overflow): Suppress diagnostics if skip_evaluation != 0.
+	(yyerror): Clear skip_evaluation.
+
+Fri Jun  9 17:49:05 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* m68k.md (tstdi): Rewrite.
+
+Fri Jun  9 17:28:55 1995  Per Bothner  <bothner@cygnus.com>
+
+	* scan-decls.c (scan_decls):  Handle declarations with
+	multiple comma-separated declarators.
+
+Thu Jun  8 19:16:12 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* arm.md (mov[sd]f expands): Don't allow fp constants in pseudos
+	when TARGET_SOFT_FLOAT.
+
+Thu Jun  8 19:11:43 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* expmed.c (store_split_bit_field): When adjust arg in
+	BYTES_BIT_ENDIAN case, use number of bits in arg for MEM operands
+	and BITS_PER_WORD for other operands.
+	(extract_fixed_bit_field): Undo last change.
+
+	* unroll.c (verify_addresses): New function.
+	(find_splittable_givs): Use it instead of memory_address_p.
+
+Thu Jun  8 18:58:18 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* expmed.c (expand_divmod): Always check result of emit_store_flag.
+
+Thu Jun  8 12:02:34 1995  David D Zuhn  (zoo@armadillo.com)
+
+	* cpplib.c (cpp_push_buffer): Include filename in error message.
+
+Thu Jun  8 11:53:45 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* function.c (assign_parms): Don't call promote_mode on arg
+	unless PROMOTE_FUNCTION_ARGS defined.
+
+	* rs6000.md (decrement_and_branch): Ensure label is operand 0.
+
+	* rs6000.md (aux_truncdfsf2): New pattern.
+	(movsf): Use it instead of invalid SUBREG and truncdfsf2.
+
+	* varasm.c (assemble_name): Disable warn_id_clash around
+	get_identifier call.
+
+Wed Jun  7 17:22:25 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* configure (gdb_needs_out_file_path): New variable.
+	(m68k-motorola-sysv): Set gdb_needs_out_file_path if not using gas.
+	(.gdbinit): If gdb_needs_out_file_path is set, add a 'dir' command
+	for $(out_file).
+
+Wed Jun  7 17:17:19 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* fold-const.c (fold): When folding `<' type nodes, make true_value
+	and false_value have correct types.
+
+Wed Jun  7 05:06:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* collect2.c (COFF scan_prog_file): Use the AIX duplicate entry.
+
+Tue Jun  6 18:43:09 1995  Jeffrey A Law  (law@snake.cs.utah.edu)
+
+	* pa.h (FUNCTION_ARG_CALLEE_COPIES): Define.
+
+Tue Jun  6 18:21:18 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case PLACEHOLDER_EXPR): Consider two types
+	identical if their TYPE_MAIN_VARIANTs are the same.
+
+	* c-decl.c (start_decl): Set DECL_COMMON before calling
+	decl_attributes.
+
+	* a29k.c (print_operands): Cast args to bcopy to char *.
+
+	* c-decl.c (duplicate_decls): Don't clear DECL_CONTEXT of
+	new decl if it is a function.
+
+Tue Jun  6 17:57:44 1995  Eberhard Mattes  (mattes@azu.informatik.uni-stuttgart.de)
+
+	* gcc.c (do_spec_1, case 'g'): Handle %O as suffix if MKTEMP_EACH_FILE.
+
+Tue Jun  6 17:53:05 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.c (expand_block_move): Update source and destination pointers
+	inside the loop moving the bytes, not outside.
+
+Tue Jun  6 14:58:37 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m68k.h (CONDITIONAL_REGISTER_USAGE): Don't mark pic reg as fixed.
+	* m68k.c (finalize_pic): Emit USE insn at start and end of function.
+
+Tue Jun  6 13:46:57 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* sh.c (print_operand): Check for annulled branches.
+	(output_movedouble): Handle SUBREG addresses.
+	(output_branch): Handle annulled branches.
+	(sh_expand_prologue): Correct number of saved registers for
+	varargs functions.
+	* sh.h: Add some comments.
+	* sh.md: Add some comments.  Cleanup formatting.
+	(type attribute): Add pstore and call.
+	(return define_delay): Reorganize to make clearer.
+	(call/sfunc define_delay): Define.
+	(cbranch define_delay): Define to have annul-true delay slot.
+	(subsi3): Use arith_reg_operand for operand 2.
+	(shift patterns): Use const_int_operand instead of immediate_operand
+	for shift counts.
+	(push): Add pstore constraint case.
+	(movsi_i): Move t/z constraint pair to the front of the list.
+	(calli, call_valuei): Add "call" attribute.
+
+Mon Jun  5 19:23:13 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sched.c (attach_deaths): In last change, use find_reg_note instead
+	of find_regno_note.
+
+Mon Jun  5 19:17:31 1995  Tom Quiggle  (quiggle@lovelace.engr.sgi.com)
+
+	* mips/iris5.h (MACHINE_TYPE): Say "IRIX 5.x", not "5.0".
+	(NO_DOLLAR_IN_LABEL): Undefine.
+	* mips.h (sdb_begin_function_line): New declaration.
+	(PUT_SDB_FUNCTION_END): New definition.
+
+Mon Jun  5 18:56:10 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.c (expand_block_move): Don't do block moves where we clobber
+	fixed numbers of regs, instead move just 1-8 bytes at a time.
+
+	* Makefile.in (STAGESTUFF): Copy files produced by -da and
+	-save-temps to the stage subdirectories.
+
+Mon Jun  5 08:18:46 1995  Torbjorn Granlund  <tege@bozo.matematik.su.se>
+
+	* combine.c (reg_dead_at_p): When scanning backwards, stop at BARRIER.
+
+	* m68k.c (print_operand): Handle 'R' for registers.
+	* m68k.md (cmpdi): Rewrite to avoid bogus matching constraints.
+
+	* optabs.c (expand_binop): In last change, don't defererence TARGET
+	if it is 0.
+
+	* pa.md (movsicc): Use MATCH_DUP for operand 4 and 5.
+
+Mon Jun  5 08:14:56 1995  Jeffrey A Law  (law@cs.utah.edu)
+
+	* pa.c (hppa_encode_label): Allocate stuff on permanent_obstack
+	rather than via malloc.
+
+	* c-common.c (decl_attributes): Fix typo in size passed to alloca.
+
+Mon Jun  5 08:10:55 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.md: Use "some_operand" for patterns valid only during
+	reload and meant to handle adding more PLUS operators during
+	register elimination.
+
+Mon Jun  5 07:31:53 1995  Stephen L Moshier  (moshier@world.std.com)
+
+	* cse.c (simplify_unary_operation, case FLOAT, UNSIGNED_FLOAT):
+	Truncate to requested mode.
+
+Sat Jun  3 22:08:51 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sched.c (attach_deaths): Don't add a REG_DEAD note if a REG_UNUSED
+	note is already present.
+
+Sat Jun  3 18:36:57 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* pa.h (hppa_builtin_saveregs): Add declaration.
+
+Sat Jun  3 18:11:26 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* Makefile.in (scan-decls.o):  Depends on cpplib.h.
+
+Fri Jun  2 19:23:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* optabs.c (expand_binop): Don't use non-REG TARGET in 2-word case.
+
+Thu Jun  1 19:30:30 1995  Tor Egge  (tegge@flipper.pvv.unit.no)
+
+	* m88k.h (RETURN_POPS_ARGS): New argument.
+	* m88k/dolphin.ld: Added start of comment.
+
+Thu Jun  1 19:12:28 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure (a29k-*-bsd*): Fix typo in last change.
+
+Thu Jun  1 18:51:53 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* expmed.c (extract_fixed_bit_field): For REG case, compute total_bits
+	from mode instead of assuming BITS_PER_WORD.
+
+Thu Jun  1 18:34:31 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.h (FIXED_R13): Default to 0.
+	({FIXED,CALL_USED}_REGISTERS): Use FIXED_R13 for register 13.
+	* sysv4.h (FIXED_R13): Define to be 1.
+
+Wed May 31 20:57:26 1995  Torbjorn Granlund  <tege@matematik.su.se>
+
+	* m68k.md ([su]mulsi3_highpart): Pass correct number of arguments to
+	const_uint32_operand.
+	* m68k.c (const_uint32_operand): Reject negative numbers.
+
+	* expmed.c (expand_mult_highpart): Use wide_op1 for all multiplies.
+	(expand_divmod): Undo Nov 12 change.  Instead, add special case
+	for division by MIN_INT in signed TRUNC_DIV_EXPR case.
+
+Wed May 31 20:44:21 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (one_cmpldi2): New pattern.
+	({a,l}shrdi{3,_const}): Allow 63 as shift count.
+
+Wed May 31 14:56:31 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* varasm.c (assemble_start_function, assemble_variable):
+	Make sure first_global_object_name is in permanent obstack.
+
+	* reload1.c (alter_reg): Clean up setting of RTX_UNCHANGING_P
+	when making a MEM.
+
+	* reorg.c (struct resources): New field unch_memory.
+	(CLEAR_RESOURCES, mark_target_live_regs, dbr_schedule): Clear it.
+	(mark_{referenced,set}_resources, redundant_insn): Set it.
+	(fill_simple_delay_slots): Likewise.
+	(resource_conflicts_p): Test it.
+
+	* unroll.c (copy_loop_body): Fix typo in call to sets_cc0_p.
+
+	* integrate.c (output_inline_function): Don't call expand_function_end.
+
+	* calls.c (prepare_call_address): Only call use_reg on
+	static_chain_rtx if it is a REG.
+
+	* configure (a29k-*-bsd*): Use t-a29k.
+	* t-a29k: New file.
+	* a29k/t-a29kbare (LIBGCC1_TEST): New null definition.
+	* a29k/t-vx29k (LIBGCC1_TEST): Likewise.
+
+Wed May 31 14:17:42 1995  Jeffrey A Law  (law@snake.cs.utah.edu)
+
+	* configure (hppa*-*-bsd*): Do not run fixincludes.
+	(hppa*-*-osf*): Likewise.
+	(hppa*-*-lites*): Likewise.
+
+	* pa.h (PRINT_OPERAND_ADDRESS): Use "RR'" rather than "R'" for
+	symbolic addresses.
+	* pa.md (symbolic HIGH patterns): Likewise.
+	(symbolic LO_SUM pattern): Likewise.
+
+Wed May 31 14:11:53 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (all movstri recognizers): Eliminate updating the pointers.
+	* rs6000.c (expand_block_move): Don't pass argument of # bytes to
+	increment pointers by to movstrsi expanders.
+
+	* rs6000.c (rs6000_override_options): Fix typo with -mstring handling.
+
+	* rs6000.h (TARGET_SWITCHES): Set MASK_STRING_SET explicitly
+	if -mno-string, so that it can override the processor default.
+
+Wed May 31 07:31:53 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* c-common.c (truthvalue_conversion, BIT_AND_EXPR): Make sure that
+	the result has boolean_type_node.
+
+Tue May 30 19:03:21 1995  J.T. Conklin  <jtc@cygnus.com>
+
+	* stddef.h: Undefine _BSD_XXX_T_ if _GCC_XXX_T is defined on BSD
+	Net/2 derived systems.
+
+Tue May 30 08:17:37 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (decrement_and_branch_until_zero): Operand 0 constraint
+	changed from "+g" to "+d*am".
+	(similar anonymous HImode pattern): Likewise.
+
+	* m68k.md (tstdi): Use tst/subx #0 instead of neg/negx.
+	Allow "a" and ">" for operand 0.
+
+Mon May 29 19:24:43 1995  Niklas Hallqvist  (niklas@appli.se)
+
+	* m68k.md (addsi_lshrsi_31): Use match_dup, not constraint "1",
+	for matching inputs.
+
+Mon May 29 12:39:58 1995  Allen Briggs <briggs@rrinc.com>
+
+	* i386/isc.h ({STARTFILE,LIB,CPP}_SPEC): Handle -Xp like -posix.
+	* i386/x-isc3 (X_CFLAGS): Add -Xp.
+
+Mon May 29 12:28:41 1995  J.T. Conklin  (jtc@cygnus.com)
+
+	* configure (sparc-*-netbsd): Add missing asterisk at end.
+
+Mon May 29 08:55:48 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (recog_for_combine): New parm PADDED_SCRATCHES; set it.
+	(try_combine): Accumulate number of scratches and update max_scratch.
+	(simplify_set): Add extra parm to recog_for_combine.
+
+	* romp.md (call): Put USE for r0 in CALL_INSN; call call_internal
+	to emit insn.
+	(call_internal): New name for anonymous call.
+	(call_value, call_value_internal): Likewise.
+
+	* winnt/xm-winnt.h: Protect most definitions with #ifndef.
+	* alpha/xm-winnt.h: Include alpha/xm-alpha.h, then winnt/xm-winnt.h.
+	(POSIX): Undefine.
+	* xm-alpha.h: Don't include alloca.h for winnt.
+
+Sun May 28 18:34:01 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure: Make sed commands more uniform.
+
+	* Makefile.in: Properly use $(srcdir) for files that have it
+	in their reference as a target of a rule.
+	(libgcc1.a): Add missing RANLIB_TEST use.
+
+	* stmt.c (expand_computed_goto): Call do_pending_stack_adjust.
+
+Sun May 28 18:08:41 1995  Torbjorn Granlund  <tege@mole.gnu.ai.mit.edu>
+
+	* m68k.md (divmodhi4, udivmodhi4): Use "dmsK" for operand 2.
+
+Fri May 26 17:01:22 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* fixincludes: Fix bogus recursive <stdlib.h> in NEWS-OS 4.0C.
+
+Fri May 26 08:02:14 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* c-typeck.c (initializer_constant_valid_p): For the CONSTRUCTOR
+	case, if the type is a record, recurse, just like for unions.
+
+Thu May 25 07:56:14 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* fixincludes: Add `sel', `tahoe', `r3000', `r4000' to the
+	list of pre-ANSI symbols that need to be surrounded with __ __.
+	Allow white space between `#' and `if' when looking for lines to patch.
+
+	* objc/sarray.h (PRECOMPUTE_SELECTORS, struct soffset):
+	Use #ifdef __sparc__, not sparc.
+
+	* m68k.md (addsi_lshrsi_31, ashldi_const, ashrdi_const, lshrdi_const):
+	Replace `mov' with `move'.
+
+Thu May 25 07:35:37 1995  Allen Briggs  <briggs@rrinc.com>
+
+	* libgcc2.c (L_eh, i386): Remove in-line comments in assembly
+	code--the '#' character is not valid for the SYSV as.
+
+Thu May 25 07:28:54 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* Makefile.in (BC_ALL): Restore it from May 22 change; vms uses it.
+	(STAGESTUFF): Use it.
+
+Thu May 25 07:11:56 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (alpha_emit_set_const): Don't call expand_binop for
+	other than add if SImode and can't create pseudos.
+
+Wed May 24 21:38:24 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sched.c (reemit_notes): New function.
+	(schedule_block): Call reemit_notes twice.  Reorganize code for
+	handling SCHED_GROUP_P insns, so that reemit_notes works.
+
+	* sh/sh.c (shiftcosts, genshifty_op): Add SH3 support.
+	* sh/sh.md (ashlsi3, lshrsi3): Add SH3 support.
+	(ashlsi3_d, ashrsi3_d, lshrsi3_d): New patterns for SH3.
+	(ashrsi2_31): Remove r/!r constraint.
+
+Wed May 24 17:00:47 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* tree.c (type_list_equal): Call simple_cst_equal before checking
+        types.
+
+Wed May 24 16:49:49 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* Makefile.in (libgcc2.a): Handle case of separate srcdir.
+
+Wed May 24 16:22:01 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* configure: Define $(MAKE) if `make' doesn't.
+
+Wed May 24 15:50:51 1995  Doug Evans  <dje@cygnus.com>
+
+	* dsp16xx.h (CROSS_LINK_SPEC): ENDFILE_SPEC moved to -nostartfiles.
+	* i386/freebsd.h (LINK_SPEC): Don't pass "-e start" if nostartfiles
+	rather than nostdlib.
+	* i386/sun.h (LINK_SPEC): Likewise.
+	* m68k/sun2o4.h (LINK_SPEC): Likewise.
+	* m68k/sun3.h (LINK_SPEC): Likewise.
+	* m68k/vxm68k.h (LINK_SPEC): Likewise.
+	* mips/netbsd.h (LINK_SPEC): Likewise.
+	* config/netbsd.h (LINK_SPEC): Likewise.
+	* rs6000/mach.h (LINK_SPEC): Likewise.
+	* sparc.h (LINK_SPEC): Likewise.
+	* sparc/vxsparc.h (LINK_SPEC): Likewise.
+
+	* m88k/m88k.h (FUNCTION_ARG_BOUNDARY): Use GET_MODE_BITSIZE.
+
+Wed May 24 15:44:04 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* fold-const.c (fold): Make sure that a folded TRUTH_NOT_EXPR
+        retains the same type.
+
+	* c-common.c (truthvalue_conversion): Also accept TRUTH_NOT_EXPR.
+
+Wed May 24 15:41:51 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cplus-dem.c (strstr, strncmp, strlen): Remove declarations.
+
+	* tree.c (type_list_equal, simple_cst_list_equal, index_type_equal):
+	Check for simple_cst_equal return value of -1.
+
+Wed May 24 10:05:24 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* libgcc1-test.c (start, _start): Provide declarations, so that
+	the GNU linker doesn't give a warning message about defaulting the
+	start address.
+
+	* rs6000/sysv4.h (STRIP_NAME_ENCODING): Redefine back to the
+	original defination, rather than the defination used in rs6000.h.
+	(ASM_OUTPUT_SOURCE_LINE): Use STRIP_NAME_ENCODING.
+	* rs6000.h (STRIP_NAME_ENCODING): Skip leading '*'.
+
+	* rs6000.h (MASK_STRING_SET, TARGET_STRING_SET): Add target
+	flags bit for whether -mstring was actually used.
+	(TARGET_SWITCHES): Add MASK_STRING to all power targets.  Set
+	MASK_STRING_SET for -mstring and -mno-string.
+	(TARGET_DEFAULT): Add MASK_STRING.
+
+	* rs6000.c (rs6000_override_options): Add MASK_STRING to
+	all power targets.  Make an explicit -mstring/-mno-string override
+	the -mcpu=processor default.
+
+	* rs6000/eabile.h (CPP_SPEC): Copy from sysvle.h to provide the
+	appropriate little endian defaults.
+
+	* rs6000/sysv4.h (ASM_OUTPUT_SOURCE_LINE): Use assemble_name to
+	output the canonical name.
+
+Wed May 24 01:21:15 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* rs6000.h (STRIP_NAME_ENCODING): Define.
+	(RS6000_OUTPUT_BASENAME): Use it.
+
+Tue May 23 19:54:21 1995  Doug Evans  <dje@cygnus.com>
+
+	* gcc.c (link_command_spec): Move ENDFILE_SPEC from -nostdlib
+	to -nostartfiles.
+
+Tue May 23 17:01:50 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* alpha.md (negsi2-2): Change output pattern to #.
+
+	* mips.c (embedded_pic_offset): Output RTL to initialize
+	embedded_pic_fnaddr_rtx.
+	(mips_finalize_pic): Delete.
+	* mips.h (mips_finalize_pic): Delete declaration.
+	(FINALIZE_PIC): Delete.
+	(INIT_EXPANDERS): Clear embedded_pic_fnaddr_rtx.
+	* mips.md (get_fnaddr): Add = to output contraint.
+
+	* sh.c (shift_amounts): Correct entry for shifts by 29.
+	* sh.md (sett): New pattern.
+	(movsi_i): Change source constraint for move to T reg to be 'z'.
+
+	* mips/ecoff.h (STARTFILE_SPEC): Define to null string.
+	* mips/elfl.h, mips/elfl64.h: Correct typo in comment.
+
+	* mips/elflorion.h, mips/elforion.h (MIPS_CPU_DEFAULT): Delete.
+	* mips.c (override_options): Delete #ifdef MIPS_CPU_DEFAULT code.
+	Add #ifdef MIPS_CPU_DEFAULT_STRING code before the first
+	mips_cpu_string test.
+
+Tue May 23 07:22:36 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* romp.c (hash_rtx): Avoid warning on int-to-pointer conversion.
+	(output_fpops): Cast args to bcopy to char *.
+
+	* cpplib.c (initialize_builtins): Add missing parm to timestamp call.
+
+	* Makefile.in (install-libobjc): Don't depend on libobjc.a.
+
+	* c-parse.in: Objc shift/reduce conflicts now 48.
+	(parm): Use setspecs/restore here.
+	(parmlist_or_identifiers): Not here.
+
+Mon May 22 19:30:30 1995  Doug Evans  <dje@cygnus.com>
+
+	* h8300.md (movsf_h8300h): Add missing post-inc case to constraints.
+
+Mon May 22 14:38:36 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.c (rs6000_override_options): Do SUBTARGET_OVERRIDE_OPTIONS
+	here.
+	* rs6000.h (OVERRIDE_OPTIONS): Not here.
+
+	* rs6000.c (expand_block_move): Handle moves without string
+	instructions by generating a series of loads and stores.
+	(output_prolog): Support -mno-toc on V.4 and eabi systems.
+
+	* rs6000/sysv4.h (TARGET_SWITCHES): Add -mtoc and -mno-toc.
+	(SUBTARGET_OVERRIDE_OPTIONS): Add some warnings for incompatible
+	switches.
+	(TOC_SECTION_FUNCTION): Make -mno-toc like -mrelocatable in that
+	we don't put the minimal toc pointer in the global toc section.
+	(LINK_SPEC): Use -oformat to set link output format, not -m.
+
+	* rs6000/t-eabigas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build
+	libgcc.a variants with -mno-toc support.
+	* rs6000/t-ppcgas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Ditto.
+
+Mon May 22 07:10:52 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cplus-dem.c (mystrstr): Replacement for strstr.
+
+	* configure: Split up long sed command.
+	* Makefile.in (SYMLINK): Deleted; unused.
+	(oldobjext): Deleted; no longer used.
+	(FLAGS_TO_PASS): Include objext and exeext.
+	(STAGESTUFF, protoize.o, unprotoize.o): Use $(objext), not .o.
+	(test_protoize_simple, compare{,3}, gnucompare{,3}): Likewise.
+	(STAGESTUFF, specs, gcc-cross, collect2): Add missing $(exeext).
+	(libgcc1.null, libgcc[12].a, stage[1-4]): Likewise.
+	(xgcc, cc1, cc1obj, enquire): Use $@ instead of filename for -o value.
+	(collect2, mips-tfile, mips-tdump, gen*): Likewise.
+	(bi-arity, bi-opcode, bi-opname, cccp, cppmain): Likewise.
+	(protoize, unprotoize, gen-protos, fix-header): Likewise.
+	(crtbegin.o, crtend.o): Don't use -o; move output to proper
+	filename (using objext) instead.
+	(BI_ALL, BC_ALL, bytecode): Deleted; unused.
+	(bi-*.o, cexp.o, stamp-{proto,fixinc}): Remove unneeded $(srcdir).
+	(getopt{,1}.o, SYSCALLS.c.X): Likewise.
+	(install-driver): New target.
+	(install-normal): Depend on it.
+	(install-common): Don't depend on xgcc.
+	(maketest): Deleted; no longer used.
+	(stage[1-4]): Use name collect-ld, not real-ld.
+	(risky-stage[1-4]): Use stage[1-4] as dependencies; don't copy.
+	* alpha/config-nt.bat, i386/config-nt.bat: Make {,h,t}config.h
+	and tm.h by writing a single #include line.
+	Update way specs.h and options.h are written.
+	* alpha/config-nt.sed, i386/config-nt.sed: Set new variables
+	into Makefile.
+	Build winnt.obj.
+	Edit CCCP definition.
+	* alpha/x-winnt, i386/x-winnt (oldobjext): Deleted.
+	Add rules for .c.obj, .adb.obj, and .ads.obj.
+	(LIB2FUNCS_EXTRA, spawnv.o): New rules.
+	* i386/x-winnt (objext): Now .obj, not .o.
+
+	* gcc.c (HAVE_OBJECT_SUFFIX): New macro.
+	(process_command): Convert x.o to x.foo for OBJECT_SUFFIX of ".foo".
+	(do_spec_1): Avoid shadow variable "i" and always use for loop var.
+
+	* c-decl.c (finish_decl_top_level): Removed; no longer used.
+	* objc-act.c: Numerous formatting changes.
+	(NULLT): Deleted; all uses changed to NULL_TREE.
+	(get_{static,object}_reference, objc_add_static_instance):
+	Use push_obstacks instead of saving obstacks manually.
+	(build_{selector,class}_reference_decl): Likewise.
+	(build_objc_string_decl, build_protocol_reference): Likewise.
+	(comp_{method,proto}_with_proto): Likewise.
+	(create_builtin_decl, synth_module_prologue): Set DECL_ARTIFICIAL
+	for internal objects.
+	(build_{selector,class}_reference_decl, add_objc_decls): Likewise.
+	(generate_objc_symtab_decl, build_module_descriptor): Likewise.
+	(build_protocol_reference): Likewise.
+	(build_objc_string_decl, synch_forward_declarations): Likewise.
+	Delete call to end_temporary_allocation.
+	(generate_static_references, generate_strings): Likewise.
+	(build_selector_translation_table, generate_category): Likewise.
+	(generate_{ivars,protocol}_list, build_protocol_reference): Likewise.
+	(build_objc_string_object): If next_runtime, put everything in
+	permanent obstack.
+	(objc_add_static_instance): Use build_decl instead of start_decl
+	and finish_decl_top_level.
+	(build_{class_reference,objc_string}_decl): Clear DECL_CONTEXT.
+	(start_class): Exit with FATAL_EXIT_CODE, not 1.
+	(add_objc_decls): Don't set DECL_IN_SYSTEM_HEADER.
+
+	* tree.c (valid_machine_attribute): Handle attribute on
+	pointer-to-function types.
+
+Sun May 21 17:16:37 1995  J. T. Conklin <jtc@cygnus.com>
+
+	* mips/netbsd.h (HAVE_STRERROR): Remove.
+	* mips/xm-netbsd.h: New file.
+	* mips/t-mips-netbsd: Deleted.
+	* configure (mips-dec-netbsd): Use xm-netbsd.h and t-libc-ok.
+
+Sun May 21 17:16:37 1995  Arne H. Juul  (arnej@pvv.unit.no)
+
+	* mips/netbsd.h: Use __start as entry point. Ifdef some
+	paths on CROSS_COMPILE.
+
+Sun May 21 08:39:26 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-parse.in (datadef, fndef, ivar_decl, mydecls):
+	Restore declspec_stack since setspecs is used.
+	(parmlist_or_identifiers): Use setspecs before parsing parms
+	and restore after parsing parms.
+
+Sun May 21 01:04:52 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.c (hppa_encode_label): New variable "permanent" to
+	where/how memory is allocated for the new label.  All
+	callers changed.
+
+Sat May 20 16:53:30 1995  Mike Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (insv, extz): Fail if the structure is QI or HI reg to
+	avoid paradoxical subreg's being created in RTL phase, which uses
+	SImode to load from memory if  structure is later moved to stack.
+
+Sat May 20 06:44:59 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (udivmodhi4): Output "divu" instead of "divs".
+
+Sat May 20 06:11:32 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* reload.c (push_reload): Don't reload inside a SUBREG
+	when SUBREG_WORD is nonzero.
+
+	* c-decl.c (shadow_tag_warned): Don't warn about useless keyword
+	if in system header file.
+
+	* tree.c (simple_cst_equal): Don't look at language-specific
+	nodes since we don't know what's in them.
+
+	* cpperror.c: #include config.h before any other .h file.
+	* collect2.c: Likewise.
+
+	* i386/config-nt.bat: Add missing ^M on two lines.
+	Add case for Fortran; fix typo in Ada case.
+	* alpha/config-nt.bat: Add case for Fortran; fix typo in Ada case.
+
+	* m68k/t-next (LIBGCC1, CROSS_LIBGCC1): Make not, not "libgcc1.null".
+	(OTHER_FIXINCLUDES_DIRS, LIMITS_H_TEST): Delete from here.
+	* m68k/x-next (OTHER_FIXINCLUDES_DIR, LIMITS_H_TEST): Move to here.
+
+Fri May 19 19:30:20 1995  Stan Cox  (gcc@dg-rtp.dg.com)
+
+      * crtstuff.c: Added reference to INIT_SECTION_PREAMBLE for systems that
+      do something which must be undone prior to __do_global_ctors.
+
+Fri May 19 19:27:08 1995  Alan Modra  <alan@SPRI.Levels.UniSA.Edu.Au>
+
+	* i386/linux-aout.h (CPP_SPEC): Add defines for -fPIC.
+	* i386/linux-oldld.h (CPP_SPEC): Likewise.
+
+Fri May 19 17:46:28 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* collect2.c (strstr): Deleted.
+	* cplus-dem.c (strstr): Define ifndef POSIX.
+
+Fri May 19 11:16:51 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cpplib.c (collect_expansion):  Don't escape '@' inside string.
+
+Fri May 19 06:59:21 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* vmsconfig.com (process_objc_lib, configure_makefile): New routines.
+	(bc_all.list, ./vax.md, objc-objs.opt, objc-hdrs.list): New files
+	created at config time.
+	(bc_all.opt, ./md.): No longer created.
+	* make-cc1.com: Handle revised filenames from vmsconfig.com;
+	(DO_OBJCLIB): New variable, plus code to compile objc/*.{c,m}.
+
+Wed May 17 16:15:31 1995  Torbjorn Granlund  <tege@cygnus.com>
+
+	* i960.c (i960_output_ldconst): New code for XFmode.
+	Also, move SFmode code to immediately after DFmode code.
+	(S_MODES, D_MODES): Handle XFmode.
+	(XF_MODES): Was TF_MODES, handle XFmode instead of TFmode.
+	(hard_regno_mode_ok): Replace TFmode with XFmode.
+	(i960_output_long_double): New function.
+
+	* i960.h (DATA_ALIGNMENT): Define.
+	(ROUND_TYPE_ALIGN): Align XFmode scalars at 128 bit boundaries.
+	(ROUND_TYPE_SIZE): Round up the size of XFmode objects to 128 bits.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Use CONST0_RTX and CONST1_RTX
+	so that all FP modes are recognized.
+	(ASM_OUTPUT_LONG_DOUBLE): Define.
+
+	* i960.md: Change all TFmode patterns to have XFmode.
+	(movxf recognizer, frame version): Use movt, ldt, and stt.
+	(movxf recognizer, non-frame version): Delete.
+	(extenddfxf2): Delete * before f constraint.
+	(extendsfxf2): Likewise.
+
+Wed May 17 17:53:35 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* unroll.c (unroll_loop): Increment copy_start_luid if copy_start
+	is loop_start.
+
+Wed May 17 17:44:57 1995  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* fold-const.c (invert_truthvalue, case CLEANUP_POINT_EXPR): New case.
+
+Tue May 16 18:51:16 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.h (TARGET_SWITCHES): Add -mstring to enable string
+	instructions, and -mno-string to disable them.
+	(MOVE_MAX): Don't test TARGET_MULTIPLE anymore.
+	(MAX_MOVE_MAX): Set to 8, not 16.
+	(expand_block_move): Add declaration.
+
+	* rs6000/rs6000.c (expand_block_move): New function to expand
+	block moves when -mstring is used.
+
+	* rs6000/rs6000.md (movti): Use TARGET_STRING, not TARGET_MULTIPLE.
+	(load_multiple, store_multiple): Ditto.
+	(string insns): Add 8, 6, 4, 2, and 1 register variants for using
+	the native string instructions if -mstring.
+
+	* rs6000/sysv4.h (CPP_SPEC): If little endian, define
+	_LITTLE_ENDIAN and set littleendian assertion.  If big endian,
+	define _BIG_ENDIAN and set bigendian assertion.
+	* rs6000/sysv4le.h (CPP_SPEC): Copy from sysv4.h, and change
+	default to little endian.
+
+	* rs6000/rs6000.c (override_options): Check for -mmultiple and
+	-mstring on little endian systems here.
+	* rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't do the check
+	here.
+
+Tue May 16 18:36:41 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* alpha.c: Changed WINNT to _WIN32.
+	* alpha/config-nt.bat, i386/config-nt.bat: Added commands to
+	generate specs.h and options.h.
+	* i386/config-nt.sed: Changed link32 to link.
+	* winnt/ld.c (main): Removed call to free.
+	* configure.bat: Added line to echo usage on invalid input.
+	* gcc.c (fix_argv): Removed call to free.
+	* gcc.c, getpwd.c, protoize.c, sdbout.c: Changed WINNT to _WIN32.
+	* toplev.c: Likewise.
+
+Tue May 16 18:04:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* toplev.c (pfatal_with_name, fatal_io_error, vfatal):
+	Use FATAL_EXIT_CODE instead of magic number.
+	* cccp.c, cpplib.c, cpplib.h: Use FATAL_EXIT_CODE instead
+	of FAILURE_EXIT_CODE.
+	* fix-header.c, gen-protos.c: Likewise.
+	* cpperror.c, cppmain.c: Likewise.
+	Include config.h #ifndef EMACS.
+	* xm-alpha.h, xm-rs6000.h, xm-vms.h (FAILURE_EXIT_CODE): Remove.
+
+Tue May 16 17:46:57 1995  Adam Fedor  <fedor@colorado.edu>
+
+	* objc/archive.c (__objc_write_class): Write class version.
+	(__objc_write_selector, objc_{write,read}_selector): Handle null
+	selector.
+
+        * objc/sarray.h (struct sarray): Make capacity size_t.
+        * objc/sarray.c (sarray_realloc): Make array index variables size_t.
+
+Tue May 16 06:59:08 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* dsp16xx.c (print_operand_address): Fix misspellings in messages.
+	* i370/mvs.h (FUNCTION_PROFILER): Likewise.
+	* mips-tdump.c (type_to_string): Likewise.
+	* print-tree.c (print_node): Likewise.
+
+	* protoize.c (edit_fn_definition): Fix mispelled local `have_flotsam'.
+
+	* objc/sendmsg.c (__objc_init_install_dtable): Fix misspelling
+	in name of local label `already_initialized'.
+
+	* winnt/winnt.h (STDC_VALUE): Was misspelled.
+
+	* m68k/ccur-GAS.h (FUNCTION_BOUNDARY): Was misspelled.
+
+	* 1750a.h (DEFAULT_PCC_STRUCT_RETURN): Was misspelled.
+
+Mon May 15 23:41:25 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Make sure to encode section
+	info for all libcalls.
+
+Mon May 15 20:58:00 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* collect2.c (strstr): Define ifndef POSIX.
+
+	* defaults.h (SUPPORTS_WEAK): Provide default.
+	* aoutos.h, sparc/sunos4.h: Don't support weak symbols.
+	* netbsd.h, svr4.h, i386/freebsd.h, i386/osfrose.h,
+        m88k/m88k.h: Define ASM_WEAKEN_LABEL instead of WEAK_ASM_OP.
+	* c-pragma.h: Check ASM_WEAKEN_LABEL instead of WEAK_ASM_OP.
+        HANDLE_PRAGMA_WEAK is never defined in a tm.h file.
+	* c-decl.c (duplicate_decls): Propagate DECL_WEAK.
+	* tree.h (DECL_WEAK): New macro.
+	(tree_decl): Add weak_flag.
+	* varasm.c (assemble_start_function): Declare the symbol weak if
+	appropriate.
+	(assemble_variable): Ditto.
+	(assemble_alias): Ditto.  Mark the decl as written.
+	(declare_weak): Check for weak declaration after definition.
+	Set DECL_WEAK.
+	(weak_finish): Use ASM_WEAKEN_LABEL.
+	* libgcc2.c: The C++ free-store management functions are weak
+        aliases on targets that always support them.
+
+Mon May 15 19:01:43 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure (out_object_file): New variable; put value in Makefile.
+	* Makefile.in (out_object_file): Use in place of aux-output.o.
+
+	* fold-const.c (const_binop): Don't pass OVERFLOW to force_fit_type
+	if type is unsigned.
+
+Mon May 15 18:48:26 1995  Paul Eggert <eggert@twinsun.com>
+
+        * install.sh (transformbasename): Fix misspelling.
+
+	* tahoe.h (CHECK_FLOAT_VALUE): Fix misspelling of OVERFLOW parameter.
+
+	* i386.h (VALID_MACHINE_{DECL,TYPE_ATTRIBUTE): Fix typo.
+
+	* fx80.h (CHECK_FLOAT_VALUE): Fix misspelled use of parameter.
+
+	* a29k.c (spec_reg_operand): Fix misspelling of `default:'.
+
+Mon May 15 18:36:41 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.md (b{eq,ne,ge,lt}0_di): Fixed for non-MOTOROLA syntax.
+	* m68k/xm-mot3300.h (alloca): Extern decl added for non-GNU compiler.
+
+Mon May 15 13:14:29 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cppexp.c (cpp_reader):  Test for '#' (start of assertion) *after*
+	skipping hspace, not before.
+
+Mon May 15 08:13:54 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* vmsconfig.com: Construct options.h and specs.h to #include
+	all "*/lang-{options|specs}.h" files found.
+
+Sun May 14 21:32:49 1995  Doug Evans  <dje@cygnus.com>
+
+	* alpha/alpha.md (movsicc, case NE): Don't generate unrecognizable
+	insn.
+	(movdicc, case NE): Likewise.
+
+Sun May 14 15:44:54 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* unroll.c (unroll_loop): Make local_regno have size
+	max_reg_before_loop.  Don't do local register optimization if
+	copy_end has no INSN_LUID.
+
+Sun May 14 10:38:23 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* objc-act.c (start_method_def): Mark _self as possibly unused.
+
+	* configure: Create specs.h and options.h from */lang-specs.h
+	and */lang-options.h.
+	Set lang_specs_files and lang_options_file variables in Makefile.
+	* Makefile.in (lang_{specs,options}_files): New variables.
+	(gcc.o): Depends on $(lang_specs_files).
+	(toplev.o): Depends on $(lang_options_file); merge two dep lists.
+	(distclean): Remove spes.h and options.
+	* gcc.c (default_compilers): Remove entries for Ada, C++, Chill,
+	and Fortran; #include specs.h instead.
+	* toplev.c (lang_options): Remove entries for Ada, C++, and Fortran;
+	include options.h instead.
+
+Sat May 13 23:11:21 1995  DJ Delorie  <dj@delorie.com>
+
+	* configure (i[345]86-go32-msdos, i[345]86-*-go32): New targets.
+
+Sat May 13 10:58:38 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* loop.c (record_giv): When computing replaceable, use
+	back_branch_in_range_p instead of looking for branches to named
+	labels.
+	* loop.h (back_branch_in_range_p): Declare.
+	* unroll.c (back_branch_in_range_p): No longer static.
+
+Sat May 13 06:47:11 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_shift_count, case LSHIFTRT): Don't merge
+	shifts of different modes if first is any right shift.
+
+Sat May 13 05:39:09 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
+
+	* configure (arm-semi-aout): New configuration.
+	* config.sub: Add support for semi-hosted ARM.
+	* arm/t-semi, arm/semi.h: New files.
+
+Fri May 12 21:51:22 1995  Doug Evans  <dje@cygnus.com>
+
+	* flow.c (find_basic_blocks): Only perform n_basic_blocks sanity
+	check on first pass, and on second pass ensure it has the correct
+	value.
+
+Fri May 12 19:23:11 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* c-typeck.c (build_binary_op): Warn when ~unsigned is compared
+	against unsigned, and type promotions result in an unexpected
+	answer.
+
+Fri May 12 19:10:21 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* configure (*-*-gnu*): Always use ELF; set tm_file=${cpu_type}/gnu.h.
+	* config/i386/gnu.h: Contents replaced with old i386/gnuelf.h.
+	* config/i386/gnuelf.h: File removed.
+
+Fri May 12 17:29:57 1995  Ken Raeburn  (raeburn@cygnus.com)
+
+	* m68k/lb1sf68.asm (__IMMEDIATE_PREFIX__): Default to #.
+	(IMM): New macro.
+	(all code): Use IMM macro instead of hardcoding # for immediate
+	operands.
+
+Fri May 12 16:52:10 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* m68k.c (output_scc_di): New function.
+	(extend_operator) : Allow DImode target.
+	* m68k.h (HARD_REGNO_MODE_OK): Don't allow d7/a0 as DImode reg pair.
+	* m68k.md (tstdi, cmpdi, addsi_lshrsi_31, ashldi_extsi): New patterns.
+	(extendqidi2, extendhidi2, extendsidi2): Allow "general_operand"
+	instead of "register_operand" 0.
+	(adddid_sexthishl32, subdid_sexthishl32, subdi_dishl32): Likewise.
+	(adddi_dilshr32): Operand 0 constraint changed from "ro" to "do";
+	Code generation fixed.
+	(adddi_mem, subdi_mem): Fixed for "<" and ">" operand 0.
+	(adddi3, subdi3): Operand 2 constraint changed from "ao" to "*ao"
+	(ashldi_sexthi, ashrdi_const32): Allow only "register_operand"
+	instead of "general_operand" 0.
+	(ash[lr]di_const, ash[lr]di3): Allow also 8 and 16 as shift count.
+	(subreg1ashrdi_const32): Pattern deleted.
+	(subreghi1ashrdi_const32, subregsi1ashrdi_const32): New pattern.
+	(lshrsi_31): New implementation.
+	(scc0_di, scc_di, beq0_di, bne0_di, bge0_di, blt0_di): New patterns.
+
+Fri May 12 16:50:49 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>
+
+	* pa.md (bb patterns): Fix bugs in length computation exposed by
+	recent branch shortening and genattrtab changes.
+
+Fri May 12 16:22:27 1995  Ken Raeburn  <raeburn@cygnus.com>
+
+	* cccp.c (enum node_type): Add T_IMMEDIATE_PREFIX_TYPE.
+	(special_symbol): Handle it; emit value of IMMEDIATE_PREFIX.
+	(IMMEDIATE_PREFIX): Default to empty string.
+	(initialize_builtins): Install __IMMEDIATE_PREFIX__ builtin,
+	parallel to __REGISTER_PREFIX__.
+
+Fri May 12 14:40:03 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* cccp.c: #if VMS, don't define `stat' macro to be VMS_stat.
+	Compare enums explicitly to 0 to work around VAX C bug.
+	(do_include): Cast alloca's value.
+
+	* make-cc1.com (bc_loop): Process comma-separated list rather
+	than space-separated one; restore .h suffix stripped by vmsconfig;
+	(loop1): More robust handling of directory prefix on file names.
+	* vmsconfig.com (TPU makefile.in): Reorganize and reformat code.
+	Make generated .opt files have more consistent format (all comma
+	separated, excess whitespace eliminated);
+	(additional_compiler): New routine.
+	(process_makefile): Use it to handle cc1plus via cp/Make-lang.in.
+
+Fri May 12 13:35:07 1995  Doug Evans  <dje@cygnus.com>
+
+	* arm.h: Replace ARM_REG_PREFIX with REGISTER_PREFIX.
+	Replace ARM_COMMENT_CHAR with ASM_COMMENT_START.
+	(REGISTER_PREFIX): Define.
+	(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Define.
+	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle DFmodes only if
+	TARGET_HARD_FLOAT.
+	(PREDICATE_CODES): Add soft_df_operand.
+	* arm.c: Replace ARM_REG_PREFIX with REGISTER_PREFIX.
+	Replace ARM_COMMENT_CHAR with ASM_COMMENT_START.
+	(arm_asm_output_label): Use USER_LABEL_PREFIX.
+	(soft_df_operand): New function.
+	* arm.md (movsicc): New pattern.
+	(movsfcc, movdfcc, *movsicc_insn, *movsfcc_hard_insn): Likewise.
+	(*movsfcc_soft_insn, *movdfcc_insn): Likewise.
+	(*movdf_soft_insn): Rewrite.
+	(movsi matcher): Fix typo in type attribute.
+
+Fri May 12 10:25:40 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* i386.h (TARGET_RTD): Use MASK_RTD, not MASK_REGPARM.
+	(TARGET_SWITCHES): Add -m{,no-}align-double switch.
+	(TARGET_OPTIONS): Add -mregparm= switch to set number of registers
+	to use for passing arguments.  Add -malign-loops= switch to set
+	the alignment for loops.  Add -malign-jumps= switch to set the
+	alignment for code that is jumped to.  Add -malign-functions=
+	switch to set the initial alignment of functions.
+	(TARGET_REGPARM): Delete, in favor of -mregparm=
+	(TARGET_SWITCHES): Delete -mregparm, add -mdebug-arg switches.
+	(RETURN_POPS_ARGS): Call i386_return_pops_args to do the real work.
+	(VALID_MACHINE_DECL_ATTRIBUTE): Define as function call.
+	(VALID_MACHINE_TYPE_ATTRIBUTE): Define as function call.
+	(COMP_TYPE_ATTRIBUTES): Define as function call.
+	(REGPARM_MAX): Maximum number of regs to use for passing arguments.
+	(CUMULATIVE_ARGS): Make this a structure, not an int.
+	(INIT_CUMULATIVE_ARGS, FUNCTION_ARG{,_ADVANCE}): Call function.
+	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+	(MAX_CODE_ALIGN): Maximum value to align loops/jumps to.
+	(BIGGEST_ALIGNMENT): Return 64 if -malign-double, 32 otherwise.
+	(ASM_OUTPUT_ALIGN_CODE): Use value of -malign-jumps= switch.
+	(ASM_OUTPUT_LOOP_ALIGN): Use value of -malign-loops= switch.
+	(toplevel): Declare all new functions and external variables added
+	in i386.c.
+
+	* i386.c (i386_regparm_string, i386_regparm): New variables
+	for -mregparm= switch to set the number of registers to use for
+	passing arguments.
+	(i386_align_loops_string, i386_align_loops): New variables for
+	-malign-loops= switch to set alignment to use for loops.
+	(i386_align_jumps_string, i386_align_jumps): New variables for
+	-malign-jumps= switch to set alignment to use for labels that are
+	jumped to.
+	(override_options): Support new switches.
+	(i386_valid_decl_attribute_p): New function to validate decl
+	specific attributes.  Presently returns 0.
+	(i386_valid_type_attribute_p):  New function to validate type
+	specific attributes.  Recognize "stdcall", which says function
+	with fixed numbers of arguments is responsible for popping stack,
+	"cdecl", which says to use the normal C calling sequence, even if
+	-mrtd is used, and "regparm", which specifies the number of
+	registers to use for passing arguments.
+	(i386_comp_type_attributes): New function, to validate whether
+	attributes are compatible.
+	(i386_return_pops_args): New function, to return whether or not
+	the function pops its argument list or not, taking into account
+	-mrtd, and the stdcall/cdecl attributes.
+	(init_cumulative_args): Rewrite as a function, taking variable
+	argument functions, and regparm support into account.
+	(function_arg{,_advance,_partial_nreg}): Likewise.
+	(print_operand): Support %J, to print appropriate jump insn.
+
+	* i386.md (decrement_and_branch_until_zero): Define pattern,
+	so that loops that count down to zero, don't have an unneeded
+	compare after the decrement.  Add a general insn recognizer for
+	add to a value and compare against zero.
+
+	* i386/go32.h, i386/winnt.h (VALID_MACHINE_DECL_ATTRIBUTE):
+	Delete, code folded into the mainline.
+	(RETURN_POPS_ARGS): Likewise.
+
+	* i386/winnt.h (ENCODE_SECTION_INFO): The stdcall attribute is now
+	stored on the type field, rather than the decl.
+
+	* i386/gas.h (ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN): Use
+	i386_align_{loops,jumps} variables to do alignment.
+	* i386/osfrose.h, i386/svr3dbx.h: Likewise.
+
+Fri May 12 12:48:19 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_type, case ARRAY_TYPE): Compute length using
+	MAX of length and zero if sizetype signed and neither bound constant.
+
+	* i386/gnuelf.h, i386/linux-oldld.h, i386/lynx-ng.h, i386/v3gas.h:
+	Use <...> in #include instead of "...".
+	* m68k/lynx-ng.h, sparc/lynx-ng.h: Likewise.
+
+	* c-parse.in (myparm): Handle attributes.
+	* objc-act.c (unused_list): New variable.
+	(build_tmp_function_decl): Call push_parm_decl with new format.
+	(start_class): Initialize unused_list.
+	(start_method_def): Call push_parm_decl with new format and
+	mark _cmp as possibly unused.
+
+	* combine.c (simplify_shift_const): Don't change SHIFT_MODE
+	for LSHIFTRT either.
+
+	* unroll.c (unroll_loop): Don't move reg if used in copy_end and
+	that is a JUMP_INSN.
+
+Fri May 12 12:31:37 1995  Doug Evans  <dje@cygnus.com>
+
+	* arm/lib1funcs.asm: New file.
+
+Fri May 12 11:52:03 1995  Kung Hsu  <kung@cygnus.com>
+
+	* configure (a29k-*-vxworks*): New target.
+	* config.sub (vxworks29k): New alias.
+	* a29k/t-vx29k: New file.
+	* a29k/vx29k.h: New file.
+
+Fri May 12 11:17:28 1995  Jim Wilson  <wilson@mole.gnu.ai.mit.edu>
+
+	* loop.c (check_dbra_loop): When reversing loop when
+	no_use_except_counting is false, there must be only one biv.
+
+Fri May 12 07:10:00 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* unroll.c (unroll_loop): Only use local_regno for pseudos.
+
+	* genattrtab.c (write_test_expr, case MATCH_DUP): Use operands[N]
+	instead of JUMP_LABEL (which may not be set).
+	(walk_attr_value, case MATCH_DUP): Set must_extract.
+
+	* c-parse.in: Adjust number of shift/reduce conflicts.
+	(parm): Support attributes.
+	* c-decl.c (push_parm_decl): Pass any attributes to decl_attributes.
+
+Fri May 12 00:36:26 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cpplib.c (skip_quoted_string):  Removed - no longer needed.
+	(skip_if_group):  Use cpp_get_token instead of skip_quoted_string.
+
+	* cpplib.h (struct cpp_reader):  Remove start_line field.
+	Add multiline_string_line field.
+
+	* cpplib.c (cpp_error_with_line, cpp_warning_with_line,
+	cpp_pedwarn_with_line):  Take extra column number parameter.
+	(macroexpand, cpp_get_token):  Fix reporting of unterminated strings.
+	(line_for_error):  Removed - no longer needed.
+
+Fri May 12 02:21:34 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* mips/svr4-t.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX,
+	STARTFILE_SPEC, LINK_SPEC): Define.
+	* configure (mips-tandem-sysv4): Use t-mips not t-svr4.
+
+Thu May 11 19:18:54 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cpplib.c (line_for_error):  Make it work; add extra parameter.
+	(skip_quoted_string, cpp_get_token):  Update calls to line_for_error.
+	(macroexpand):  Remember initial line so we can report it if the
+	call is unterminated.  Also, simplify error logic slightly.
+	(do_include):  Cast alloca return value, to avoid pcc warning.
+
+	* cppexp.c (parse_number):  Cleanup some Cygnus crud for MPW.
+
+Thu May 11 21:35:23 1995  Torbjorn Granlund  <tege@cygnus.com>
+
+	From Moshier:
+	* i960.c (i960_output_ldconst): Let split_double handle DImode.
+	(i960_print_operand): Use REAL_VALUE_TO_DECIMAL for decimal strings.
+	(i960_output_double, i960_output_float):  Likewise; also change arg
+	VALUE from `double' to `REAL_VALUE_TYPE'.
+
+Thu May 11 21:09:25 1995  Per Bothner  (bothner@wombat.gnu.ai.mit.edu)
+
+	* cpperror.c (cpp_print_containing_files):  Remove some
+	Cygnus-local stuff.
+
+Thu May 11 21:06:47 1995  Doug Evans  <dje@canuck.cygnus.com>
+
+	* gcc.c (link_command_spec): Make -nostdlib no longer imply
+	-nostartfiles.
+
+Thu May 11 18:48:57 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* c-common.c (convert_and_check): Don't diagnose overflow in constant
+	expression merely because conversion overflowed.
+
+Thu May 11 18:43:59 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (grokdeclarator): Use PARM_FLAG to see if should
+	make PARM_DECL.
+	* c-parse.in (nested_function, notype_nested_function):
+	Allow old-style arg definitions (use xdecls).
+
+	* c-decl.c (finish_struct): Properly update DECL_PACKED.
+
+Thu May 11 15:24:15 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* fold-const.c (fold): Also fold CLEANUP_POINT_EXPRs into
+        TRUTH_*_EXPRs and into the first operand.
+	(operand_equal_for_comparison_p): Also make sure the second operand
+	is integral.
+
+Thu May 11 14:22:03 1995  Ted Lemon  <mellon@toccata.fugue.com>
+
+	* config/mips/netbsd.h: New file.
+	* config/mips/t-mips-netbsd: New file.
+	* config/mips/x-netbsd: New file.
+
+	* configure (mips-dec-netbsd*): Add entry.
+
+	* mips.h (LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX): Define.
+	(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END, ASM_OUTPUT_LABEL_REF,
+	ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL,
+	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use them.
+
+	* mips.c (mips_output_lineno): Use LOCAL_LABEL_PREFIX.
+
+Thu May 11 14:22:03 1995  Stan Cox  (gcc@dg-rtp.dg.com)
+
+	* dwarfout.c (output_decl): Don't output DIE for struct or union type
+	with no name or with ERROR_MARK for the fields.
+
+Thu May 11 06:36:34 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* flow.c (mark_used_regs): If a SUBREG does not have a REG in the
+	SUBREG_REG position, recursively call mark_used_regs, instead of
+	segfaulting.
+
+Thu May 11 06:44:34 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* expr.c (do_jump, case EQ_EXPR, NE_EXPR): Fix typo for complex.
+
+Wed May 10 12:34:46 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* configure: Add support for the little endian variant of the
+	PowerPC System V.4 and Eabi targets.  If the GNU assembler was not
+	specified, don't build libgcc.a variants on the PowerPC systems
+	that use -mrelocatable, -mlittle, and -mbig.
+
+	* genmultilib: For MULTILIB_MATCHES arguments, map question marks
+	into equal signs after spliting the left and right side of
+	equivalent options, to all support for options like: -mcpu=403.
+
+	* rs6000/rs6000.md (rs6000_immed_double_const): New function that
+	is like immed_double_const, except that it reverses the two words
+	in the constant if the target is little endian.
+
+	* rs6000/rs6000.md (floatsidf2): Use rs6000_immed_double_const,
+	not immed_double_const.
+	(floatunssidf2): Ditto.
+
+	* rs6000/rs6000.h: Add declarations for all functions in rs6000.c.
+
+	* rs6000/sysv4.h (TARGET_SWITCHES): Add -mlittle, -mlittle-endian,
+	-mbig, and -mbig-endian for bi-endian support.
+	(ASM_SPEC): Pass -mlittle/-mbig to the assembler if it was passed
+	to us.
+	(LINK_SPEC): If explicit little or big endian support was
+	requested, tell the GNU linker to use the appropriate target
+	format.
+
+	* rs6000/t-eabi (MULTILIB_*): Build libgcc.a variants for software
+	floating point.  Remove mrelocatable libgcc.a variant.
+
+	* rs6000/t-eabigas: New file, cloned from t-eabi.  Build
+	mrelocatable libgcc.a variant in addition to the other variants.
+
+	* rs6000/t-ppc: New file, for PowerPC System V.4 support without
+	the GNU assembler.
+
+	* rs6000/t-ppcgas: New file, for PowerPC System V.4 support with
+	the GNU assembler.
+
+	* rs6000/eabile.h: New file, little endian eabi config file.
+	* rs6000/sysv4le.h: New file, little endian V.4 config file.
+
+Wed May 10 14:22:28 1995  Doug Evans  <dje@cygnus.com>
+
+	* libgcc1-test.c (main_without__main): Renamed from `main'.
+	* Makefile.in (libgcc1-test): Tell the user to ignore warnings.
+
+	* configure: Support --enable-foo, --disable-foo.
+
+Wed May 10 10:34:00 1995  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* unroll.c: Add declarations of static functions.
+	(unroll_loop): Renumber regs local to loop for each unrolled iteration.
+
+Wed May 10 08:27:03 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (alpha_set_emit_const): Cleanups to work properly
+	when run on 32-bit host.
+
+	* configure: Instead of symlinking tm.h and {h,t,}config.h,
+	make them files that #include the proper file; pass to Makefile.
+	Pass out_file and md_file to Makefile instead of making symlinks.
+	* Makefile.in (out_file, md_file, tm_file, {build,host}_xm_file):
+	New symbols, to be overridden by configure.
+	(insn-*): Use $(md_file), not md.
+	(aux-output.o): Use $(out_file), not aux-output.c.
+	($(MD_FILE)): Rework to use new conventions.
+	(gen*.o, bi-*.o): Depend on $(build_xm_file), not hconfig.h.
+	(scan.o, fix-header.o, scan-decls.o): Likewise.
+	(distclean): Adjust files removed for new convention.
+
+Tue May  9 19:26:42 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* rs6000/rs6000.h (LIBGCC_SPEC): Do link with libgcc when -shared.
+
+	* Makefile.in (STAGESTUFF): Add underscore.c.
+	(underscore.c): Rename temporary files to begin with 'tmp-' so that
+	they will be removed by 'make mostlyclean'.
+
+Tue May  9 19:19:55 1995  Mike Stump  <mrs@cygnus.com>
+
+	* toplev.c (lang_options): Add new flag -ffor-scope.
+
+Tue May  9 19:11:47 1995  Lee Iverson  (leei@ai.sri.com)
+
+	* objc/init.c (objc_init_statics): Fix missing part of last change.
+
+Tue May  9 18:25:34 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* i386/gnu.h, i386/linux.h, i386/linux-aout.h, i386/lynx.h:
+	Use <...> in #include instead of "..." to avoid recursion.
+	* i386/netbsd.h, i386/xm-gnu.h, i386/xm-linux.h: Likewise.
+	* i386/xm-lynx.h, i386/xm-freebsd.h, i386/xm-netbsd.h: Likewise.
+	* m68k/lynx.h, m68k/netbsd.h, m68k/xm-lynx.h: Likewise.
+	* m68k/xm-netbsd.h, mips/gnu.h, ns32k/netbsd.h: Likewise.
+	* ns32k/xm-netbsd.h, rs6000/lynx.h, rs6000/xm-lynx.h: Likewise.
+	* sparc/lynx.h, sparc/netbsd.h, sparc/xm-lynx.h: Likewise.
+	* sparc/xm-netbsd.h, vax/netbsd.h, vax/xm-netbsd.h: Likewise.
+
+Tue May  9 15:52:05 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* config.sub: Recognize powerpcle as the little endian varient of
+	the PowerPC.  Recgonize ppc as a PowerPC variant, and ppcle as a
+	powerpcle variant.  Convert pentium into i586, not i486.  Add p5
+	alias for i586.  Map new x86 variants p6, k5, nexgen into i586
+	temporarily.
+
+Tue May  9 15:43:27 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* rs6000/rs6000.h (LINK_SPEC, LIB_SPEC): Don't mess with libg
+        if -shared.
+	* rs6000/aix41ppc.h (LINK_SPEC): Ditto.
+
+	* rs6000/powerpc.h: Don't emit .extern directives.
+
+Tue May  9 14:08:09 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sh/lib1funcs.asm (__ashrsi3, __ashlsi3, __lshrsi3): Use .byte
+	instead of .word offsets in switch table.
+
+Tue May  9 11:44:47 1995  Jeremy Bettis  <jbettis@cse.unl.edu>
+
+	* objc/sendmsg.c (__objc_send_initialize): Call superclass if object
+	does not implement +initialize.
+
+Tue May  9 02:44:16 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* rs6000/xm-rs6000.h (COLLECT_EXPORT_LIST): Define if not
+        cross-compiling.
+	* rs6000/xm-mach.h: #undef COLLECT_EXPORT_LIST.
+	* rs6000/rs6000.h (COLLECT_SCAN_OBJECTS): Lose.
+
+	* collect2.c (collect_exit): Unlink export_file.
+	(prefix_from_string): Broken out from prefix_from_env.
+	(prefix_from_env): Call it.
+	(main): Under AIX, recognize -bE: and -bexport:, and don't
+	automatically export everything if we see one.  Otherwise, scan the
+	objects individually and add all their symbols to an export file to be
+	passed to the linker.
+	(write_export_file): New function.
+	(scan_prog_file): Ignore symbols starting with '.'
+
+	* c-common.c (declare_hidden_char_array): Mark decl artificial.
+
+Mon May  8 18:13:57 1995  Adam Fedor  <fedor@colorado.edu>
+
+	* objc/init.c (_objc_load_callback): Add declaration.
+	(__objc_exec_class): Call _objc_load_callback after every Class
+	or Category is added.
+	* objc/objc-api.h (_objc_load_callback): Add declaration.
+
+Mon May  8 17:56:28 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case INDIRECT_REF): Set RTX_UNCHANGING_P
+	if both TREE_READONLY and TREE_STATIC set.
+
+	* c-typeck.c (convert_for_assignment): Don't give errors about
+	adding const or volatile unless both sides point to functions.
+
+Mon May  8 11:48:23 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* configure: If ../ld/Makefile, symlink ../ld/ld.new to collect-ld,
+	not real-ld.  Don't test for $use_collect2 any more.
+
+Sun May  7 17:52:23 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* calls.c (expand_call): Improve -Winline warnings.
+
+Sun May  7 17:28:27 1995  DJ Delorie  (dj@delorie.com)
+
+	* configure.bat: Use "go32" instead of "msdos" for future expansion.
+
+	* i386/go32.h: Add support for win32's stdcall functions.
+
+	* configure.bat: Add ^M to end of each line.
+	* i386/config-nt.bat, alpha/config-nt.bat: Likewise.
+
+Sun May  7 02:12:26 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* tree.h (DECL_ARTIFICIAL): New macro.
+
+	* function.c (expand_function_end): Don't warn about unused
+        anonymous or artificial parms.
+
+Fri May  5 18:41:22 1995  Jim Meyering  (meyering@comco.com)
+
+	* configure: Fix typo in name of "maintainer-clean".
+
+Fri May  5 14:58:01 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+ 	* pa.c (emit_move_sequence): Force problematical constants
+	into memory during the reload pass when generating PIC.
+
+Fri May  5 13:30:33 1995  Doug Evans  <dje@cygnus.com>
+
+	* objc/NXConstStr.m: NXConstantString.h renamed to NXConststr.h.
+
+Fri May  5 07:10:15 1995  Stephen L Moshier  (moshier@world.std.com)
+
+	* real.c (emdnorm, toe64, etoe64): Significand of Intel long double
+	denormals is shifted down one bit.
+
+Fri May  5 07:04:12 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (process_init_element): Don't clear_momentary if
+	constructor_stack is not empty.
+
+	* objc/Makefile (SHELL): Now /bin/sh.
+
+	* c-typeck.c (build_binary_op): Also warn about ordered
+	comparison of pointer with zero if -Wall.
+
+	* expr.c (do_jump, case EQ_EXPR, NE_EXPR): Properly compare complex.
+
+Thu May  4 18:01:25 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* objc/Makefile: NXConstantString renamed to NXConstStr.
+	* objc/NXConstStr.m: Renamed from objc/NXConstantString.m.
+	* objc/NXConstStr.h: Renamed from objc/NXConstantString.h.
+
+Thu May  4 17:38:21 1995  J.T. Conklin  <jtc@netbsd.org>
+
+	* configure (vax-*-netbsd*): New configuration.
+	* vax/netbsd.h, vax/xm-netbsd.h: New files.
+
+Thu May  4 16:39:05 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* collect2.c (main): Add check for 'collect-ld', just like
+        'real-ld', except that old versions won't be looking for it in the
+        path.  Don't look for 'real-ld' in the path anymore.  Sigh.
+
+	* collect2.c: #include demangle.h and obstack.h.
+	(obstack_chunk_alloc): Define.
+	(obstack_chunk_free): Define.
+	(generic): Don't define.  Don't use.
+	(main): Initialize obstacks and demangling.
+
+	* collect2.c (dump_file): Adjust space padding in output to
+        maintain tabulation with Solaris ld.  Don't demangle if the
+        environment variable COLLECT_NO_DEMANGLE is set.
+
+        * collect2.c (main): Redirect the output of the first link and
+        demangle it.  Don't collect static c/dtors unless USE_COLLECT2 is
+        defined.  Null-terminate the list of objects.
+	(dump_file): New function.
+	(file_exists): New function.
+	(collect_exit): Renamed from my_exit.  Dump and remove the temporary
+	ld output file.
+	(collect_execute): Break out from fork_execute.  Support redirection.
+	(fork_execute): Call it.
+	(fatal_perror, fatal, error): Make non-static.
+	(xcalloc, xmalloc): Don't use generic.
+	(xrealloc): Define.
+	(collect_wait): Break out for do_wait.  Just return the exit status.
+	(do_wait): Call it.
+
+	* collect2.c: Check SUNOS4_SHARED_LIBRARIES using #if, not #ifdef.
+
+	* Makefile.in (collect2): Now uses cplus-dem.o and underscore.o.
+	(collect2.o): Pass MAYBE_USE_COLLECT2 to compile.
+	(underscore.c): Rules for creation.
+
+	* cplus-dem.c, demangle.h: Copy from libiberty.
+
+Thu May  4 14:12:35 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sdbout.c (plain_type): Pass additional argument to plain_type_1.
+	(plain_type_1): New parameter level.  Increment it when making
+	recursive calls.  Force the type to void_type_mode before starting
+	a 7th level of recursion.
+
+	* sh.c (general_movsrc_operand, general_movdst_operand): Delete
+	references to POST_DEC and PRE_INC.
+	* sh.h: Clean up whitespace, comments, etc.
+	(TARGET_SH, RTL_BIT, DT_BIT, C_BIT, R_BIT, TARGET_DUMP_RTL,
+	TARGET_DUMP_R, TARGET_CDUMP): Delete.
+	(TARGET_SWITCHES): Delete -mR, -mc, -mr options.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Delete 'G' contraint.
+	(FUNCTION_VALUE): Simplify.
+	(REG_OK_FOR_PRE_POST_P, IS_INDEX): Delete.
+	(BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P): Rewrite to allow
+	SUBREGs.
+	(GO_IF_LEGITIMATE_INDEX): Delete unused REGNO argument.
+	(GO_IF_LEGITIMATE_ADDRESS): Use BASE_REGISTER_RTX_P instead of
+	REG_OK_FOR_PRE_POST_P.  Don't accept PRE_INC or POST_DEC addresses.
+	(PREDICATE_CODES, PROMOTE_MODE): Define.
+
+Wed May  3 09:57:55 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.md (non power abs insns): If not powerpc, use
+	sf/subfc instructions, not subf.
+
+Wed May  3 08:49:06 1995  Alan Modra  <alan@SPRI.Levels.UniSA.Edu.Au>
+
+	* protoize.c (gen_aux_info_file): Use strerror #ifdef HAVE_STRERROR.
+
+Wed May  3 01:06:01 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>
+
+	* pa.c (output_call): Fix typo/thinko in last change.
+	(output_function_epilogue): Align the data section before
+	emitting deferred plabels.
+
+	From Torbjorn:
+	* pa.c (before functions): Declare deferred_plabels and
+	n_deferred_plabels.
+	(output_call): When generating pic, don't use LP and RP.  Use 32 bit
+	plabel instead.
+	(output_function_epilogue): Output plabels accumulated in output_call.
+
+Tue May  2 17:15:08 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>
+
+	* pa.c (hppa_expand_epilogue): Fix thinko in last change.
+
+Tue May  2 16:54:35 1995  Doug Evans  <dje@cygnus.com>
+
+	* jump.c (jump_optimize, can_reach_end determination): A barrier can
+	follow the return insn.
+
+Tue May  2 12:39:55 1995  Mike Stump  <mrs@cygnus.com>
+
+	* fold-const.c (fold): Ensure that we don't alter the expression's
+	type when folding CLEANUP_POINT_EXPRs.
+
+Tue May  2 13:36:08 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* expmed.c (emit_store_flag): When creating store flag
+	instructions from simpler parts, such as XOR, ABS, etc. do not
+	reuse pseudo registers if expensive optimizations, instead create new
+	pseudos for each insn result.
+
+Tue May  2 01:25:29 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.c (hppa_expand_epilogue): Correctly handle restore of %rp
+	for functions with a stack size of exactly 8kbytes and no frame
+	pointer.
+
+Mon May  1 19:27:08 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sdbout.c (sdbout_one_type): Don't switch to text section if
+	in function with section attribute.
+
+	* combine.c (combine_instrutions): Set subst_prev_insn to zero.
+	(try_combine, undo_all): Likewise.
+	(get_last_value): Return zero if subst_prev_insn set.
+
+	* sparc.h (INIT_TARGET_OPTABS): Move INIT_SUBTARGET_OPTABS to end.
+
+	* Makefile.in (install-dir): chmod a+rx all newly created directories.
+
+	* expr.c (expand_expr, case SAVE_EXPR): Handle the case where
+	mode is VOIDmode.
+
+Fri Apr 28 15:39:38 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cpplib.h (cpp_buffer):  Note new escape combination "@ ".
+	* cpplib.c (macroexpand):  Delete "@ " if stringifying.
+	(cpp_skip_hspace):  Also skip "@ " if input buffer has_escapes.
+	(collect_expansion):   Cleanup white-space handling.
+	(create_definition):  Remove all leading spaces, not just first one.
+	(cpp_expand_to_buffer):  Set has_escapes on resulting input buffer.
+	(macroexpand):  Set output_escapes during whole function (and
+	specifically during calls of macarg).
+	(macroexpand):  Set "@ " before and after expansion result.
+	(push_macro_expansion):  Remove unneeded initial "@ ", not " ".
+	(cpp_get_token):  Remove unneeded "@ " (not " ") at end of expansion.
+	(cpp_get_token):  Handle "@ ".
+
+	* cpplib.c (read_name_map):  Add cpp_reader parameter.  Access
+	map_list from former (instead of having it be static).
+	(open_include_file):  Extra parameter (because of above changes).
+	(do_include, lookup_import):  Update calls of open_include_file.
+
+	* cpplib.c (do_include):  Fix memory leak.
+
+	* cpplib.c (delete_assertion):  Also delete tokenlist.
+	(do_unassert):  Don't delete tokenlist (handled by delete_assertion).
+	(cpp_cleanup):  New function.  Frees resources used by a cpp_reader.
+	* cpphash.c (cpp_hash_cleanup):  New function.
+	(delete_macro):  Enable commented-out code.
+	(file_cleanup):  Free actual buffer.
+
+	* cpplib.c (cpp_options):  Add map_list.
+
+	* cpplib.h (PARSE_GETC):  Removed.  Bogus and unused.
+	* cppmain.c (main):  Remove commented-out code that used PARSE_GETC.
+
+	* cpplib.c:  Don't #include <string.h>.  Causes clashes
+	on Nextstep (when index/rindex are macros).
+	(cpp_grow_buffer, int_parse_file):  Cast to U_CHAR*, rather than char*.
+
+Sun Apr 30 08:11:23 1995  Alan Modra  (alan@spri.levels.unisa.edu.au)
+
+	* stdarg.h, varargs.h (va_arg): Don't assume __va_rounded_size (char)
+	has the value of 4.
+
+Sun Apr 30 07:13:43 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* vax.h (NOTICE_UPDATE_CC): Correctly handle aob insns.
+
+	* expr.c (expand_expr, case CONSTRUCTOR): Don't set target to
+	zero if more then one word.
+	Pass size and alignment to move_by_pieces_ninsns in bytes, not bits.
+
+	* cse.c (cse_insn): Properly set IN_MEMORY for SET_DEST.
+
+	* tree.c (substitute_in_expr): Preserve TREE_READONLY.
+
+	* c-common.c (enum attrs): Add A_UNUSED.
+	(init_attributes): Initialize it.
+	(decl_attributes, case A_UNUSED): New case.
+
+Sat Apr 29 15:42:03 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (do_include): Re-fix minor memory leak by using
+	alloca instead of xmalloc and free.
+
+	* cccp.c (macarg): Except for reporting error, treat unterminated
+	macro call as if it were terminated, since `macroexpand' relies
+	on *argptr being filled in.
+
+Sat Apr 29 06:09:35 1995  Torbjorn Granlund  <tege@cygnus.com>
+
+	* pa.c (output_mul_insn): Simplify, it is never called with
+	UNSIGNEDP set.
+
+	* pa.md (divsi3, udivsi3, modsi3, umodsi3): Simplify.
+	(ashlsi3): Clean up indentation and commentary.
+
+Fri Apr 28 12:48:01 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* integrate.c (expand_inline_function): Don't emit any notes until
+        after we've expanded the actual parameters.
+
+Fri Apr 28 11:51:06 1995  Stan Cox  (gcc@dg-rtp.dg.com)
+
+        * m88k/dgux.h: (ENDFILE_SPEC, LIB_SPEC) Fix crtbegin and crtend
+        (SELECT_RTX_SECTION) Put relocatable pic constants in data section
+
+        * m88k/dguxbcs.h: (LIB_SPEC) Likewise
+
+        * m88k/m88k.c: (symbolic_operand) Put relocatable pic constants in data
+
+        * m88k/m88k.h: (FRAME_POINTER_REQUIRED) Add -momit-leaf-frame-pointer
+
+        * m88k/m88k.md: (umulsidi3) Doesn't work for 88110 with mod/div changes
+
+        * m88k/x-dgux: (GCC_FOR_TARGET) tdesc gets mixed up for crtbegin/crtend
+
+Fri Apr 28 06:36:47 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (pop_init_level, output_init_element): Pass
+	require_constant_* to digest_init.
+
+	* alpha.c (alpha_emit_set_const): Now returns rtx and take MODE arg.
+	Rework to use a new pseudo for intermediate values if high opt level.
+	Also use expand_{bin,un}op.
+	* alpha.h (alpha_emit_set_const): Add declaration.
+	* alpha.md (mov[sd]i and splits): Change call to alpha_emit_set_const.
+
+	* reg-stack.c (stack_result): Fix bug in last change.
+
+Fri Apr 28 01:08:43 1995  Doug Evans  <dje@cygnus.com>
+
+	* objc-act.c: Update calls to start_decl, finish_struct,
+	pass NULLs for attributes.
+
+Thu Apr 27 21:13:14 1995  Doug Evans  <dje@cygnus.com>
+
+	* sparc.md (tablejump): Only if ! TARGET_MEDANY.
+	(casesi): New pattern for TARGET_MEDANY case.
+
+	* c-common.c (decl_attributes): Always continue if attribute not found.
+	* c-typeck.c (common_type): Call lookup_attribute instead of
+	value_member.
+	* tree.c (attribute_hash_list): New function.
+	(build_type_attribute_variant): Call it.
+	(valid_machine_attribute): Handle attributes with arguments.
+	(is_attribute_p): New function.
+	(lookup_attribute): New function.
+	(attribute_in_list): Deleted.
+	(attribute_list_contained): Check TREE_PURPOSE and TREE_VALUE.
+	* tree.h (valid_machine_attribute): Add prototype.
+	(is_attribute_p, lookup_attribute): Likewise.
+	* i386/winnt.h (RETURN_POPS_ARGS): Call lookup_attribute.
+	(ENCODE_SECTION_INFO): Likewise.
+	(CPP_PREDEFINES): Use __stdcall__, __cdecl__.
+	(VALID_MACHINE_DECL_ATTRIBUTE): Call is_attribute_p.
+	`args' must be NULL.
+
+Thu Apr 27 21:10:41 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.md (insv): New anonymous patterns to combine insert with
+	arbitrary ashift, ashiftrt, lshiftrt, or zero_extract.  (Based on
+	patch from John Brooks <jbrooks@ea.com>.)
+	(ashlsi3): Remove extraneous operand processing.
+
+Thu Apr 27 18:47:24 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sh/ashlsi3.c, sh/ashrsi3.c, sh/lshrsi3.c: Delete.
+	* sh/lib1funcs.asm (ashiftrt_r4_*): Rewrite for efficiency.
+	(ashrsi3, lshrsi3, lshrsi3): Add.
+	* t-sh (LIB1ASMFUNCS): Add new functions.
+	(LIBGCC2_CFLAGS): Delete.
+	(LIB2FUNCS_EXTRA): Remove deleted files.
+	(ashlsi3.c, ashrsi3.c, lshrsi3.c): Remove rules for deleted files.
+
+	* stmt.c (expand_return): When returning BLKmode structure, use
+	operand_subword instead of doing arithmetic on the register number.
+	Also, for structures smaller than word_mode, copy it into a word_mode
+	temporary and then subreg it.
+
+	* sparc.md: Delete two define_peepholes which print `bad peephole'.
+
+Thu Apr 27 16:17:01 1995  Torbjorn Granlund  <tege@cygnus.com>
+
+	* toplev.c (rest_of_compilation): Call shorten_branches even when
+	!optimize.
+	* final.c (shorten_branches): For non-optimizing compiles, break
+	after first pass.
+
+Thu Apr 27 14:22:50 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* i386/linux-oldld.h: New file, that is cloned from linux-aout.h,
+	except that it does not pass -m i386linux to the linker.  This is
+	to support the original Linux ld that is on most distributions.
+
+	* configure (i[345]86-*-linux*oldld*): Use i386/linux-oldld.h as
+	the target file.
+
+Thu Apr 27 08:56:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (valid_machine_attribute): Update last change.
+
+Thu Apr 27 08:06:33 1995  Philippe De Muyter (phdm@info.ucl.ac.be)
+
+	* fix-header.c, cpplib.c: Don't include <sys/stat.h> twice.
+	* cpplib.c (cpp_grow_buffer, init_parse_file): Cast {xmalloc,xrealloc}
+	for token_buffer to U_CHAR* instead of char*.
+
+	* m68k/x-mot3300: New file.
+	* configure (m68k-motorola-sysv*): Use x-mot3300 instead of x-alloca.
+
+Thu Apr 27 07:04:09 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (do_include): Fix minor memory leak.
+
+	* cccp.c (struct argdata): Remove unused `comments' member.
+	(macarg): Don't set `comments' member.
+
+	* cccp.c (collect_expansion): Assume leading white space
+	already removed.
+	Don't allocate unnecessary space for expansion.
+
+	* cccp.c (deps_output): Don't generate overly long output lines.
+	Do not invoke self recursively with spacer == 0; this simplifies
+	the code a bit.
+
+Wed Apr 26 19:20:02 1995  Andrew McCallum  <mccallum@leopard.cs.rochester.edu>
+
+	* objc/Object.h: Changed Class * to Class in order to match NEXTSTEP
+	and OpenStep runtime.
+	* objc/Object.m, objc/Object.h, objc/archive.c, objc/class.c: Likewise.
+	* objc/encoding.c, objc/init.c, objc/objc-api.h, objc/objc.h: Likewise.
+	* objc/objects.c, objc/runtime.h, objc/selector.c: Likewise.
+	* objc/sendmsg.c, objc/typedstream.h: Likewise.
+
+Wed Apr 26 19:18:52 1995  Pieter Schoenmakers  <tiggr@es.ele.tue.nl>
+
+	* objc/objc-api.h (objc_static_instances): New struct to record
+	static instances of a certain class.
+	(objc_module): New tag STATICS to point to the table of
+	objc_statics_instances.
+
+	* objc/init.c (OBJC_VERSION): Version 7.
+	(objc_init_statics): New function.
+	(__objc_exec_class): Invoke objc_init_statics if needed.
+
+	* objc/NXConstantString.m, objc/NXConstantString.h: New files.
+	* objc/Makefile (OBJC_O): Added bare-bones implementation of
+	NXConstantString.
+
+	* objc-act.c (OBJC_VERSION): Version 7.
+	(build_objc_string_object): Build a full declaration if not using
+	the next runtime.
+	(objc_add_static_instance): New function.
+	(init_module_descriptor): Add reference to static instances table.
+	(build_module_descriptor): Add field for static instances table.
+	(get_objc_string_decl): New function.
+	(generate_static_references): New function.
+	(finish_objc): Call generate_static_references if needed.
+
+	* c-tree.h (finish_decl_top_level): New declaration.
+	* c-decl.c (finish_decl_top_level): New function.
+
+Wed Apr 26 18:04:32 1995  Dirk Steinberg  (Dirk.Steinberg@gmd.de)
+
+	* stddef.h: Treat _MACHINE_ANSI_H_ like _ANSI_H_.
+
+Wed Apr 26 14:09:59 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* sparc.h (NEGTF2_LIBCALL): Define.
+	(INIT_TARGET_OPTABS): Add support for all TFmode *_LIBCALL macros.
+	* optabs.c (init_optabs): Delete all uses of undocumented TImode and
+	TFmode *_LIBCALL macros.
+
+	* combine.c (simplify_rtx, case TRUNCATE): Add.  Use force_to_mode.
+	(force_to_mode, case AND): Allow some simplifications when GET_MODE (x)
+	has more bits than HOST_BITS_PER_WIDE_INT.
+	* mips/mips.md (truncdiqi2+[456]): Add patterns to simplify ZERO_EXTEND
+	of a TRUNCATE.
+
+Wed Apr 26 13:01:22 1995  Doug Evans  <dje@cygnus.com>
+
+	* sparc.md (memop define_splits): Rewrite to not use memop.
+	Preserve MEM_IN_STRUCT_P, MEM_VOLATILE_P, RTX_UNCHANGING_P bits.
+	* sparc.c (memop): Deleted.
+	(splittable_symbolic_memory_operand): New function.
+	(splittable_immediate_memory_operand): New function.
+
+Wed Apr 26 12:54:26 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* configure: Add hppa1.1-hp-lites support.
+
+Wed Apr 26 08:04:46 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sh.md (ashrsi2_31): Don't use dead_or_set_p after reload.
+	* pyr.md: Remove bad peepholes that improperly use dead_or_set_p.
+
+	* function.c (expand_function_end): Warn about unused parms
+	if both -Wunused and -W.
+
+	* tree.h (TYPE_PARSE_INFO): Delete unused field.
+	(TYPE_PACKED): Add new macro.
+	(struct tree_type): Delete unused field `parse_info'.
+	Add new field `packed_flag'.
+	* c-tree.h (finish_enum, finish_struct): Add ATTRIBUTES argument.
+	* c-common.c (init_attributes): Don't require decl for A_PACKED.
+	(decl_attributes, case A_PACKED): Set TYPE_PACKED for type.
+	* c-parse.in: Update number of shift/reduce conflicts.
+	(structsp): Pass attribute arg to finish_struct.
+	Support attributes on enums and pass to finish_enum.
+	* c-decl.c (finish_struct): Add ATTRIBUTES argument, call
+	decl_attributes and set DECL_PACKED from TYPE_PACKED.
+	(finish_enum): Add ATTRIBUTES argument, call decl_attributes,
+	and make enum narrow if TYPE_PACKED.
+	* print-tree.c (print_node): Print TYPE_PACKED.
+
+	* c-decl.c (init_decl_processing): Don't give builtin__constant_p an
+	argument type.
+	* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a
+	string constant is a constant.
+
+	* c-typeck.c (output_init_element): Constructor is not simple if
+	a bitfield is being assigned a non-integer.
+
+	* c-typeck.c (push_init_level): Update constructor_depth when we
+	push spelling level.
+
+Tue Apr 25 19:50:06 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.c (emit_move_sequence): Handle function label arithmetic for
+	PIC code generation too.
+
+Tue Apr 25 18:52:43 1995  Stephen R. van den Berg  (berg@pool.informatik.rwth-aachen.de)
+
+	* reg-stack.c (current_function_returns_real): Deleted (unused).
+	(FP_mode_reg): Trimmed to a smaller size, less overhead.
+	(FP_MODE_REG): New macro over which FP_mode_reg will be accessed.
+	(mark_regs_pat, straighten_stack): New functions.
+	(reg_to_stack): Amend initialisation of FP_mode_reg.
+	Mark FP registers mentioned in USE insns before NOTE_INSN_FUNCTION_BEG.
+	(get_true_reg): Eliminate FP subreg accesses in favour of the
+	actual FP register in use.
+	(record_reg_life_pat): Make it work on SUBREGs as well.  Make use of
+	the new mark_regs_pat function.  Handle USE insns if called unnested.
+	(record_reg_life): Don't check for QImode again, we know that it
+	is there.  Process CALL_INSNs like all other insns, they might `use'
+	some FP argument registers if register passing.
+	(stack_result_p): Changed in stack_result and returning an rtx.
+	(stack_reg_life_analysis): Take a new stackentry state argument.
+	Use stack_result and the rtx to mark using mark_regs_pat.  This ensures
+	that types that need multiple FP registers are handled correctly.
+	Delete the no_live_regs shortcut to save space.
+	Use stackentry state to determine filled registers.
+	(replace_reg): Accept COMPLEX_FLOAT as well.
+	(move_for_stack_reg): Optimise away some pointer dereferencing.
+	(subst_stack_regs): Make sure the stack is in the right order
+	and of the right size for register passing.
+	(goto_block_pat): Make sure the stack is in the right order
+	to return possible multi-register values from the function.
+	(convert_regs): Fix comment about CALL_INSN, it's no longer valid.
+	Make sure the stack is of the right size and in the right order
+	to return possible multi-register values from the function.
+
+	* function.c (assign_parms): If STACK_REGS is defined, generate USE
+	insns before the function body, thus showing which registers are filled
+	with parameters.
+	* expr.c (expand_builtin_apply_args): Likewise.
+	Reverse order of saving registers, more compact code for i387.
+	(expand_builtin_apply): Likewise.
+	* emit-rtl.c (gen_highpart): Add comment about broken implementation.
+	* i386.md (untyped_call): Make it return a complex double.
+
+        * c-parse.in (attrib): Permit null-length argument list to attributes.
+
+	* tree.c (valid_machine_attribute): Use new function attribute_in_list,
+	makes sure type_attribute_variants are reused even when attributes have
+	parameters.
+	Assign any new type to TREE_TYPE (decl).
+	(attribute_in_list): New function.
+	(attribute_list_contained): Use it.
+	* tree.h (attribute_in_list): New declaration.
+
+Tue Apr 25 18:25:53 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* expr.c (struct move_by_pieces): Add to_struct and from_struct fields.
+	(move_by_pieces): Set to_struct and from_struct fields.
+	(move_by_pieces_1): Set MEM_IN_STRUCT_P of to1 and from1.
+	(expand_builtin, case BUILT_IN_MEMCPY): New variable type.
+	Set MEM_IN_STRUCT_P of src_mem and dest_mem.
+
+	* Makefile.in (clean): Delete libgcc1-asm.a.
+
+	* m68k/vxm68k.h (CPP_SPEC): Define.
+
+	* c-decl.c (pushdecl): Don't test DECL_EXTERNAL when deciding whether
+	to register a duplicate decl in the current block.
+
+	* cross64.h (INIT_ENVIRONMENT): Define as string not putenv call.
+	* gcc.c (main): Pass INIT_ENVIRONMENT to putenv.
+
+	* stmt.c (expand_return): When returning BLKmode structure in
+	registers, copy it to a psuedo-reg instead of to hard registers.
+
+Tue Apr 25 15:14:58 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.h (LEGITIMIZE_ADDRESS): Don't create a DF address using two
+	regs if -msoft-float or -mcpu=403.
+
+Tue Apr 25 15:45:44 1995  Richard Henderson  (richard@atheist.tamu.edu)
+
+	* m68k.md (divhi3, udivhi3, modhi3, umodhi3): Deleted
+	these insns plus some surrounding trash.
+ 	(divmodhi4, udivmodhi4): Added these insns.
+
+Tue Apr 25 10:12:40 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (alpha_builtin_saveregs): Refine last change to work
+	for both stdarg and varargs.
+
+	* tree.c (chain_member_purpose): Make similar to chain_member_value.
+
+	* Makefile.in, configure: Change "realclean" to "maintainer-clean".
+
+	* protoize.c: Removed __NetBSD__ from conditional.
+	Declare strerror if HAVE_STRERROR is defined; otherwise
+	declare sys_errlist and sys_nerr.
+	(my_strerror): New function.
+	(errno): Don't define if already defined as a macro.
+
+	* alpha.c (current_file_function_operand): Return false if profiling.
+
+	* expr.c (convert_move): Don't access a hard reg in an invalid
+	mode when doing a truncation.
+
+	* alpha.c (add_operand): Test for exactly the constants allowed by
+	the constraints.
+	* alpha.h (CONST_OK_FOR_LETTER_P, case 'L'): Reject 0x80000000.
+
+	* c-parse.in (initdcl, notype_initdcl): Pass attributes to
+	start_decl; delete call to decl_attributes.
+	* c-tree.h (start_decl): Two new tree parameters.
+	* c-decl.c (start_decl): New args for attributes; call decl_attributes.
+
+	* c-decl.c (duplicate_decls): Don't look at TYPE_ACTUAL_ARG_TYPES
+	if it is not set.
+
+	* xm-1750a.h: New file.
+
+	* alpha.c (alpha_builtin_saveregs): Add to incoming args addr
+	if less than 6 named args, not less than or equal to.
+
+Mon Apr 24 15:25:19 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* mips-tfile.c (fatal, error): Make first arg const to avoid warning.
+
+	* stmt.c (expand_end_bindings): Write a BARRIER after call
+	to abort in nonlocal handler.
+
+	* stmt.c (expand_decl_init): Call preserve_temp_slots to keep
+	around any temp whose address was taken.
+
+Fri Apr 21 16:26:15 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
+
+	* pa.md (call_internal_reg): Fix typos in length calculation.
+	(call_value_internal_reg): Likewise.
+
+Fri Apr 21 13:17:15 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* config/gnu.h (STANDARD_INCLUDE_DIR): New macro.
+	* config/mips/gnu.h (STANDARD_INCLUDE_DIR): Macro moved there.
+
+Fri Apr 21 08:23:58 1995  Tom Quiggle  (quiggle@lovelace.engr.sgi.com)
+
+	* toplev.c (lang_options): Add -I for GNAT.
+	* gcc.c (default_compilers): Pass -I to gnat1.
+
+Fri Apr 21 07:58:06 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* tree.c (integer_all_onesp): Test to size of mode, not TYPE_PRECISION.
+
+	* toplev.c (main): Turn on -fforce-mem for -O2.
+
+	* fold-const.c ([lr]rotate_double): Replace; old versions were bogus.
+	(fold, shift and rotate): Don't call tree_int_cst_sgn on non-integer.
+	(fold, case LROTATE_EXPR): If constant count, convert to RROTATE_EXPR.
+	(fold, case RROTATE_EXPR): Sometimes commute logical op with rotate.
+	Delete pair of counteracting shifts.
+
+	* combine.c (simplify_logical, case AND): If still an AND, get
+	new values for op0 and op1.
+
+Thu Apr 20 17:52:10 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.c: Completely rewritten.
+	* sh.h (FAST_BIT, CONSTLEN_2_BIT, CONSTLEN_3_BIT, CONSTLEN_0_BIT,
+	TARGET_FASTCODE, TARGET_CLEN3, TARGET_CLEN0, TARGET_OPTIONS): Delete.
+	(TARGET_SWITCHES): Delete -mclen3 and -mclen0 options.
+	(TARGET_DEFAULT): Is zero.
+	(OVERRIDE_OPTIONS): Delete code to set max_count_si and max_count_hi.
+	(SPECIAL_REG): New macro.
+	(HARD_REGNO_MODE_OK): Allow any mode in any general register.
+	(GO_IF_LEGITIMATE_ADDRESS): Delete constant + reg address case.
+	(MOVE_RATIO): Define to 2 when TARGET_SMALLCODE.
+	(max_si, max_hi, max_count_si, max_count_hi): Delete.
+	* sh.md: Delete spurious constraints from all define_expands.
+	(rotlsi3_1): Set T reg instead of clobbering it.
+	(ashrsi3): Use expand_ashiftrt instead of gen_shifty_op.
+	(movsi_i, movhi_i, movsf_i): Add conditions to reject patterns
+	needing a reload.
+	(movdi-2, movdf_k): Correct conditions to reject patterns needing
+	a reload.
+	([inverse_]branch_{true,false}): Pass operands to output_branch.
+	(jump): Delete unnecessary braces.
+	(call, call_value): Don't use expand_acall.  Force operand0 into
+	a register.
+
+Thu Apr 20 12:57:16 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* function.c (assign_parms): Use TREE_ADDRESSABLE rather than
+        TYPE_NEEDS_CONSTRUCTING to decide whether a parameter needs to be
+        passed by invisible reference.
+
+	* calls.c (expand_call): Ditto.  Abort if we try to pre-evaluate a
+        parameter of TREE_ADDRESSABLE type.
+
+Wed Apr 19 17:50:24 1995  Torbjorn Granlund  <tege@cygnus.com>
+
+	* pa.h (TARGET_SWITCHES): Fix typo.
+
+Tue Apr 18 18:06:03 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* expr.c (store_constructor):  Use BYTES_BIG_ENDIAN rather
+	than BITS_BIG_ENDIAN to layout bits within bitstring.
+	* tree.c (get_set_constructor_bytes):  Likewise.
+
+Tue Apr 18 17:22:46 1995  Per Bothner  (bothner@wombat.gnu.ai.mit.edu)
+
+	* config/m68k/{x-hp320,x-hp320g} (FIXPROTO_DEFINES):
+	Define _HPUX_SOURCE so putenv and other functions get seen.
+
+Tue Apr 18 03:57:35 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* varasm.c (weak_decls): Make this a unique structure, instead of
+	a tree structure.
+	(handle_pragma_weak): Don't redeclare asm_out_file.  Use new weak
+	structure to copy name and value to.  Protect name and value by
+	copying them to the permanent obstack.
+	(declare_weak): Call handle_pragma_weak, instead of duplicating
+	the code.
+	(finish_weak): Rewrite to use new weak symbols list structure.
+
+	* c-pragma.h: New file to define the c-pragma.c interfaces.
+	* c-pragma.c: Include it.
+	* varasm.c: Include it.
+	* c-lex.c: Include it.
+	* cp/lex.c: Include it.
+
+	* varasm.c (handle_pragma_weak): No longer pass output file
+	stream, since weak pragmas are delayed until the end of the
+	compilation.
+	* c-pragma.c (handle_pragma_token): Call handle_pragma_weak
+	without file stream argument.
+
+	* Makefile.in (varasm.o, c-lex.o, c-pragma.o): Add dependencies on
+	c-pragma.h.
+
+	* config/rs6000.md (movdf): If -msoft-float, do not generate
+	memory to memory references, like is already done for the
+	-mhard-float case.  Remove an extra test for -mhard-float inside
+	of -mhard-float code.
+
+Tue Apr 18 06:19:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (size_int): Arg is unsigned HOST_WIDE_INT.
+	* tree.h (size_int): Likewise.
+
+Mon Apr 17 23:36:57 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* rs6000/aix41.h: Restore March 11th changes, plus
+        (ASM_OUTPUT_EXTERNAL): Do add [DS] or [RW], just don't emit
+        anything.
+	* rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Ditto.
+
+Mon Apr 17 15:58:52 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* config/mips/x-iris (FIXPROTO_DEFINES):  Add -D_LANGUAGE_C_PLUS_PLUS.
+	* config/mips/x-iris6:  Likewise.
+
+	* cpplib.c:  Rename  make_definition to cpp_define.
+	* cpplib.h (cpp_define):  New declaration.
+
+	* cpplib.c (special_symbol):  For T_SPECLINE, calculate __LINE__
+	in enclosing file buffer, not current buffer (if macro expanding).
+	(cpp_get_token):  Fix thinko (in code for chopping unneeded space).
+
+Mon Apr 17 11:36:07 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* abi64.h (CPP_SPECS): Define and use _ABI64 instead of
+	_MIPS_SIM_ABI64.
+	(SETUP_INCOMING_VARARGS): Set MEM_IN_STRUCT_P if big endian target.
+	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define.
+
+	* combine.c (get_last_value): Ignore BARRIER when scanning backwards.
+	(move_deaths): New variables before_dead and after_dead.  Set them
+	to instructions that have valid INSN_CUID values and use in test.
+
+	* combine.c (subst_prev_insn): New variable.
+	(try_combine): Set it.
+	(get_last_value): Use it.
+
+	* reload.c (find_reloads): Recompute reg_equiv_address from
+	reg_equiv_memory_loc before using it.
+	(find_reloads_toplev, make_memloc): Likewise.
+
+	* expr.c (expand_builtin, case BUILT_IN_MEMCPY): Call force_operand
+	on dest_rtx before returning it.
+
+	* function.c (instantiate_decls): Use temporary allocation if
+	DECL_DEFER_OUTPUT is set.
+
+Sat Apr 15 23:19:03 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* aoutos.h (ASM_OUTPUT_DEF): Define instead of SET_ASM_OP.
+	* sparc/sunos4.h (ASM_OUTPUT_DEF): Ditto.
+
+	* varasm.c (weak_finish): Don't handle aliases.
+	(declare_weak): Ditto.
+	(assemble_alias): Handle aliases.
+
+	* c-common.c (enum attrs): Add A_ALIAS.
+	(init_attributes): Ditto.
+	(decl_attributes): Ditto.
+
+Sat Apr 15 13:26:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call): Call preserve_temp_slots on temps
+	made for BLKmode args returned in registers.
+
+	* pa.c (override_options): Fix typo.
+
+Sat Apr 15 12:11:46 1995  Brendan Kehoe  <brendan@cygnus.com>
+
+	* alpha/alpha.c (output_epilog): Initialize fp_offset to 0, and
+	make sure it's non-zero before we try to use it to restore the
+	frame pointer.
+
+Fri Apr 14 19:45:05 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* ginclude/va-{clipper,pa,pyr,sparc,spur}.h (va_arg): Reorganize
+        to avoid BIND_EXPRs and COND_EXPRs of aggregate type.
+
+Fri Apr 14 19:31:14 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* config/svr4.h (ASM_OUTPUT_SECTION_NAME): Make the section
+ 	read-only executable "ax" if DECL is a FUNCTION_DECL; read-only
+ 	"a" (previously the case always) if DECL is TREE_READONLY;
+ 	otherwise writable "aw".
+
+Fri Apr 14 18:49:11 1995  Linus Torvalds  <Linus.Torvalds@cs.Helsinki.FI>
+
+	* alpha.md (probe_stack): Probe with write, not read.
+	(allocate_stack): Update and correct stack probe code.
+	* alpha.c (output_prolog): Changed stack probe at function entry.
+
+Fri Apr 14 18:42:34 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* jump.c (delete_insn): When deleting after label, delete
+	a BARRIER as well.
+
+Fri Apr 14 14:40:48 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* toplev.c (compile_file): Call weak_finish.
+
+	* c-common.c (enum attrs): Add A_WEAK.
+	(init_attributes): Ditto.
+	(decl_attributes): Support __attribute__ ((weak)) by
+        calling declare_weak.
+
+	* sparc/sunos4.h (HANDLE_PRAGMA_WEAK, WEAK_ASM_OP, SET_ASM_OP):
+        Define to support weak symbols with -fgnu-linker.
+	* aoutos.h: Ditto.
+
+	* varasm.c (handle_pragma_weak): Add declared weak symbols to
+        weak_decls rather than emitting them immediately.
+	(declare_weak): Add the indicated declaration to weak_decls.
+	(weak_finish): Emit .weak directives for any weak symbols.
+
+	* libgcc2.c: The C++ free-store management functions are weak.
+
+Fri Apr 14 13:00:29 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* rs6000/rs6000.c (output_prolog): For eabi systems, emit main's
+	call to __eabi before setting up the minimal TOC used with the
+	-mrelocatable support.
+
+	* rs6000/eabi.h (INVOKE__main): Don't define any more,
+	output_prolog will emit the call.
+
+Fri Apr 14 09:09:03 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* alpha.c (call_operand): Any reg is valid for NT.
+	(output_prologue): Never need GP for Windows/NT.
+	Set SYMBOL_REF_FLAG in current function decl.
+
+Thu Apr 13 20:19:30 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* alpha/xm-alpha.h (HAVE_VPRINTF): Define.
+	(HAVE_PUTENV): Define.
+	(POSIX): Define.
+
+Thu Apr 13 19:57:44 1995  Doug Evans  <dje@cygnus.com>
+
+	* emit-rtl.c (gen_sequence): If the insn has a non-null
+	CALL_INSN_FUNCTION_USAGE field, output it as a sequence so the
+	latter isn't discarded.
+
+	* c-parse.in: Update expected conflict count.
+
+Thu Apr 13 08:10:20 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* configure.bat: Arg 2 is which machine (i386 or alpha).
+	* configure (alpha-*-winnt3*): New configuration.
+	* alpha.c: Don't #include stamp.h for WINNT.
+	(input_operand, case CONST): Allow ptr_mode and DImode.
+	* alpha.h (WINDOWS_NT): Provide default definition.
+	(ASM_OUTPUT_INT): Use output_addr_const.
+	(ASM_OUTPUT_ADDR_DIFF_ELT): Use .long for NT.
+	* alpha.md (calll, tablejump, movsi): New variants for NT.
+	* alpha/winnt.h, alpha/xm-winnt.h, alpha/x-winnt: New files.
+	* alpha/config-nt.bat, alpha/config-nt.sed: New files.
+	* i386/config-nt.bat: Add Ada fragments to Makefile.
+	* i386/config-nt.sed: Adjust for deletion of config.run in Makefile.in
+	Change version to 2.6.3.
+	Add some missing tabs.
+	* winnt/winnt.h (TARGET_MEM_FUNCTIONS): Define.
+	(LINK_SPEC): Delete "align:0x1000".
+	* winnt/xm-winnt.h (OBJECT_SUFFIX): Define.
+	* ginclude/stdarg.h, ginclude/varargs.h: Clean up code that
+	defines *DEFINED* symbols.
+
+	* configure (a29k-*-sym1*): Same as a29k-*-bsd*.
+	* a29k.h (ASM_OUTPUT_SECTION_NAME): New macro.
+
+Wed Apr 12 14:36:03 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* dbxout.c (dbxout_type_fields): Correct arguments to CHARS macro
+	in flag_minimal_debug case.
+	(dbxout_symbol_name): Use DECL_ASSEMBLER_NAME unconditionally.
+	* sdbout.c (sdbout_record_type_name): Correct indentation.
+	(sdbout_symbol): Use DECL_ASSEMBLER_NAME unconditionally.
+	(sdbout_one_type): Likewise.
+
+Tue Apr 11 13:24:13 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* fix-header.c (main):  Fix loop over required_functions_list.
+	(fatal):  Also print inc_filename.
+
+	* cpplib.c (cpp_push_buffer):  Added missing initializatuon of buf.
+	(cpp_file_buffer):  Compare against CPP_NULL_BUFFER, not NULL.
+	(finclude):  No longer call cpp_push_buffer - let callers do it.
+	(do_include):  Add call to cpp_push_buffer.
+	(push_parse_file):  Call cpp_push_buffer early, so initial
+	defines can use file and line from a valid cpp_buffer.
+	(nreverse_pending):  New function.
+	(push_parse_file):  Use nreverse_pending.
+	(push_parse_file):  For -include files, just push them in reverse
+	order - we don't need to scan them now.
+	(cpp_error_from_errno, cpp_perror_with_name):  Don't emit extra '\n'.
+
+Tue Apr 11 13:36:44 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* configure (mips-dec-mach3): Add.
+
+	* sh.c (shiftby_operand): Delete.
+	* sh.h (TARGET_SWITCHES): -m3 and -m3l also set SH2_BIT.
+	(OVERRIDE_OPTIONS): Don't add CPU_SH2 to CPU_SH3 when TARGET_SH3.
+	* sh.md (ashlsi3): Use nonmemory_operand as a predicate instead of
+	shiftby_operand.  Don't use shiftby_operand in the output statement.
+	(lshrsi3): Likewise.
+
+	* c-decl.c (poplevel): Do output inline function if
+	DECL_ABSTRACT_ORIGIN points to itself.
+
+	* varasm.c (output_constant): Cast assemble_string argument to char *.
+
+Mon Apr 10 14:29:28 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
+
+	* recog.c (constrain_operands, case 'E'): Make this work like
+	constraint character `F' when REAL_ARITHMETIC is defined.
+	* regclass.c (record_reg_classes, case 'E'): Likewise.
+	* reload.c (find_reloads, case 'E'): Likewise.
+
+Mon Apr 10 14:30:31 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/aix3newas.h, rs6000/aix41.h: Eliminate March 11th changes
+	to undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}, since this causes the
+	compiler not to bootstrap.
+
+Mon Apr 10 07:17:39 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cppalloc.c: #include config.h.
+	* cppexp.c: Add declarations of xmalloc and xrealloc.
+	(cpp_parse_expr): Cast args to bcopy to char *.
+	* cpphash.c: Add declaration of xmalloc.
+	* cpplib.c (init_parse_options, cpp_reader): Cast args to bcopy,
+	bcmp, and bzero to char *.
+	(add_import, push_parse_file, init_parse_file): Likewise.
+
+	* c-common.c (enum attrs): New attribute, A_NOCOMMON.
+	(init_attribute): Initialize it.
+	(decl_attributes): Implement it.
+	* varasm.c (make_decl_rtl): Allow section attribute if -fno-common
+	or variable is not to be placed in common for some other reason.
+
+	* combine.c (simplify_set): Don't move a SUBREG to dest if it
+	is changing the size of a hard reg in CLASS_CANNOT_CHANGE_SIZE.
+
+	* reload.c (find_equiv_reg): If goal is a pseudo that got memory,
+	a store into memory makes it invalid.
+	* reload1.c (reload_as_needed): Call forget_old_reloads_1 on
+	pattern before reg elimination.
+
+Mon Apr 10 00:26:14 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.c (pa_reorg): Bump label use count for each entry in an
+	exploded ADDR_VEC.
+
+Sun Apr  9 09:22:51 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* i386.md (adddi3, subdi3): Need scratch reg whenever operand 0 in
+	mem and operands 1 not '0'.
+	(subdi3): Don't treat two non-equal MEMs as non-aliasing.
+
+Sat Apr  8 22:53:38 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.c (pa_reorg): Fix typo.
+
+Sat Apr  8 19:36:36 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.h (SELECT_SECTION): TREE_CODE_CLASS must be called
+	with a tree code, not a tree value.
+
+Sat Apr  8 12:41:01 1995  Mike Stump  <mrs@cygnus.com>
+
+	* cpphash.c: Don't use const on compilers that don't support it.
+
+Sat Apr  8 16:32:22 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_increment): Handle case where INCREMENTED
+	has a non-trivial conversion.
+
+Fri Apr  7 19:33:21 1995  Phil Nelson  (phil@cs.wwu.edu)
+
+	* ns32k.h (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE):
+	Fix assembler syntax errors.
+
+Fri Apr  7 19:27:23 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* cccp.c (VMS_fstat, VMS_stat):  New functions.
+
+Fri Apr  7 19:25:21 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (collect_expansion): If traditional, set stringify
+	member to SHARP_TOKEN regardless of the value of
+	stringify_sharp_token_type.
+
+Fri Apr  7 07:48:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_unary_operation): #ifdef POINTERS_EXTEND_UNSIGNED,
+	handle sign- or zero-extending addresses.
+
+	* optabs.c (init{,_integral,_floating,_complex}_libfuncs):
+	Change SUFFIX to "char" to avoid confusion with prototype.
+
+	* explow.c (convert_memory_address): No longer static.
+	New arg, TO_MODE.
+	Do something special for SYMBOL_REF, LABEL_REF, and CONST.
+	(memory_address): Add extra arg to call to convert_memory_address.
+	* rtl.h (convert_memory_address): Add extra arg.
+	* expr.c (expand_expr, case ADDR_EXPR): Always call
+	convert_memory_address when converting; add extra arg.
+	* stmt.c (expand_computed_goto): Convert from ptr_mode to Pmode.
+
+	* gcc.c (OBJECT_SUFFIX): Default now ".o", not "o".
+	(all specs): Remove "." before %O; use %O in a few missing cases.
+	* i386/os2.h (OBJECT_SUFFIX): Delete from here.
+	* i386/xm-os2.h (OBJECT_SUFFIX): Move to here; now has period.
+
+	* Makefile.in (STAGESTUFF): Use $(exeext) for executables.
+
+Fri Apr  7 03:32:29 1995  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+
+	* config.sub: Accept -lites* as op sys.
+
+Thu Apr  6 23:08:50 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cpplib.c (bcopy, bzero, bcmp):  Remove #undefs.
+	* cppalloc.c (xcalloc):  Re-implement using calloc,
+	rather than malloc+bzero.
+	* cpplib.c (SELF_DIR_DUMMY):  New macro.
+	(do_include):  Don't pass searchptr to finclude if it is dsp,
+	since that is on the stack, and would cause a dangling pointer.
+	If handling #include_next, recognize SELF_DIR_DUMMY.
+
+Fri Apr  7 00:54:24 1995  Jeffrey A. Law  <law@snake.cs.utah.edu>
+
+	* pa.h (MACHINE_DEPENDENT_REORG): Define.
+	* pa.md (switch_jump): New pattern for jumps which implement
+	a switch table.
+	* pa.c (pa_reorg): New function to explode jump tables.
+	(pa_adjust_insn_length): Account for jumps in switch tables with
+	unfilled delay slots.
+
+Thu Apr  6 14:31:10 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* c-typeck.c (build_binary_op): Don't call common_type for
+        uncommon pointer types.
+
+Wed Apr  5 13:53:17 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	Re-write fixproto/fix-header/etc to use cpplib:
+	* fix-header.c:  Comment out support for adding missing extern "C"
+	using #ifdef ADD_MISSING_EXTERN_C instead of #if 0.
+	* fixproto:  Removed case of required functions.   Instead use ...
+	* fix-header.c (std_include_table):  ... new required-functions table.
+	(cpp_file_line_for_message, cpp_print_containing_files, cpp_message):
+	New stub functions, to intercept cpplib error message.
+	* fixproto:  Don't call $CPP, since fix-header now incorporates cpplib.
+	* gen-protos.c (fatal, hashf):  New functions.
+	(main):  Use hashf, instead of hash.
+	* scan-decls.c (scan_decls, skip_to_closing_brace):  Re-write to
+	take a cpp_reader* as argument, not a FILE*.
+	* scan.h (hash):  Make parameter const.
+	* scan.c (hash):  Removed.
+	* scan.c (memory_full, xmalloc, xrealloc):  Removed.
+	Use functions from cppalloc.c instead.
+	* Makefile.in (gen-prtos, fix-header, stmp-fixproto):  Update.
+
+Wed Apr  5 13:24:14 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* cpplib.c (cpp_get_token): If traditional, return after comment,
+	instead of reading more, so end-of-line can be peeked at.
+	* cpperror.c (cpp_file_line_for_message, cpp_message):  New
+	functions, that do the actual printing of error messages.
+	(cpp_print_file_and_line, cpp_error, cpp_warning, cpp_pedwarn,
+	cpp_error_with_line, cpp_warning_with_line, cpp_pedwarn_with_line,
+	cpp_pedwarn_with_file_and_line, cpp_error_from_errno, my_strerror,
+	cpp_perror_with_name):  Re-write to use cpp_file_line_for_message
+	and cpp_message, and move to cpplib.c.
+
+Tue Apr  4 23:35:49 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* config/gnu.h (GNU_CPP_PREDEFINES): Remove -D__HURD__.
+
+Tue Apr  4 17:15:54 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>
+
+	* pa.h (DO_GLOBAL_DTORS_BODY): Fix pointer -> integer assignment
+	problem.
+
+	* reorg.c (fill_simple_delay_slots): Don't use a JUMP_INSN
+	a the target of another JUMP_INSN to fill a delay slot.
+
+Mon Apr  3 19:03:48 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
+
+	* cse.c (simplify_unary_operation): Sign-extend constants when
+	they have the most significant bit set for the target.
+
+	* m68k.md (umulsi3_highpart): Test for CONST_INT and CONST_DOUBLE,
+	not CONSTANT_P.
+	(smulsi3_highpart): Likewise.
+	* m68k.c (const_uint32_operand): New function.
+	(const_sint32_operand): New function.
+	* m68k.md (const_umulsi3_highpart): Use const_uint32_operand instead
+	of immediate_operand for op3.  Delete mode.
+	(const_smulsi3_highpart): Analogous change.
+
+Mon Apr  3 19:03:48 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* cse.c (simplify_binary_operation): Sign-extend constants when
+	they have the most significant bit set for the target.
+
+	* combine.c (force_to_mode, case PLUS): Sign extend masks that are
+	negative in OP_MODE.
+	(simplify_and_const_int): Sign-extend constants when they have the
+	most significant bit set for the target.
+	(merge_outer_ops): Likewise.
+	(simplify_shift_const): Likewise.
+
+Mon Apr  3 18:23:48 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* toplev.c (lang_options): Add -f{no-,}repo.
+
+Mon Apr  3 18:13:15 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (nonzero_bits, case REG): Check POINTERS_EXTEND_UNSIGNED.
+	(num_sign_bit_copies, case REG): Likewise.
+	* explow.c (convert_memory_address): New function.
+	(memory_address): Call if it needed.
+	(promote_mode, case POINTER_TYPE): Use Pmode and pointer extension.
+	(allocate_dynamic_stack_space): Convert size from ptr_mode.
+	* expr.c (clear_storage, expand_assignment, store_{expr,constructor}):
+	Use ptr_mode instead of Pmode in some places.
+	(expand_expr, expand_builtin): Likewise.
+	(push_block, store_expr): Convert size to Pmode.
+	(expand_expr, case ADDR_EXPR): Convert from Pmode to ptr_mode.
+
+Mon Apr  3 18:00:52 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* explow.c (allocate_dynamic_stack_space): Correct typo in last
+	change.
+
+	* sh.c (gen_shifty_op, case ASHIFTRT): Return 0 if shift count is not
+	a constant.
+
+Mon Apr  3 12:17:10 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* expmed.c (extract_bit_field): When converting a SUBREG into a
+	REG, if the system is big endian, adjust the bit offset
+	appropriately.
+
+Mon Apr  3 00:08:45 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* config/i386/linux.h: Include "config/linux.h" instead of
+ 	"linux.h", to avoid recursion.
+
+Sun Apr  2 23:50:27 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
+
+	* config/i386/gnuelf.h: Include i386/linux.h instead of
+ 	i386/linuxelf.h.
+
+Sun Apr  2 17:35:10 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* cse.c (simplify_relational_operation): Don't simplify A-B for
+	compare of A and B when the compare is unsigned.
+
+Sun Apr  2 08:23:38 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* fixincludes (stdio.h): BSDI 2.0 changed the spelling of _VA_LIST_
+	to _BSD_VA_LIST_.
+
+Sun Apr  2 07:57:28 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* i386/xm-bsd386.h: New file.
+	* configure (i[345]86-*-bsd*): Add xm_file.
+
+	* gcc.c (default_compilers): Pass -W and -w to gnat1.
+
+	* winnt/winnt.h (STDC_VALUE): Add #undef.
+	* i386/winnt.h (LIB_SPEC): Likewise.
+
+Sun Apr  2 07:55:25 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* i386/winnt.h (RETURN_POPS_ARGS, ENCODE_SECTION_INFO): Call
+	chain_member_purpose, not chain_member_value.
+	(ASM_FILE_START, LIB_SPEC): Move to here.
+	* winnt/winnt.h (ASM_FILE_START, LIB_SPEC): Delete from here.
+	* tree.c (chain_member_purpose): New function.
+
+Sat Apr  1 12:19:14 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* c-typeck.c (build_binary_op): New variable build_type controls
+	type given to expression when created.  Set to integer_type_node for
+	comparison ops instead of result_type so result_type still holds type
+	in which comparison is done.  When checking for comparison between
+	signed and unsigned, use result_type rather than (possibly shortened)
+	type of op0.  Don't warn about equality comparison of signed operand
+	to unsigned constant that fits in signed type.
+
+Sat Apr  1 09:47:02 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* i386/winnt.h (CPP_PREDEFINES): Add definitions for __stdcall
+	and __cdecl.
+	* winnt/winnt.h (LIB_SPEC): Add OLDNAMES.LIB.
+	* winnt/xm-winnt.h: Remove unneeded #define's for non-ANSI functions.
+	* fixinc.winnt: Remove unneeded fixes relating to __stdcall.
+
+	* objc/Makefile (SHELL): New definition.
+
+Sat Apr  1 08:25:26 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): When emitting a BARRIER, don't put it after
+	a deleted insn.
+
+	* reload.c (push_reload): Initialize secondary_{in,out}_icode.
+
+	* gcc.c (print_multilib_info): Don't use LAST_PATH if not set.
+
+Sat Apr  1 08:15:59 1995  Pat Rankin  (rankin@eql.caltech.edu)
+
+	* vax.md (extv, extzv): Don't use immediate value for operand 1.
+
+Sat Apr  1 07:48:29 1995  Yury Shevchuk  (sizif@botik.yaroslavl.su)
+
+	* stmt.c (expand_asm_operands): Properly ignore invalid reg in clobber.
+
+Sat Apr  1 07:02:24 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c: General code cleanup.
+	Add prototypes for static functions.
+	Remove unnecessary casts to (char *); add casts to (U_CHAR *).
+	Add parentheses suggested by `gcc -Wparentheses'.
+	Rename local variables as suggested by `gcc -Wshadow'.
+	<fcntl.h>, <stdlib.h>, <string.h>, <unistd.h>: New includes.
+	<sys/time.h>, <sys/resource.h>: Include only if defined(RLIMIT_STACK).
+	<time.h>: Include, unless <sys/time.h> already does.
+	(HAVE_FCNTL_H, HAVE_STDLIB_H, HAVE_SYS_TIME_H): New symbols.
+	(HAVE_UNISTD_H, STDC_HEADERS, TIME_WITH_SYS_TIME): Likewise.
+	(__attribute__, PROTO, VA_START, PRINTF_ALIST, PRINTF_DCL): New macros.
+	(PRINTF_PROTO{,_1,_2,_3}, DO_PROTO): Likewise.
+	(bcopy, bzero, bcmp): If #defined by configuration file, use that.
+	If STDC_HEADERS is defined, use standard C functions.
+	If BSTRING is defined, or USG and VMS are not defined, use
+	the C library.  Otherwise, use my_bcopy, my_bzero, my_bcmp.
+	(localtime): Remove no-longer-necessary explicit declaration.
+	(getenv, index, rindex): Don't declare explicitly if the
+	appropriate system header should declare it.
+	(fdopen): Remove no-longer-used declaration.
+	(vprintf): Define a subsitute macro if !defined(HAVE_VPRINTF).
+	(main): Replace `fdopen (dup (fileno (stdout)), "w"))'
+	with `stdout'.
+	(get_lintcmd, rescan, create_definition): Use bcmp instead of strncmp
+	when both operands are known to be free of null bytes.
+	(check_macro_name, compare_defs, collect_expansion): Likewise.
+	(do_assert, compare_token_lists, assertion_lookup, do_line): Likewise.
+	(skip_if_group, lookup): Likewise.
+	(rescan): Remove unused label `startagain'.
+	Abort instead of printing nonsense if the stack is corrupted
+	when there was an unterminated successful conditional.
+	(pcfinclude): Include explicit double-cast through GENERICPTR
+	to identify particularly egregious type puns.
+	(create_definition, do_define, check_macro_name): Use %.*s
+	printf format to avoid painful copying-and-casting.
+	(do_once): Return void, not (unused) int.
+	(do_ident, do_pragma, do_sccs): Accept extra arguments so that
+	all directive-handler's types match.
+	(do_sccs): Define only if SCCS_DIRECTIVE is defined.
+	(skip_if_group, dump_single_macro): Add `default: break;' to
+	keep -Wswitch happy.
+	(error, warning, error_with_line, vwarning_with_line, pedwarn): Use
+	stdarg/vararg/vfprintf instead of passing bogus char * args around.
+	(pedwarn_with_line, pedwarn_with_file_and_line, fatal):  Likewise.
+	(verror, vwarning, verror_with_line, vwarning_with_line): New fcns.
+	(dump_single_macro): Abort if ap points to garbage.
+	(make_definition, make_undef, make_assertion): Parameter now char *.
+	(xmalloc, xrealloc, xcalloc, savestring, index0): Make sizes size_t
+	instead of unsigned; make pointer parameters GENERICPTR, not char *.
+	(xcalloc): Use bzero to clear memory instead of using own loop.
+
+Fri Mar 31 08:33:07 1995  Ken Raeburn  (raeburn@wombat.gnu.ai.mit.edu)
+
+	* longlong.h (umul_ppmm mc68000): Use %# instead of #.
+
+Fri Mar 31 06:37:54 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* stor-layout.c (layout_decl): Implment -fpack-struct.
+	(layout_record): Ditto.
+
+	* flags.h (flag_pack_struct): New flag variable.
+
+	* toplev.c (flag_pack_struct): New flag variable.
+	(f_options): Add -fpack-struct support.
+
+	* Makefile.in (stor-layout.o): Add flags.h dependency.
+
+Fri Mar 31 08:40:16 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* configure (i[345]86-*-winnt3*): Add tmake_file.
+	* i386/x-winnt (winnt.o): Deleted.
+	* i386/t-winnt: New file.
+
+Fri Mar 31 07:26:37 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* m68k/netbsd.h, m68k/hp3bsd44.h: Remove #include of machine/ansi.h.
+
+	* configure (a29k-*-bsd): Set tmake_file to t-libc-ok.
+
+	* stmt.c (expand_asm_operands): Properly handle output that can't
+	be directly written into.
+
+	* c-parse.in (structsp): Correct error in last change.
+	* c-common.c (init_attributes): A_FORMAT is only for decls.
+
+Thu Mar 30 18:27:34 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* libgcc2.c: Remove explicit 0-initializations of static variables.
+
+Thu Mar 30 18:22:39 1995  Fergus Henderson  <fjh@cs.mu.oz.au>
+
+	* c-typeck.c (internal_build_compound_expr): Warn if LHS of comma
+	expression has no side effects, or computes value which is not used.
+	* stmt.c (make warn_if_unused_value): No longer static.
+	* tree.h (warn_if_unused_value): Add declaration.
+
+Thu Mar 30 18:15:11 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* combine.c (get_last_value): Revert back to use prev_nonnote_insn
+	instead of prev_real_insn.  Modify test that ignores USE insns.
+
+	* rs6000.h (SELECT_SECTION): Apply constant DECL_INITIAL test
+	only to DECLs.
+
+	* explow.c (allocate_dynamic_stack_space): Test STACK_BOUNDARY against
+	BIGGEST_ALIGNMENT at run time instead of at compile time.
+	Give MUST_ALIGN macro a value, and test this value in if statements.
+
+Thu Mar 30 08:59:56 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-parse.in: Now have 27 shift/reduce conflicts.
+	(attribute_list): Just make chain of all attributes.
+	(attrib): Consistently put name as PURPOSE, args, if any, as VALUE.
+	(structsp): Allow attributes on any struct or union.
+	* c-common.c (enum attrs): New enum class.
+	(attrtab, attrtab_idx): New variables.
+	(add_attribute, init_attributes): New functions.
+	(decl_attributes): Major rewrite.
+	* tree.c (valid_machine_attribute): Now receive name and args.
+
+Thu Mar 30 07:20:14 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* protoize.c: Use the phrase `preprocessing directive' consistently.
+	* cccp.c (handle_directive, do_line, skip_if_group): Likewise.
+	(output_line_directive): Renamed from output_line_command.
+	(no_line_directives): Renamed from no_line_commands.
+
+	* cccp.c (rescan): Don't recognize preprocessing directives
+	within macro args.  Warn if one is found.
+
+Thu Mar 30 06:20:36 1995  H.J. Lu   (hjl@nynexst.com)
+
+	* configure (i[345]86-*-linux*): Set xmake_file=x-linux,
+	tm_file=i386/linux.h, and don't set extra_parts.
+	(i[345]86-*-linux*aout*): New configuration.
+	(i[345]86-*-linuxelf): Deleted.
+	* config/linux{,-aout}.h, config/x-linux, config/xm-linux.h: New files.
+	* config/i386/linux-aout.h: New file.
+	* config/i386/linux.h: Extensive modifications to use ELF format
+	as default.
+	(LIB_SPEC): Don't use libc_p.a for -p. don't use libg.a
+	unless for -ggdb.
+	(LINUX_DEFAULT_ELF): Defined.
+	* config/i386/linuxelf.h,config/i386/x-linux: Files deleted.
+	* config/i386/xm-linux.h: Just include xm-i386.h and xm-linux.h.
+
+Wed Mar 29 19:09:36 1995  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__throw_type_match): Update to use new calling convention.
+
+Wed Mar 29 14:53:23 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* gcc.c (process_command): Delete code modifying gcc_exec_prefix.
+	(main): Put it here after last use of gcc_exec_prefix.  For cross
+	compiler, set startfile_prefixes if gcc_exec_prefix is set and
+	standard_startfile_prefix is a relative path.
+
+	* combine.c (make_compound_operation, AND case): Undo July 7, 1994
+	change.
+
+	* mips/mips.md (call_internal1, call_value_internal1): Move %* from
+	start of assembler output to immediately before the jal.
+
+	* mips/mips.c (function_prologue): Put SDB_DEBUGGING_INFO ifdef around
+	code for SDB_DEBUG support.
+	(mips_select_rtx_section, mips_select_section): Change rdata_section
+	to READONLY_DATA_SECTION and sdata_section to SMALL_DATA_SECTION.
+	* mips/mips.h (SMALL_DATA_SECTION): Define.
+
+	* reorg.c (mark_referenced_resources): Make setjmp use all registers.
+
+	* flow.c (mark_used_regs, case SUBREG): Only fall through to REG case
+	if operand is a REG.
+
+	* i960/i960.h (TARGET_SWITCHES): Make -mold-align set
+	TARGET_FLAG_STRICT_ALIGN.
+	(STRICT_ALIGNMENT): Test TARGET_STRICT_ALIGN.
+
+	* sh/sh.c (andcosts): Modify costs to match the hardware, and add
+	explanatory comments.
+
+	* sparc/sol2.h (CPP_PREDEFINES): Add -D__SVR4.
+
+Wed Mar 29 14:30:30 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.md (movsf): When moving to/from integer registers,
+	don't move floating point to memory if it is being simulated with
+	-msoft-float.
+
+Wed Mar 29 06:47:36 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-parse.in (initdcl): Only call decl_attributes once.
+	* c-common.c (decl_attributes): Clean up test for __mode__.
+
+Tue Mar 28 08:34:37 1995  John Hassey  (hassey@dg-rtp.dg.com)
+
+	* i386.md (adddi3): Don't treat two non-equal MEMs as non-aliasing.
+
+Tue Mar 28 08:20:49 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* a29k.h (CONSTANT_ADDRESS_P): Provide consistent definition.
+
+Tue Mar 28 07:26:41 1995  Paul Eggert <eggert@twinsun.com>
+
+	* cccp.c (do_xifdef, do_endif): Remove unnecessary pointer comparisons.
+
+Mon Mar 27 20:45:15 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call, store_one_arg): Don't set KEEP in calls
+	to assign_stack_temp.
+	* function.c (preserve_temp_slots): Clear ADDR_TAKEN on item
+	that we are preserving.
+
+Mon Mar 27 14:39:35 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* mips/mips.h (FIRST_PSEUDO_REGISTER): Increment.
+	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add new register.
+	(MD_REG_LAST): Increment.
+	(ST_REG_FIRST, ST_REG_LAST): Increment.
+	(HILO_REGNUM): Define.
+	(enum reg_class): Add HILO_REG.
+	(REG_CLASS_NAMES): Add "HILO_REG".
+	(REG_CLASS_CONTENTS): Add HILO_REG initializer, and adjust ST_REGS
+	and ALL_REGS initializers.
+	(SECONDARY_RELOAD_CLASS): Remove.
+	(SECONDARY_INPUT_RELOAD_CLASS): Define.
+	(SECONDARY_OUTPUT_RELOAD_CLASS): Define.
+	(REGISTER_MOVE_COST): Treat HILO_REG as MD_REGS.
+	(REGISTER_NAMES): Add initialization line.
+	(DEBUG_REGISTER_NAMES): Add "accum".
+	* mips/mips.md: For each instruction which sets HI or LO, clobber
+	HILO_REGNUM with (clobber (match_scratch:MODE N "=a")).  Change
+	each explicit reference to register 66 to register 67.
+	(mulsidi3): Change to define_expand.
+	(mulsidi3_internal): New name of old mulsidi3.
+	(mulsidi3_64bit): New insn.
+	(umulsidi3): Change to define_expand.
+	(umulsidi3_internal): New name of old umulsidi3.
+	(umulsidi3_64bit): New insn.
+	(madddi_64bit, umaddi_64bit): New insns.
+	(movdi_internal2): Add case for setting HILO_REG to zero.
+	(reload_indi, reload_outdi): New define_expands.
+	(movsi_internal1, movsi_internal2): Add cases for setting MD_REGS
+	to zero, and for setting a general reg to HILO_REG.
+	(reload_outsi): New define_expand.
+	* mips/mips.c (mips_reg_names): Add "accum".
+	(mips_sw_reg_names): Likewise.
+	(mips_regno_to_class): Map HILO_REGNUM to HILO_REG.
+	(mips_move_1word): Handle moving HILO_REGNUM to a general
+	register.  Make sure that the normal MD_REG cases aren't used for
+	HILO_REGNUM.  Handle moving zero to a MD_REG.
+	(mips_move_2words): Make sure that the normal MD_REG cases aren't
+	used for HILO_REGNUM.  Handle moving zero to a MD_REG.
+	(override_options): Set mips_char_to_class for 'a' and 'b'.
+	(mips_secondary_reload_class): Add in_p argument.  Handle
+	HILO_REGNUM.
+
+Mon Mar 27 07:16:05 1995  Warner Losh  <imp@village.org>
+
+	* gcc.c: Removed __NetBSD__ from conditional.
+	Declare strerror if HAVE_STRERROR is defined; otherwise
+	declare sys_errlist and sys_nerr.
+	(my_strerror): New function.
+
+Fri Mar 24 18:08:14 1995  Jason Merrill  <jason@python.cygnus.com>
+
+	* i386/linux.h (LIB_SPEC): Don't try to link with libraries we
+	know only exist in archive form unless -static.
+
+Fri Mar 24 16:12:16 1995  Doug Evans  <dje@cygnus.com>
+
+	* Makefile.in (multilib.h): Depend on Makefile, not config.status.
+
+Fri Mar 24 15:01:17 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.h (TARGET_MULTIPLE_SET): New target_flags bit that
+	indicates -mmultiple or -mno-multiple was explicitly passed by the
+	user, and not set as part of the cpu defaults.
+	(TARGET_SWITCHES): Set TARGET_MULTIPLE_SET bit for both -mmultiple
+	and -mno-multiple.
+
+	* rs6000/rs6000.c (rs6000_override_options): If -mmultiple or
+	-mno-multiple was explicitly used, don't override the setting with
+	the processor default.
+
+Wed Mar 22 21:42:13 1995  Doug Evans  <dje@cygnus.com>
+
+	* i960/i960.c (i960_function_arg_advance): Ensure all regs marked
+	as used if stack is also used (for va_start).
+	(i960_setup_incoming_varargs): Rewrite to be similar to Intel's
+	version, but don't allocate reg block unless necessary.
+	* ginclude/va-i960.h (varargs va_start): Save g14 explicitly.
+	Account for arguments preceding va_alist.
+
+Wed Mar 22 13:24:55 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
+
+	* pa.c (singlemove_string): Handle SFmode constants again.  Simplify.
+	(zdepi_cint_p): Make some variables HOST_WIDE_INT.
+	(lhs_lshift_cint_operand): Likewise.
+	(output_and): Likewise.
+	(output_ior): Likewise.
+
+Wed Mar 22 12:40:09 1995  Jim Wilson  <wilson@chestnut.cygnus.com>
+
+	* sh.md (udivsi3): Don't clobber register 6.
+	(udivsi3, divsi3, mulsi3_call): Use a pseudo-reg with regclass 'z'
+	for output rather than hard register 0.
+	(block_move_real): Don't clobber registers 4 and 5.
+
+	* mips.c (mips_select_section): Apply constant DEC_INITIAL tests
+	only to VAR_DECLs.
+
+Wed Mar 22 03:53:17 1995  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
+
+	* config.sub (rm400, rm600): New machine names.
+	(sinix5.*, sinix): New os aliases.
+	(mips-siemens): Default os to sysv4.
+
+Mon Mar 20 21:56:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	Merged Paul Eggert's patch to cccp.c of Wed Mar  8 18:21:51 1995:
+	* cpplib.c (do_include): Fix type typo: pcfbuflimit is char *, not int.
+
+	Merged Doug Evans' patch to cccp.c of Mon Feb 27 17:06:47 1995:
+	* cpplib.c (do_include): Check for redundant file before opening in
+	relative path case.  Don't call fstat unnecessarily.
+
+	Merged J.T. Conklin's patch to cccp.c of Wed Feb 22 20:29:31 1995:
+	* cpperror.c:  Removed __NetBSD__ from conditional.
+
+	Merged Kenner's patch to cccp.c & cexp.y of Tue Sep 20 17:49:47 1994:
+	* cppexp.c (struct operation):  Make value by HOST_WIDE_INT.
+	(cpp_parse_expr):  Change return type to HOST_WIDE_INT.
+	* cpplib (eval_if_expr):  Likewise.
+	(do_if, do_elif):  Update appropriately.
+	* cpplib.h (cpp_parse_expr):  Removed, to avoid defining HOST_WIDE_INT.
+
+	Merged Paul Eggert's patch to cccp.c of Mon Aug  8 19:42:09 1994:
+	* cpplib.c (create_definition): Warn about `#define a@', since a
+	diagnostic is now required (see ISO TC1's addition to subclause 6.8).
+	Also warn about `#define is-empty(x) (!x)'.
+
+Tue Mar 21 00:10:50 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>
+
+	* x-pa (CC): Add "-Dbsd4_4".
+
+Mon Mar 20 18:40:31 1995  Per Bothner  <bothner@kalessin.cygnus.com>
+
+	* toplev.c (print_error_function):  New function hook.
+	(default_print_error_function):  New function.  Default value
+	of print_error_function.  Code moved here from report_error_function.
+	(report_error_function):  Use print_error_function hook.
+
+Mon Mar 20 20:27:43 1995  Doug Evans  <dje@cygnus.com>
+
+	* cccp.c (do_xifdef): Handle c++ comments.
+	(do_endif): Likewise.
+
+Mon Mar 20 15:31:45 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* configure (i386 configurations): Prepend i386/ to t-crt*.
+
+Mon Mar 20 07:58:04 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* stmt.c (fixup_gotos): Add missing call from last change.
+
+	* objc/misc.c: Put Alpha-specific decls before #include of runtime.h.
+
+	* alpha.h (EXTRA_SECTIONS): Write zeros first time in .rdata.
+
+Sat Mar 18 16:37:24 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* flow.c (mark_used_regs, case SUBREG): Set reg_changes_size even
+	for integer modes.
+	(mark_used_regs): Set reg_changes_size for RHS, if necessary.
+	* combine.c (gen_lowpart_for_combine): Set reg_changes_size, if needed.
+	* reload.c (push_reload): Reload a SUBREG if paradoxical and
+	class is CLASS_CANNOT_CHANGE_SIZE.
+	* reload1.c (gen_reload): Handle paradoxical SUBREGs.
+	* alpha.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Need GENERAL_REGS
+	for paradoxical SUBREG and FLOAT_REGS.
+	(SECONDARY_NEEDED_MODE): Use actual mode for 4 bytes or wider.
+	* alpha.md (movsi): Allow FP regs and add case for store of FP reg.
+	Remove cvtlq from MEM to FP reg case.
+
+	* rtl.h (emit_insns_after): Add declaration.
+	* stmt.c (fixup_gotos): Do a cleanup for a block when it is exited
+	even if label if not defined yet.
+
+	* function.c (pop_function_context): Fix error in last change;
+	reference old value of current_function_decl before we modify it.
+
+Fri Mar 17 21:57:44 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* toplev.c (rest_of_compilation): Handle -Wreturn-type properly
+	for inlines we aren't compiling yet.
+
+Fri Mar 17 21:26:48 1995  Mike Stump  <mrs@cygnus.com>
+
+	* libgcc2.c (__register_exceptions): Handle empty tables.
+
+Fri Mar 17 11:48:31 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* i386/winnt.c (winnt_function_prologue): Deleted.
+	(gen_stdcall_suffix): New function.
+
+Thu Mar 16 17:36:52 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* svr4.h (LINK_SPEC): If the user did not specify -h name, use the
+	output file name, if any.
+	* sparc/sol2.h (LINK_SPEC): Ditto.  Also, if the user did not
+	specify -R path, add an -R for each -L.
+
+	Move SunOS 4-specific assembler switches into the appropriate place.
+	* m68k/sun[23].h (ASM_SPEC): Add %{R} %{j} %{J} %{h} %{d2}
+	%{keep-local-as-symbols:-L}.
+	* i386/sun.h (ASM_SPEC): Add %{R} %{keep-local-as-symbols:-L}.
+	* sparc/sparc.h (ASM_SPEC): Ditto.
+	* gcc.c (default_compilers): Remove %{R} %{j} %{J} %{h} %{d2}
+	%{keep-local-as-symbols:-L} from assembler rules.
+
+Thu Mar 16 16:58:09 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/eabi-ctors.c: New file, handle C++ static constructors
+	and destructors without requiring anything else from a libc.
+
+	* rs6000/t-eabi (LIB2FUNCS_EXTRA): Build eabi-ctors.c.
+
+	* rs6000/eabi.asm: Do not load up register 2 if there is no .got
+	section.  Jump to the __do_global_ctors function at the end of
+	processing to call C++ static constructors, and it will return to
+	__eabi's caller.  Use normal volatile registers, instead of saving
+	and restoring registers 30 and 31.
+
+	* rs6000/eabi.h (STARTFILE_SPEC): Define as null.
+	(LIB_SPEC): Ditto.
+	(ENDFILE_SPEC): Ditto.
+	(LIBGCC_SPEC): Always look for libgcc.a.
+
+Thu Mar 16 17:05:14 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* stmt.c (warn_if_unused_value, case SAVE_EXPR): New case.
+	(warn_if_unused_value, case NOP_EXPR): OK if CALL_EXPR inside.
+
+	* c-common.c (decl_attributes): Allow alignment for TYPE_DECLs.
+
+	* Makefile.in (xsys-protos.h): Fix typo in -U operand.
+
+Thu Mar 16 13:49:10 1995  Per Bothner  <bothner@rtl.cygnus.com>
+
+	* cpplib.c, cpplib.h:  New files - a C PreProcessor library.
+	* cpphash.c, cpphash.h, cppalloc.c, cpperror.c, cppexp.c:
+	New files - utility features used by cpplib.
+	* cppmain.c:  New file - cpp replacement main program for cpplib.
+	* Makefile.in:  New rules to build cppmain.
+
+Thu Mar 16 16:11:05 1995  Douglas Rupp  (drupp@cs.washington.edu)
+
+	* i386/winnt.h (FUNCTION_PROLOGUE, HAVE_probe, gen_probe): Deleted.
+	(ENCODE_SECTION_INFO, VALID_MACHINE_DECL_ATTRIBUTE): New macro.
+
+Thu Mar 16 15:58:24 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (apply_distributive_law, case SUBREG): Fix typo when
+	checking for paradoxical SUBREG.
+
+Wed Mar 15 18:45:08 1995  Doug Evans  <dje@cygnus.com>
+
+	* libgcc1-test.c: Renamed from cross-test.c.
+	* Makefile.in (LIBGCC1_TEST): Renamed from CROSS_TEST.
+	(all.cross): Delete $(ENQUIRE) dependency.
+	(libgcc1-test): Renamed from cross-test.
+	Delete unnecessary gcc-cross and $(LIBGCC) dependencies.
+	Link with -nostartfiles -nostdlib
+	`$(GCC_FOR_TARGET) --print-libgcc-file-name`.
+	(libgcc1-test.o): Renamed from cross-test.o.
+	Change gcc-cross dependency to xgcc since the latter is used.
+
+Wed Mar 15 13:49:21 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* tree.c (save_tree_status): Now takes a tree 'context' instead of
+	a boolean 'toplevel' as an argument.  If 'context' is not
+	current_function_decl, create a new obstack for the new function.
+	Also save inline_obstacks.
+	(restore_tree_status): No longer takes a second argument.  Also
+	restore inline_obstacks.
+	(temporary_allocation): Clear inline_obstacks.
+	(permanent_allocation): Free up the obstacks in inline_obstacks.
+
+	* function.h (struct function): New fields contains_functions and
+	inline_obstacks.
+
+	* function.c (push_function_context_to): Now takes a tree
+	'context' instead of a boolean 'toplevel' as an argument.
+	Also save current_function_contains_functions.
+	(push_function_context): Pass current_function_decl to it.
+	(pop_function_context_from): Takes 'context' instead of 'toplevel'.
+	Set current_function_contains_functions properly.
+	(pop_function_context): Pass current_function_decl to it.
+
+Wed Mar 15 14:53:09 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.md (abssi2): Turn into a define_expand.  If
+	TARGET_POWER, do old code that uses the abs instruction.  If not,
+	do abs in three instructions, using a temporary register, which
+	enables generating more reasonable code for sne.  Add a recognizer
+	for negative of the absolute value.  Add define_splits for the
+	PowerPC.
+	(sne insn): Add a recognizer for sne on the PowerPc to use two
+	instructions, compared to the four generated using the absolute
+	value insn.
+
+Tue Mar 14 18:38:40 1995  J.T. Conklin  <jtc@cygnus.com>
+
+	* m68k.md ({add,sub,mul,div}[sdx]f3): Add new patterns for recognizing
+	SImode, HImode, and QImode operands.
+
+Mon Mar 13 18:59:36 EST 1995  David Edelsohn  <edelsohn@mhpcc.edu>
+
+	* rs6000.h (CPP_SPEC): Add PPC403.
+	(processor_type): Add PPC403.
+	(RTX_COSTS): Add PPC403.
+	* powerpc.h (CPP_SPEC): Add PPC403.
+	* sysv4.h (CPP_SPEC): Add PPC403.
+	* rs6000.c (processor_target_table): Add PPC403.
+	* rs6000.md (define_attr cpu and function units): Add PPC403.
+
+Mon Mar 13 14:40:23 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/rs6000.md (call, call_value insns): Do not put a nop
+	after a bl instruction on System V.4 and eABI.
+
+	* rs6000/sysv.4 (SUBTARGET_SWITCHES): Add support for
+	-mno-traceback to suppress the V.4 traceback word.
+	(ASM_DECLARE_FUNCTION_NAME): Don't put out a traceback work if
+	-mno-traceback.
+
+Mon Mar 13 13:36:37 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* t-svr4, i386/t-{crtpic,sol2}, m88k/t-svr4, sparc/t-sol2:
+	Use -fPIC, rather than -fpic, for building crtstuff.
+
+Sat Mar 11 17:27:08 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* configure: Use aix3newas.h for AIX 3.2.4 and 5.
+	* rs6000/aix41.h: Undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}.
+	* rs6000/aix3newas.h: New file.  Define ASM_SPEC to -u, and
+	undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}.
+
+Sat Mar 11 06:42:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* dbxout.c (dbxout_symbol): Properly handle decl whose DECL_NAME
+	points to a TYPE_DECL with a zero TYPE_NAME.
+
+Fri Mar 10 18:18:33 1995  Torbjorn Granlund  <tege@cygnus.com>
+
+	* pa.h (PROMOTE_MODE): Define.
+
+Fri Mar 10 14:37:58 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* sdbout.c (sdbout_record_type_name): If TYPE_NAME is
+	a TYPE_DECL, get name from DECL_NAME.
+
+Fri Mar 10 14:09:26 1995  Doug Evans  <dje@cygnus.com>
+
+	* arm/riscix.h (SUBTARGET_SWITCHES): Renamed from
+	ARM_EXTRA_TARGET_SWITCHES.
+	* arm/riscix1-1.h (SUBTARGET_SWITCHES): Likewise.
+	* arm.h (SUBTARGET_SWITCHES): Likewise.
+	(TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
+	(TARGET_SWITCHES): Add -msoft-float, -mhard-float.
+	(BYTES_BIG_ENDIAN): Delete #ifndef/#endif.
+	(CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable fp regs.
+	(FUNCTION_VALUE): R16 is return reg only if !-msoft-float.
+	(LIBCALL_VALUE): Likewise.
+	* arm.md (all fp patterns): Conditionalize on TARGET_HARD_FLOAT.
+	(*movsf_soft_insn, *movdf_soft_insn): New patterns.
+
+Fri Mar 10 13:53:46 1995  Jim Wilson  <wilson@cygnus.com>
+
+	* reorg.c (steal_delay_list_from_target): Exit at the top if the
+	branch in SEQ is not a single set.
+
+	* sh.md (movdi define_split, movdf define_split): Correct indentation
+	and formatting.  Make the condition fail if an operand is a MEM
+	with an auto-inc address.
+
+	* varasm.c (copy_constant): Copy operand of ADDR_EXPR if it is a
+	constant.
+
+	* mips/abi64.h (SETUP_INCOMING_VARARGS): Correct arguments to
+	move_block_from_reg call.
+
+	* expr.c (expand_assignment): When offset is zero, make new MEM
+	before setting MEM_VOLATILE_P.
+
+	* reload.c (find_reloads, case 'o'): Accept a fully reloaded
+	auto-increment address.
+
+	* combine.c (max_uid_cuid): New static variable.
+	(INSN_CUID): Call abort if INSN is out of range.
+	(combine_instructions): Set max_uid_cuid.  Set uid_cuid directly
+	instead of through INSN_CUID.
+	(get_last_value): Use prev_real_insn instead of prev_nonnote_insn.
+	Ignore USE insns generated by combine.
+
+Fri Mar 10 13:47:08 1995  Rod Barman  <rodb@cs.ubc.ca>
+
+	* m68k/fpgnulib.c (__fixdfsi): Catch values < 0.5 in magnitude.
+
+Fri Mar 10 12:02:33 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Fix `typedef struct term;' on hppa1.1-hp-hpux9.
+
+Fri Mar 10 05:50:11 1995  Oliver Kellogg  (Oliver.Kellogg@RST13.DASA.DBMAIL.d400.de)
+
+	* 1750a.c (sectname): Reverse Init and Normal.
+	(print_operand_address, case PLUS): Add case for LABEL_REF.
+	(print_operand_address, case LABEL_REF): Split fom SYMBOL_REF.
+	(print_operand_address, case CODE_LABEL): New case.
+	(ASM_FILE_END): Delete.
+	* 1750a.h (FUNCTION_EPILOGUE): Restore stack before freeing local vars.
+	(DEFAULT_SIGNED_CHAR): Now 1.
+	(DATA_SECTION_ASM_OP): Use pseudo-op for read-only data (later copied).
+	(JUMP_TABLES_IN_TEXT_SECTION): Define.
+	(ASM_OUTPUT_ASCII): Split into multiple lines if long.
+	(ASM_OUTPUT_{CHAR,SHORT,INT,LONG_INT}): Split up.
+	(ASM_OUTPUT_COMMON): Call check_section.
+
+Thu Mar  9 12:46:53 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000.md (movsf): Do not call truncdfsf2 for non PowerPC
+	when expanding a store to memory and -msoft-float was used.
+
+Thu Mar  9 08:51:35 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (start_function): Handle new parameter ATTRIBUTES.
+	* c-tree.h (start_function): Add new parameter.
+	* c-lang.c (finish_file): Pass new parm to start_function.
+	* objc-act.c (build_module_descriptor, really_start_method): Likewise.
+	* c-parse.in (fndef, nested_function): Pass prefix_attributes
+	to start_function.
+	(setspecs): Save prefix_attributes in declspec_stack.
+	(decl rules): Restore prefix_attributes along with current_declspecs.
+	(setattrs): Concatenate prefix_attributes to previous value.
+	* c-common.c (decl_attributes): Handle prefix and suffix attributes
+	the same way.
+
+	* print-tree.c (print_node): Fix typo in printing large INTEGER_CST.
+
+	* varasm.c (assemble_variable): Consistently use DECL_SIZE for
+	everything.
+
+	* c-typeck.c (convert_for_assignment): Fix typo in testing for
+	pointer to function type.
+
+	* varasm.c (record_constant_1): Handle NON_LVALUE_EXPR.
+	Rewrite to use switch instead of if/then/elseif/else.
+
+Wed Mar  8 18:21:51 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (do_include): Fix type typo: pcfbuflimit is char *, not int.
+
+Wed Mar  8 17:30:29 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (force_fit_type): Always propagate OVERFLOW.
+
+	* rtl.def (INLINE_HEADER): Add new "e" field.
+	* rtl.h (FORCED_LABELS): New field; other fields adjusted.
+	(gen_inline_header_rtx): New parm FORCED_LABELS.
+	* emit-rtl.c (gen_inline_header): Add new parm FORCED_LABELS.
+	* integrate.c (initialize_for_inline, output_inline_function):
+	Handle FORCED_LABELS.
+
+Wed Mar  8 13:47:20 1995  Jason Merrill  (jason@cygnus.com)
+
+	* alpha.h (WORD_SWITCH_TAKES_ARG): Add -rpath.
+	(LINK_SPEC): Pass through -taso and -rpath.
+	* alpha/osf12.h (LINK_SPEC): Ditto.
+
+Wed Mar  8 09:59:56 1995  Michael Meissner  <meissner@cygnus.com>
+
+	* rs6000/eabi.asm: Rewrite so that the initialized pointers go
+	into the .got2 section, which allows eabi.asm to be assembled with
+	the -mrelocatable option.  Move the data picked up from the bl
+	instruction to before the traceback tag.
+
+	* rs6000/sysv4.h (CPP_SPEC): Define _RELOCATABLE if -mrelocatable
+	switch is used.
+
+	* libgcc2.c (__new_handler): Don't initialize the pointer variable
+	with the address of __default_new_handler, which may not work in
+	some shared library mechanisms.
+	(__builtin_new): If __new_handler is NULL, call the function
+	__default_new_handler.
+
+Tue Mar  7 17:34:59 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i960.h (PROCESS_PRAGMA): Define.
+	(ROUND_TYPE_ALIGN): Pass maximum of COMPUTED and SPECIFIED to
+	i960_round_align.
+	(ROUND_TYPE_SIZE): Delete.
+	* i960.c (process_pragma): Uncomment, and rewrite for gcc 2.
+	(i960_round_size): Delete.
+	(i960_round_align): Don't adjust suggested alignment downward.
+	Restrict alignment to value set by #pragma align.
+
+Tue Mar  7 12:14:46 1995  Doug Evans  <dje@cygnus.com>
+
+	* configure (sparc64-*-elf): Add crtbegin.o, crtend.o to extra_parts.
+	* sparc/sp64-elf.h (TARGET_VERSION): Define.
+	(CPP_PREDEFINES): Delete sun, sparc, unix.  Delete OS assertions.
+	(ASM_SPEC): Define.
+	(LINK_SPEC): Delete solaris stuff, this is an embedded target.
+	(STARTFILE_SPEC, ENDFILE_SPEC): Define.
+
+Mon Mar  6 17:54:01 1995  Doug Evans  <dje@cygnus.com>
+
+	* Makefile.in (install-common): Fix typo in installation of cpp.
+	Likewise with gcc-cross.
+
+Mon Mar  6 02:29:05 1995  Jeffrey A. Law  <law@mole.gnu.ai.mit.edu>
+
+	* pa.md (movsicc): New expander.
+
+Fri Mar  3 13:34:20 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* rs6000/sysv4.h (ASM_SPEC): If -mrelocatable was passed to
+	compiler, pass it on to the assembler.
+
+Fri Mar  3 12:11:28 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* fixincludes: Add fixes for VxWorks header files.
+	* ginclude/stddef.h: If VxWorks typedef macros are defined, invoke
+	them as appropriate.
+
+Fri Mar  3 05:48:54 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (dump_single_macro): Fix typo: % wasn't properly
+	doubled in printf formats.
+
+Thu Mar  2 19:44:02 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* expr.c (expand_expr, CLEANUP_POINT_EXPR): Force the operand out
+	of memory before running cleanups.
+
+Thu Mar  2 19:15:24 1995  Paul Eggert  <eggert@twinsun.com>
+
+	* cccp.c (rescan): Prevent accidental token-pasting to
+	get !=, *=, /=, ==, or ^=.
+
+Thu Mar  2 15:37:13 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
+
+	* c-typeck.c (build_binary_op): Avoid spurious warning
+	comparing enumerator to unsigned variable.
+
+Thu Mar  2 18:18:38 1995  J.T. Conklin  <jtc@netbsd.org>
+
+	* m68k.md (sqrtsf2,sqrtdf2): Use fp precision specifiers.
+
+Thu Mar  2 18:09:01 1995  Stephen L Moshier  (moshier@world.std.com)
+
+	* c-lex.c (yylex, case !NOT_FLOAT): Remove previous change.
+
+Thu Mar  2 15:26:50 1995  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (bootstrap*): Pass new STAGE_PREFIX to recursive makes.
+
+Wed Mar  1 14:52:16 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+	* i960/i960-coff.h (ASM_FILE_START): Define.
+	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define.
+	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Define.
+	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Define.
+	(INT_ASM_OP): Define.
+	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
+	* i960/vx960-coff.h (CPP_PREDEFINES): Define.
+	(CPP_SPEC): Define.
+	(CC1_SPEC): Default to -mca.
+
+Wed Mar  1 11:10:54 1995  Michael Meissner  (meissner@cygnus.com)
+
+	* rs6000/rs6000.c (output_prologue): Do not emit the word that
+	gives the PC relative location to the local GOT table for the
+	-mrelocatable option here.
+	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Emit it here.
+
+	* t-eabi (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build -msoft-float
+	and -mrelocatable versions of the library.
+
+	* rs6000/powerpc.h (CPP_PREDEFINES): Define the cpu and machine as
+	powerpc, not rs6000.
+
+	* libgcc2.c (_unwind_function): Clone for powerpc, using the
+	PowerPC mnemonics.
+
+	* rs6000/rs6000.md (uminsi3, umaxsi3): Silence warnings that
+	-2147483648 is too large to fit in a signed integer on 32-bit
+	hosts.
+
+Wed Mar  1 06:48:31 1995  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+	* fold-const.c (decode_field_reference): Don't check TREE_CODE
+	of EXP; let get_inner_reference decide if have reference.
+	Allow no bit reference if have AND_MASK.
+	(all_ones_mask_p): Use tree_int_cst_equal, not operand_equal_p.
+	(unextend): New function.
+	(fold_truthop): For constant cases, use new function, rework
+	conversion, and warn if comparison can never be true.
+
+	* expr.c (store_expr): Do conversion in two steps for promoted lhs.
+
+See ChangeLog.9 for earlier changes.
diff --git a/gcc/ChangeLog.2 b/gcc/ChangeLog.2
new file mode 100644
index 0000000..a5e092c
--- /dev/null
+++ b/gcc/ChangeLog.2
@@ -0,0 +1,7229 @@
+Thu Jan 31 00:33:33 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* loop.c (scan_loop): Check each libcall for regs it uses
+	but does not mention in the equivalent value.
+	To move the libcall, we must have at most one such reg
+	and it must be moved as well.
+	(libcall_other_reg): New subroutine.
+	* rtlanal.c (record_excess_regs): New function.
+
+	* tree.c (gcc_obstack_init): New function.
+	(init_obstacks, save_tree_context): Use that.
+	(OBSTACK_CHUNK_SIZE): New parameter.
+	* xm-next.h: New file.
+	* configure (m68k/next): Use that file.
+
+	* flags.h (flag_no_common): Declare new flag to treat external defs
+	as ANSI specifies (i.e. not as common).
+	* toplev.c (flag_no_common, f_options): Support -fno-common.
+	* varasm.c (assemble_variable): Don't output a common if
+	flag_no_common is set.	Treat as if initialized to 0.
+
+	* gcc.c (default_compilers): Define __ASSEMBLER__ for .S file.
+
+	* tm-aix386.h (ASM_OUTPUT_LOCAL): Ok to use bss, since no shared libs.
+	(LINK_SPEC): Pass through all -K and -T options.
+	* xm-aix386.h (TRUE, FALSE): Undef if already def, to avoid warning.
+
+	* tm-m68k.h (TARGET_68040, TARGET_68040_ONLY): New machine flags.
+	(TARGET_SWITCHES): Alternatives to set them.
+	* tm-next.h (TARGET_DEFAULT): Changed to 0407 for 68040.
+
+	* out-m68k.h (standard_68881_constant_p):  Always return 0
+	for TARGET_68040 since fmovecr is no longer implemented in hardware.
+
+	* m68k.md (ftruncdf2, ftruncsf2): Don't emit fintrz for
+	TARGET_68040, since it is no longer implemented in hardware.
+	(muldf3): Don't use fscale on 68040, since not implemented in hardware.
+
+	* toplev.c (optimize): Now stores specified optimization level.
+	(main): Keep the largest optimization level specified.
+	Handle any integer.
+
+	* c-decl.c (pushdecl): Don't make an extern global for -traditional
+	if it uses any local types.
+
+	* tm-sun386i.h (PCC_BITFFIELD_TYPE_MATTERS): Use 1 as value.
+
+Wed Jan 30 12:41:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* fixincludes (sys/systypes.h): Edit this to handle _SIZE_T, etc.
+
+	* function.c (put_var_into_stack): Allocate var ref chain link
+	while in the proper function's obstack.
+
+	* fold-const.c (const_binop): Don't crash for real/0 if have infinity.
+
+	* flow.c (mark_set_1): Don't make log link for hard reg in asm insn.
+
+Wed Jan 30 07:45:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sched.c (schedule_block): Indicate what insns constitute each
+	basic block.
+
+Tue Jan 29 12:35:42 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (gnulib1.*, gnulib2.*): Declare them phony targets.
+
+	* print-tree.c (print_node): Print message if TREE_PERMANENT is wrong.
+	* tree.c (object_permanent_p): New function.
+
+	* print-tree.c (print_node): Remove DECL_LANG_FLAG_10.
+
+Tue Jan 29 10:07:48 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (minus/xor/and, neg/ne/compare/and): Delete these.  This
+	should be done by combine.
+	(compare operator): Eliminate except when a SET_SRC.
+	* tm-m88k.h (OPTIMIZATION_OPTIONS): -fomit-frame-pointer is a
+	default optimization.
+
+Mon Jan 28 12:52:11 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tree.h (DECL_VIRTUAL_P): Renamed from TREE_VIRTUAL.
+	(struct tree_common): Eliminate virtual_flag.
+	(struct tree_decl): Add virtual_flag.
+
+	* Makefile.in (enquire.o): Pass -DNO_STDDEF.
+
+	* m68k.md (tablejump): Now have a define_expand that does
+	different things depending on CASE_VECTOR_PC_RELATIVE,
+	and a separate define_insn for each case.
+
+	* function.h (outer_function_chain): Declare the variable.
+
+	* tree.c (debug_obstack): Fix typos.
+	* tree.h (struct tree_common): Fix typo.
+
+	* Makefile.in (GNULIB1_TARGET, GNULIB2_TARGET): Variables deleted.
+	(gnulib): Depend on gnulib1.target and gnulib2.target explicitly.
+
+	* dbxout.c (dbxout_type): Use DECL_VIRTUAL_P, not TREE_VIRTUAL.
+
+	* cplus-tree.h (TREE_PRIVATE, TREE_PROTECTED): #if 0.
+
+	* cexp.y (keywords): Cast names for parens to U_CHAR *.
+
+	* gcc.c (process_command): Fix typo setting switches[n_switches].arg.
+
+	* loop.c (loop_reg_used_before_p): Check insns before INSN, not after.
+
+	* objc-actions.c (objc_finish): Renamed from lang_finish.
+	* objc-parse.y (program): Call objc_finish at the end.
+
+	* Changes from Matthew Self (mself@next.com):
+
+	* objc-parse.y:	 Since objc-parse.y was so out of date with
+	respect to c-parse.y, I started over with c-parse.y and
+	reintegrated the Objective-C modifications.  Now that
+	Objective-C is working I hope that objc-parse.y will be kept
+	more up to date....  I did not re-integrate the lexer since I
+	don't have gperf working.  I simply cut and pasted what
+	Stallman had in objc-parse.y.  Someone with access to gperf
+	should re-generate this stuff.
+
+	* objc-actions.c (comp_method_with_proto,
+	comp_proto_with_proto):	 Stallman's change to use the
+	functions end_temporary_allocation and
+	resume_temporary_allocation is incorrect, since it always
+	leaves allocation temporary, whether it was before or not. 
+
+	Perhaps the push and pop functions would do the trick....
+
+	* objc-actions.c (get_arg_type_list):  Use new function
+	groktypename_in_parm_context.
+
+	* objc-actions.c (_OBJC_SELECTOR_REFERENCES_decl,
+	_OBJC_SELECTOR_REFERENCES_id):	Removed.
+
+	* objc-actions.c (synth_module_prologue):  Eliminated code to
+	forward declare the selector references array.
+
+	* objc-actions.c (init_objc_symtab):  Eliminated code to
+	initialize "refs" field in objc_symtab structure (which is
+	now vestigial).
+
+	* objc-actions.c (build_selector_translation_table): Rewrote.
+
+	* objc-actions.c (build_selector_reference):  New routine.
+
+	* objc-actions.c (build_message_expr, build_selector_expr):
+	Use new routine.
+
+	* config/tm-next.h (GO_IF_INDEXABLE_BASE):  Don't use pc
+	relative addressing for LABEL_REF's.  Since branch tables are
+	in the const section, we treat LABEL_REF's like SYMBOL_REF's
+	here.  Otherwise invalid addresses were being generated.
+
+	* config/tm-next.h (CASE_VECTOR_PC_RELATIVE, CASE_VECTOR_MODE):
+	Use absolute branch tables rather than relative ones.
+
+	* config/tm-next.h (ASM_OUTPUT_MAIN_SOURCE_FILE_END):  Output
+	an N_SO symbol with no name to mark the end of the module.
+	This is needed to support scattered loading on the NeXT.
+
+	* config/out-next.c (handle_pragma):  Call to xrealloc had wrong args.
+
+	* configure: Entry for NeXT must set out_file to out-next.c.
+
+	* config/out-next.c:  Typo: "flags" -> "flags.h"
+
+	* config/tm-next.h (LIB_SPEC):	Brought up-to-date.  There
+	are probably more changes needed here.
+
+	* c-decl.c (pushdecl_top_level):  New function.	 This was
+	copied from an older version of g++.
+
+	* c-decl.c (init_decl_processing): Make alloca first arg sizetype.
+
+	* c-decl.c (groktypename_in_parm_context): New function.
+
+Mon Jan 28 07:07:01 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (loop_reg_used_before_p): Don't use INSN_LUID since INSN
+	might have been made by loop.c for an outer loop.
+
+	* loop.c (move_movables, strength_reduce): Replace register references
+	in REG_NOTES as well as PATTERN.
+
+	* loop.c (strength_reduce): Call maybe_eliminate_biv twice, not 
+	three times.
+	(maybe_eliminate_biv): Don't abort if elimination fails even though
+	we thought it wouldn't.	 This can happen if certain insn patterns 
+	aren't valid.
+	(maybe_eliminate_biv_1): Ensure that we do not change the insn at
+	all if all the required changes can't be done.
+
+Sun Jan 27 21:26:29 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in: Rename config-dir back to config.
+
+Sat Jan 26 17:48:22 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* objc-parse.y (program): Call objc_finish.
+	* objc-actions.c (objc_finish): Renamed from lang_finish.
+
+	* objc-actions.c, objc-parse.y: New version from NeXT.
+
+Sat Jan 26 17:37:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Disable special-case of
+	A ? B : C when B and C are simple.  This is now done better by jump.
+
+Sat Jan 26 13:16:58 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tree.h (TREE_PRIVATE, TREE_PROTECTED, TREE_VIRTUAL): New macros.
+	(struct tree_common): New flag fields.
+	* dbxout.c (dbxout_type): Get rid of conditional; can always use these.
+
+	* cccp.c (lookup_import): Do return -2 if file found.
+	(main): Handle `.m' suffix like `.S'.
+
+	* configure (m68k/next): Use out-next.c.
+
+	* WORD_SWITCH_TAKES_ARG and SWITCH_TAKES_ARG now give # of args.
+	* gcc.c (struct switchstr): New field `args' replaces `part2'.
+	(process_command): Record all the args a switch has.
+	(give_switch): Pass all the strings in `args'.
+
+	* tree.h (struct tree_common): Normally make `code' an enum tree_code.
+
+	* m68k.md (tablejump): New pattern.
+	(casesi, etc.): Deleted.
+
+	* tree.c (debug_obstack): New function.
+
+	* toplev.c (compile_file): Call dbxout_finish near the end.
+	* dbxout.c (dbxout_finish): New function.
+
+	* print-tree.c (print_node): Always print ERROR_MARK node briefly. 
+
+	* objc-actions.h (METHOD_ENCODING, CLASS_CATEGORY_LIST): New macros.
+
+	* gcc.c (execute): Make fatal signal message clearer.
+	(default_compilers): For .m file, define __OBJC__,
+	and pass -lang-objc and -gen-decls to cc1.
+
+	* dwarfout.c: Include output.h.
+	(current_function_decl, asm_out_file): Explicit extern decls deleted.
+	(abort, fatal): Explicit extern decls deleted.
+	(NO_RETURN): Definition deleted.
+	(named_labels): Don't declare it.
+	(output_symbol): Don't use it.
+	(MAXPATHLEN): Don't define this.  Don't include sys/param.h.
+	(output_source_file_die): Avoid limit on file name size.
+	(output_symbols_for_stmt): Deleted.
+	(output_symbols_for_block): Adapt to using BLOCK, not LET_STMT.
+
+	* configure: Renamed from `config'.
+	* config: Directory renamed back from config-dir.
+
+Sat Jan 26 1990	 Ron Guilmette (rfg at ncd.com)
+
+	* README.DWARF: updated to reflect changes to dwarfout.c, the
+	inclusion of dwarf.h (and its changes) and the fact that the
+	DWARF support is no longer directly tied to the DG versions of
+	GCC.
+
+	* dwarfout.c: included a patch (provided by Ray Essick) to allow
+	dwarfout.c to properly get a value for MAXPATHLEN even on (old)
+	System V.3 systems.
+
+	* dwarfout.c: added support for long long types (as suggested by
+	Ray Essick).
+
+	* dwarfout.c: added support for the AT_comp_dir attribute.  Also,
+	as part of this change, the name of the compilation directory is
+	no longer placed into in the .sources section.
+
+	* dwarfout.c: added support for the AT_addr_ranges attribute.
+
+	* dwarfout.c: added support for the AT_prototyped attribute.
+
+	* dwarfout.c: added support for the AT_src_info attribute. Also,
+	as part of this change, there is no longer a "special" entry
+	at the start of the .srcinfo section for each compilation unit,
+	and the contents of the "special" final entry in the .srcinfo
+	section have changed (to { -1, -1 }).
+
+	* dwarfout.c: modified to allow additional GNU DWARF extensions
+	to be generated whenever the corresponding extended attribute
+	codes are defined (presumably within a modified dwarf.h file).
+
+	* dwarfout.c: use the section names .srcinfo and .sources rather
+	than .finfo and .files.	 The additional specificity is warranted
+	because the DWARF information may someday include information
+	about object files as well as source files.
+
+	* dwarfout.c: fixed a bug where a type attribute was being generated
+	for functions and function types even when the return type was
+	void.  "Standard" dwarf says that if the return type for a function
+	or function type is void then no type attribute should be generated
+	for the corresponding DIE.
+
+Sat Jan 26 04:22:08 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-lex.c (interface_strcmp): Handle String.String.Map.cc and
+	friends.
+
+	* cplus-typeck.c (build_unary_op): Merge change to generate better
+	code from simple cast expression.
+
+Fri Jan 25 10:06:28 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (pushtag): Don't call `pushdecl' if the type's name
+	is anonymous, lest we recurse ad infinitum.
+
+Thu Jan 24 23:56:55 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (expand_binop, expand_unop): Word at a time only for ints.
+
+Thu Jan 24 09:40:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_symbol): Apply changes in dbxout.c to deal with
+	SUBREG.	 Don't emit a symbolic definition for variables that can't
+	be represented.
+
+Thu Jan 24 21:18:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* config: Conditional for setting $os was backward.
+	Also mention name of make-var file if one exists.
+
+	* out-i386.c: Delete a large piece of accidental insertion.
+
+	* dwarfout.c: Don't include c-tree.h or cplus-tree.h.
+	(INT_TYPE_SIZE, etc.): Define them if not overridden.
+	(fundamental_type_code): Distinguish types by TYPE_PRECISION.
+	But also check for the built-in C type names.
+
+Thu Jan 24 15:23:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.c (default_compilers): Pass all args starting with "O" to 
+	cc1 so that -O2 is passed along.
+
+Thu Jan 24 13:10:27 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* stmt.c (expand_expr_stmt): Don't warn for any casts to void.
+
+	* config: Fix typos setting shell vars.
+	Rename config to config-dir.
+	Insert missing \ in case for delta.
+
+Wed Jan 23 16:31:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (emit_jump_insn_{before,after}): Allow PATTERN to be
+	a SEQUENCE.
+
+	* loop.c (check_dbra_loop): Use emit_jump_insn_before when writing 
+	out compare and jump sequence, not emit_insn_before, to ensure that
+	if we only write one insn  that it is a JUMP_INSN.
+
+	* toplev.c (flag_rerun_cse_after_loop): New: -frerun-cse-after-loop.
+	(rest_of_compilation): Rerun cse after loop if desired.
+	(main): Add support for -O2.
+	Prescan args for -O and -O2 to set default values for many -f options.
+	Add call to new macro OPTIMIZATION_OPTIONS.
+	Save status of -version until all args have been processed; then
+	write out the info.
+	(print_single_switch): New function.
+	(print_switch_values): Renamed from print_target_switch_defaults.
+	Now prints out currently enabled -f, -m, and -W switches.  Calls
+	print_single_switch to write out switch and handle long lines.
+
+	* rtl.def (SUBREG): Change rtx class from 'o' to 'x'.
+
+	* cse.c (find_comparison_args): Ignore hash table entry if not valid.
+
+Wed Jan 23 00:12:24 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* config: File renamed from config.gcc.
+	Allow abbreviations for +-options.
+	Allow config HOST TARGET.
+	Support +gas and +nfp as separate options.
+	Rename all the machine alternatives to general scheme:
+	cpu/company-system.  Allow abbreviations for cpu/company pairs.
+	* config-dir: Dir renamed from config.
+
+	* Makefile.in (install-dir): Create bindir here.
+
+	* cccp.c (main): Delete duplicat p++ left in last change.
+
+	* Makefile.in (GNULIB1, GNULIB1_TARGET): Renamed from GNULIB*.
+	(gnulib1.portable, gnulib1.target): Renamed from gnulib.*.
+	They now make a file named gnulib1, from gnulib1.c.
+	(LIB1FUNCS, LIB1FUNCS_EXTRA): Renamed from LIBFUNCS*.
+	(for-bootstrap, rest.encap): Depend on gnulib, not GNULIB2_TARGET.
+	(stamp-gnulib2): This file is no longer used.
+	(gnulib2.portable): Old stamp-gnulib2 rule renamed to this.
+	Now create a file named gnulib2, from gnulib2.c alone.
+	(gnulib): New target, combines gnulib1 and gnulib2 into gnulib.
+	(mostlyclean): Delete additional temporary files.
+	No need to avoid deleting stamp-gnulib2.
+	(clean): Delete gnulib1 and gnulib2, but not stamp-gnulib2.
+	(realclean): No need to delete gnulib here.
+	(install-gnulib): Changed dependencies.
+	* gnulib1.c: File gnulib.c renamed.
+
+	* Makefile.in (install-dir): Create bindir here.
+
+	* cccp.c (main): Delete duplicat p++ left in last change.
+
+Sun Jan 20 14:00:16 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (finish_struct): Conditionalize EMPTY_FIELD_BOUNDARY
+	on whether or not it is defined.  Similarly for	PCC_BIT_FIELD_MATTERS. 
+
+Wed Jan 16 18:56:30 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cse.c (fold_rtx): When folding dispatch table, stay inside bounds.
+
+Wed Jan 16 08:11:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads_toplev): Fix typo in recent change.
+
+	* reload1.c (eliminate_regs): If we have a non-paradoxical
+	(subreg (pseudo)) and the pseudo has an equivalent memory
+	location, replace the SUBREG because find_reloads may do it.
+
+Tue Jan 15 01:41:28 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* loop.c (scan_loop): Condition for movability was wrong.
+	A reg that isn't necessarily set may be unsafe
+	even if used only inside the loop.
+	However, a reg used only in the same basic block after the set is safe.
+	So is a reg that isn't a user-level variable.
+
+	* loop.c (loop_optimize): Reverse order of scanning loops.
+
+	* loop.c (scan_loop): After skipping the insns of a libcall sequence,
+	ignore notes when searching back to find the last insn of the seq.
+
+	* cccp.c (main): Use envvar GCC_EXEC_PATH to specify translation
+	of prefixe in default include dirs.
+
+	* cccp.c (main): Do path_includes after explicit options.
+
+	* combine.c (try_distrib): Don't push + thru negative count shifts.
+
+Mon Jan 14 09:40:28 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-lex.c (yylex): Even in `extern "C"', the keywords are the
+	same.
+
+	* cplus-lex.c (input_from_saved_text): New function.  Set string
+	source for FILE pointer.
+	(yylex, do_pending_inlines): Call it.
+
+	* cplus-parse.y (stmts, stmt): Type is now `tree'.  Some actions
+	fixed to return it.
+
+	* cplus-lex.c (reinit_parse_for_block): New function, with most of
+	the guts of reinit_parse_for_method.  Magic argument IS_TEMPLATE
+	chooses a set of error messages.
+	(reinit_parse_for_method): Call it.
+	cplus-template.c (reinit_parse_for_template): New function, also
+	calls reinit_parse_for_block.
+
+Mon Jan 14 07:20:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (skip_consec_insns, move_movables, strength_reduce): Don't
+	call find_reg_note on a NOTE.
+
+Sun Jan 13 15:45:23 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c: Separate namespace for assertions.  Don't expand macros
+	inside assertions in #if.  Allow arbitrary token sequences.
+	(rescan): Special handling after `#' if assertions_flag.
+	(expand_to_temp_buffer): New arg sets assertions_flag. Callers changed.
+	(eval_if_expression): Pass 1 for that arg.
+	(skip_paren_group): New function.
+	(assertion_hashtab, ASSERTION_HASHSIZE, ASSERTION_HASHNODE): New.
+	(assertion_install, assertion_lookup, delete_assertion): New functions.
+	(T_ASSERTION): Deleted.
+	(tokenlist_list): Renamed from arglist_list.
+	(read_token_list): Renamed from read_keyword_list.  Much changed.
+	Copy the strings into the heap.
+	(free_token_list): Renamed from free_keyword_list.  Free the strings.
+	(do_assert, do_unassert): Considerably changed.
+	(check_assertion): Somewhat changed.
+	(check_macro_name): Extra arg contributes to error message.
+	* cexp.y (yylex): Parse everything as a name if keyword_parsing.
+	(rule for assertions): Set, then clear, keyword_parsing.
+	(keywords): Allow empty sequence.  Allow nested parens.
+
+Sat Jan 12 12:18:00 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (build_unary_op): Make better code for simple casts.
+
+	* reload.c (find_reloads): Computing reload_when_needed, don't neglect
+	operands that don't have output reloads.
+
+	* cse.c (refers_to_mem_p): At check_addr, handle PLUS inside CONST.
+
+Sat Jan 12 06:30:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (steal_delay_list_from_*): Add missing argument to calls to
+	insn_sets_resource_p.
+	(fill_eager_delay_slots, relax_delay_slots): Add missing argument
+	to calls to mostly_true_jump.
+	(relax_delay_slots): Correctly handle case where we can't invert jump.
+
+	* reload.c (find_reloads_toplev): If we have a SUBREG of a
+	pseudo that resides in memory and the address is not offsettable,
+	substitute for the pseudo now so we can generate a reload for the
+	address.
+
+Fri Jan 11 14:39:09 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-next.h (LIB_SPEC, STARTFILE_SPEC): Don't support -p.
+
+Thu Jan 10 12:26:49 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-sun2.h (CC1_SPEC): Define to ignore -sun2 and -target.
+	(WORD_SWITCH_TAKES_ARG): Define to recognize -target.
+	(LIB_SPEC): Define; handle -a.
+	* tm-sun2os4.h: New file.
+	* tm-m68k.h (TARGET_SWITCHES): Handle -msky and -mnosky.
+	(TARGET_SKY): New macro.
+
+	* tm-next.h (LIB_SPEC): Use -lsys_s, not -lc.
+
+	* c-parse.y (yylex): Fix typo.
+
+	* genoutput.c (output_prologue): Make insn-output.c use insn-codes.h.
+	* Makefile.in (insn-output.o): Depend on insn-codes.h.
+
+	* Makefile.in (install-headers): Save $(libsubdir) before cd.
+
+	* Makefile.in (gnulib): Depend on config.status.
+
+	* gnulib2.c (__umulsidi3): Use #else around inline function.
+	Use __-style names for all machines.
+
+Wed Jan	 9 17:06:18 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* out-sparc.c (various places): Change \; to \n\t in printf
+	strings.
+
+	* sparc.md: Change PIC initialization pattern to recognize pattern
+	that doesn't involve a clobber.
+	* out-sparc.c: Rest of change is here, where PIC initialization is
+	emitted.
+
+	* cse.c (simplify_unary_operation, simplify_binary_operation):
+	Correctly adjust VAL for bits outside MODE.
+
+Wed Jan	 9 15:45:26 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* flow.c (libcall_dead_p): Handle a CALL in a PARALLEL.
+
+Tue Jan	 8 13:35:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (emit_store_flag): Correct UNSIGNEDP value passed to
+	convert_to_mode and expand_unop.
+
+Mon Jan	 7 11:56:31 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* gplus.gperf: New keywords for templates and other extensions.
+
+	* cplus-lex.c: Incorprate new gperf code.
+
+	* cplus-class.c (resolve_scope_to_name): New function.
+	(build_scoped_method_call): Call `resolve_scope_to_name' instead of
+	handling by itself.
+	* cplus-decl.c (pushdecl_class_level): Give forward declaration.
+	(lookup_nested_type): New function.
+	(pushtag,lookup_tag,xref_tag): Handle nested classes.
+	(finish_function): Add comment about obscure argument passing
+	convention for static method calls (at the call site).	Also, don't
+	call operator delete with NULL pointer.	 Call it with
+	`current_class_decl' instead.
+	(globalize_nested_type): New function.	Used when we learn that a
+	type which initially appeared to be nested should be defined in the
+	global scope instead.
+	(grokdeclarator): Call `globalize_nested_type' when grokking an
+	as-yet undefined class type.
+	* cplus-dem.c: Updated to handle qualified (i.e. nested) types.
+	This means handling the new letter `Q' in mangled names.
+	* cplus-init.c (build_member_call): Handle nested classes using
+	`resolve_scope_to_name' instead of handling itself.
+	* cplus-lex.c (typename_scope_in_progress): New static variable to
+	allow the lexer to figure out what are nested class typenames,
+	scoped member references, etc., without getting the parser too
+	involved.
+	(yylex): Recognize SCOPED_TYPENAME and TYPENAME_SCOPE tokens.
+	Also, recognize '<' and '>' separately from ARITHCOMPARE so we can
+	implement templates.
+	No longer recognizes (X::*) or (X::&) as single tokens.
+	* cplus-method.c (build_overload_nested_name): New function to build
+	internal names for nested typenames.
+	* cplus-parse.y: Handle parameterized type syntax (more or less).
+	(dummy_decl): Gone!
+	Nested types are now handled.
+	* cplus-tree.h (DECL_UNDEFINED_FRIENDS): Moved out of DECL_CONTEXT
+	slot of TYPE_DECLs.  DECL_CONTEXT of typename is now the enclosing
+	type for nested types.
+	(DECL_NESTED_TYPENAME): An identifier pointer that makes the name of
+	the type unique for the compilation.
+	(IDENTIFIER_*): When initializing, call `perm_calloc', not
+	permalloc, since non-zero values actually mean something,
+	and we don't guarantee to initialize everything in one go.
+	* tree.c (perm_calloc): New function.
+	* cplus-typeck.c (default_conversion): Don't defaultly convert a
+	naked METHOD_REF such that it becomes a virtual function table
+	index.	Only let this happen if user requests it with `&'.
+
+	* Makefile.in: Handle new source file cplus-template.c.
+
+Mon Jan	 7 15:03:53 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (process_init_constructor): Error if values
+	provided for an array of empty elements.
+
+	* out-i386.c (fp_top_dead_p1): Follow jump only if optimizing.
+	(fp_call_internal): Discard result if unused.  Use fp_top_dead_p1.
+
+	* cse.c (cse_insn): In special case for (set REG0 REG1),
+	change any REG_EQUIV notes to REG_EQUAL.
+
+	* tm-sun386i.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
+
+	* tm-att386.h (ASM_OUTPUT_LOCAL): Change back to data section.
+
+	* genrecog.c (write_tree_1): Typo in printf string.
+
+	* flow.c (libcall_dead_p): New arguments NOTE and INSN.
+	Now test that the hard return reg in the call is dead.
+	Callers changed.
+
+Mon Jan	 7 12:27:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (cancel_changes): Cancel changes in opposite order we made
+	them.
+
+	* integrate.c (subst_constants): Only commute operands if op0 is const.
+
+	* rtl.def (INLINE_HEADER): Add new integer field.
+	* rtl.h (POPS_ARGS): New macro for place to save
+	current_function_pops_args.
+	(FUNCTION_FLAG_POPS_ARGS): Deleted; no longer a single bit.
+	* emit-rtl.c (gen_inline_header_rtx): Add new arg for "pops args".
+	* integrate.c (initialize_for_inline, output_inline_function):
+	Correctly save and restore current_function_pops_args.
+
+Sun Jan	 6 14:10:44 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h (ASM_OPERANDS_INPUT_LENGTH): New macro.
+	* reload1.c (eliminate_regs): Use ASM_OPERANDS_... macros.
+	* recog.c (asm_noperands, decode_asm_operands): Likewise.
+
+	* rtl.def (IF_THEN_ELSE): Set class to '3'.
+
+	* cse.c (simplify_{unary,binary,ternary}_operation): New functions,
+	from fold_rtx.
+	(fold_rtx): Call these function to do the bulk of the work.
+	Use GET_RTX_CLASS to find commutative and comparison operations.
+	Swap folded_arg[01] when commuting operands.
+	* rtl.h: Define new functions.
+	* integrate.c (try_constants): Replace constant folding code with
+	calls to new functions above.
+	In commutative operations, put constants last.
+	
+	* genemit.c (struct clobber_pat): New data structure.
+	(gen_insn): If pattern ends with a group of CLOBBERs of hard
+	registers, store this information in a struct clobber_pat.
+	(output_add_clobbers): New function.
+	(main): Call it to write code to add CLOBBERs.
+	* genrecog.c (struct decision): Add new field num_clobbers_to_add.
+	(make_insn_sequence): If pattern ends with a group of CLOBBERs,
+	set up to recognize it without the CLOBBERs but to indicate the
+	number of CLOBBERs omitted.
+	(add_to_sequence): Initialize num_clobbers_to_add.
+	Remove unnecessary conditionalization on STORE_FLAG_VALUE.
+	(break_out_subroutines, write_subroutine, write_tree): Remove
+	RETURN_PREFIX parameter; TYPE is sufficient.
+	(write_subroutine): Add extra parameter for recog_* functions.
+	(write_tree_1): Pass TYPE instead of string for return.
+	Write out code to return number of CLOBBERs needed.
+	(write_tree): Add new parameter to recog_*.
+	(main): Add new parameter to recog.
+	Don't pass return string to break_out_subroutines and write_tree.
+	* recog.c (recog_memoized): Pass extra (0) parameter to recog.
+	* combine.c (recog_for_combine): New function.
+	(try_combine, simplify_and_cc0, try_distrib): Use it instead of recog.
+	(reg_dead_at_p, reg_dead_at_p_1): New functions.
+
+	* flow.c (mark_set_1): Count in reg_n_sets when a part of a register
+	is modified.
+	Update SIGNIFICANT correctly when subreg_p and multiple hard regs.
+	Compute reg_n_sets for hard registers.
+
+Sun Jan	 6 13:41:49 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* function.c (locate_and_pad_parm): Do REG_PARM_STACK_SPACE just once.
+
+	* Changes by wilson@cygnus.com.
+	* calls.c (expand_call): Test value of REG_PARM_STACK_SPACE instead
+	of assuming that it will always be greater than zero.
+	* function.c (assign_parms): Same as above.  Also, correct
+	calculation of STACK_BYTES.
+
+	* reload1.c (reload_reg_free_p): Old input reload blocks input_addr.
+
+Sat Jan	 5 18:32:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (mostlyclean): New name for old `clean'.
+	(clean): Deletes gnulib also.
+	(cleanconfig): Need not delete gnulib here.
+
+	* reload.c (push_reload): Don't use dying reg unless operand fits.
+
+	* c-parse.y (yylex): Hex and octal constants now traditionally signed.
+
+Sat Jan	 5 18:03:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* regclass.c (regclass): reg_n_sets is one per set.  It does not
+	take into account loop_depth.  So don't adjust by loop_depth here.
+
+Fri Jan	 4 13:18:07 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* function.c (put_var_into_stack): Don't mung virtual reg.
+	(fix_lexical_addr): Accept the virtual arg pointer.
+	* function.h (struct var_refs_queue): New structure.
+	(struct function): Use that for the pending var refs queue.
+
+	* print-tree.c (print_node): Nicer format for rtl of decls.
+
+	* c-decl.c (push_c_function_context, pop_c_function_context):
+	No need to deal with current_function_decl.
+
+	* c-parse.y (nested_function): Delete spurious nonterminal.
+
+Fri Jan	 4 12:13:14 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (modify_vtable_entries): In case we are modifying
+	the main vtable, start with the vtable that comes from the immediate
+	baseclass, not the most base class.  This is needed because later
+	fixups (for non-first and virtual baseclasses) do not fix up this
+	case.
+
+Fri Jan	 4 06:55:00 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (expand_binop): Fix typo in testing for SImode operation.
+	Generalize to apply in more cases by calling emit_store_flag rather
+	than doing the gen_sltu explicitly.
+
+	* expmed.c (store_bit_field, extract_bit_field): When insv/extv
+	don't allow MEM and we need to load the field into a register, don't
+	use the mode of OP0 if it is wider than the mode to be used for
+	insv/extv operating on a register.
+
+	* expmed.c (emit_stor_flag): Try to convert some comparisons with
+	1 and -1 to comparisons with zero.
+	Explicitly test sign bit of STORE_FLAG_VALUE rather than testing it
+	for being less than zero.
+
+	* cse.c (find_comparison_args): Don't compute STORE_FLAG_VALUE < 0;
+	instead, test the relevant sign bit.
+	Use GET_RTX_CLASS instead of comparison_code_p.
+	* loop.c (get_condition): Likewise.
+
+	* recog.c (validate_change): Eliminate duplicate code by always
+	saving the change.  If in_group == 0, call apply_change_group.
+	(apply_change_group): If recog_memoized fails, see if we have a
+	CLOBBER at the end.  Use validate_change to replace the pattern
+	with one without the CLOBBER if so; later we will verify that change.
+
+	* tree.c (stabilize_reference_1): Now static; also, define as forward
+	reference at start of file.
+
+	* rtl.def: Add new field in DEF_RTL_EXPR macro to give the "class"
+	of the rtx operation.
+	* rtl.h: DEF_RTL_EXPR has one additional arg.
+	(rtx_class, GET_RTX_CLASS): New var and macro.
+	* rtl.c: DEF_RTL_EXPR has one additional arg.
+	(rtx_class): Initialize table.
+
+	* reload.c (push_reload): If an input operand contains a dead
+	register used nowhere else in the insn, try to use it as a reload reg.
+	* reload1.c (reload_as_needed): If cancelling optional reload,
+	clear reload_reg_rtx.
+	(choose_reload_regs): If we can find reload value lying around,
+	use that register unless choice made by find_reloads would also save
+	an insn (the new choice added above won't).
+
+	* genoutput.c: Update comments on things written.  Change order to
+	agree with the order written.
+	(output_epilogue): Remove extraneous tests.
+
+Thu Jan	 3 13:32:54 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* rtl.c (read_rtx): Cast NULL vector.
+
+	* By Jim Wilson.
+	* tree.c (stabilize_reference): Modified to call stabilize_reference_1
+	instead of save_expr.
+	(stabilize_reference_1): New function.	For arithmetic operator trees,
+	recurse on the subtrees.  Otherwise, put a SAVE_EXPR around the
+	tree if it has side-effects.  
+
+Thu Jan	 3 12:37:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (choose_reload_regs): Only set reload_when_needed to
+	RELOAD_FOR_OUTPUT or RELOAD_FOR_INPUT when it used to be RELOAD_OTHER.
+
+Wed Jan	 2 18:28:23 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* emit-rtl.c (init_emit_once): Fix typo setting constm1_rtx.
+
+Wed Jan	 2 07:53:04 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* sparc.md (fix_truncdfsi2 recognizer): xoperands must have 3
+	elements because `output_fp_move_double' can write to operands[2].
+
+Wed Jan	 2 17:16:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* calls.c (emit_call_1): If we have call_pop, use it if we have
+	no stack arguments.
+
+	* out-vax.c (relational_op): Deleted, redundant.
+	* vax.md (branch): Use comparison_operator (in recog.c) instead of
+	relational_op.
+	* tm-vax.h (PRINT_OPERAND_PUNCT_VALID_P): "C" is not punctuation.
+
+	* reload1.c (reload_as_needed, forget_old_reloads_1): Don't clear
+	reg_has_output_reload and reg_is_output_reload for each insn, just
+	ones that need reload.	Instead, interpret each entry as zero if
+	n_reloads == 0.
+
+Wed Jan	 2 15:52:13 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (expand_binop): Fix typos.
+
+	* toplev.c (rest_of_compilation): Clear cse_not_expected after loop.
+	* rtl.h (cse_not_expected): Declare here.
+	* expr.h: Not here.
+
+Tue Jan	 1 21:55:11 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* emit-rtl.c (constm1_rtx): New standard constant.
+	(gen_rtx): Use it when appropriate.
+	(init_emit_once): Initialize it.
+
+	* out-vax.c (split_quadword_operands): New function.
+	(relational_op): Likewise.
+	* vax.md (extendsidi2, adddi3, subdi3): New patterns.
+	(movdi): Use clrq when appropriate.
+	(movaq recognizer): New pattern.
+
+	* recog.h (OUT_FCN): New macro.
+	* genoutput.c: Include recog.h in output file.	No
+	longer define "const", since that happens in recog.h.
+
+	* tm-vax.h (PRINT_OPERAND): Add 'C' to print a reversed condition.
+	* out-vax.c (rev_cond_name): Return its name.
+	* vax.md (unnamed patterns): Combine several reversed branch patterns
+	into one, using match_operator with relational_op and "%C".
+
+	* optabs.c (expand_binop): Handle multi-word addition and subtraction.
+
+	* Makefile.in (install-gnulib): Use RANLIB_TEST.  Use libg_dir.
+	(libg_dir): New customization variable.
+
+	* assert.h (__assert): Use standard GNU format for error messages.
+
+Tue Jan	 1 21:25:00 1991  Richard Kenner  (kenner at vlsi1)
+
+	* reload1.c (eliminate_regs, case PLUS): Always move constant to the
+	outside of a PLUS expression.
+
+Tue Jan	 1 11:45:22 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* ecoff-cmp: Specify `c' in option to tail.
+
+	* stor-layout.c (layout_record, layout_union, layout_type):
+	Use ROUND_TYPE_ALIGN and ROUND_TYPE_SIZE to compute
+	alignment and size of records, unions and arrays.
+	* ROUND_TYPE_ALIGN: New.  Args are type, spec'd align, other min align.
+	* ROUND_TYPE_SIZE: New.	 Args are type, size of contents, align.
+
+	* reload1.c (emit_reload_insns) [PRESERVE_DEATH_INFO_REGNO_P]:
+	Scan output and output-address reloads together.
+	Check for matching hard reg.
+
+	* config.gcc: Set proper shell vars in big dispatch.  Not `machine'.
+	(i386-isc): New alternative.
+
+Tue Jan	 1 08:29:49 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (update_block): Turn bb_tick update back on; it is needed,
+	after all.
+
+Mon Dec 31 18:12:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattrtab.c (write_test_expr, case EQ_ATTR): Use correct expression
+	number for attribute value.
+
+	* cse.c (cse_insn): Use single_set when looking for an insn that sets
+	cc0 followed by one that no longer does.
+
+	* recog.c (find_single_use): If the next insn after one that sets
+	cc0 is not an INSN or JUMP_INSN, return 0; don't blow up on a NOTE.
+
+	* emit-rtl.c (emit_insn_before, emit_insn_after, emit_insn): Return
+	something sensible if a SEQUENCE of length zero was passed.
+	We no longer make a SEQUENCE with XVEC == 0, so don't test for it.
+
+	* reload1.c (emit_reload_insns): Handle gen_move_insn returning
+	no insns (occurs on RT for dummy registers).
+	
+	* rtl.h (reg_cc0_rtx, find_cc): No longer needed.
+	* emit-rtl.c: Likewise.
+	* conditions.h: Entire file is #ifdef HAVE_cc0.
+	* final.c (CC_STATUS_INIT): Make a null default #ifndef HAVE_cc0.
+	(cc_status): No longer exists #ifndef HAVE_cc0.
+	(final_scan_insn): Do CC processing only #ifdef HAVE_cc0.
+	(alter_cond): Only exists #ifdef HAVE_cc0.
+	* genemit.c (gen_exp): No longer have CC0_REGNUM or reg_cc0_rtx.
+	* genoutput.c (main): Include insn-config.h before conditions.h.
+	* reorg.c: Likewise.
+	* jump.c (rtx_equal_for_thread_p): Remove reference to CC0_REGNUM;
+	we'll have to do this optimization some other way later.
+	* tm-a29k.h (NOTICE_UPDATE_CC): Deleted.
+
+Mon Dec 31 14:44:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload.h (enum_reload_when_needed):
+	New alternatives RELOAD_FOR_OUTPUT, RELOAD_FOR_INPUT.
+	* reload1.c (choose_reload_regs): Use those when appropriate.
+	(mark_reload_reg_in_use): Record this usage specially.
+	(reload_reg_free_p, reload_reg_free_before_p): Handle this usage.
+	(reload_reg_reaches_end_p): Likewise.
+	(emit_reload_insns): Treat RELOAD_FOR_INPUT like RELOAD_OTHER.
+
+	* i386.md (push for SFmode): Operand of fst was missing.
+
+Mon Dec 31 08:50:17 1990  Craig Burley	(burley at pogo.ai.mit.edu)
+
+	* stor-layout.c (layout_type): For ARRAY_TYPE case, don't try
+	and compute a size if there is no TYPE_MAX_VALUE for the index.
+	* tree.c, tree.h (build_index_2_type): New function, like
+	build_index_type except it accepts the low value as an arg instead
+	of assuming 0.
+
+Mon Dec 31 08:09:10 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-typeck.c (c_expand_return): Handle case when we try
+	to return a void value (such as a void function call) in a
+	function returning void, and there are cleanups to run.
+
+Sun Dec 30 21:08:32 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-a29k.h (TARGET_VERSION): Can't use target_flags since we can
+	be called from gcc.c.
+
+	* tm-rs6000.h (REG_ALLOC_ORDER): Put r12 after r13; it might be 
+	holding a DImode value and so might be very expensive (we won't
+	worry about TImode).
+
+	* rs6000.md (subtract patterns): Fix incorrect operand number in %I.
+	(movti): Disallow indexed memory operands.
+
+	* out-rs6000.c (print_operand, case 'm'): Fix typo.
+	(includes_rshift_p): Correctly compute mask.
+
+	* out-a29k.c (output_operand): Add missing parentheses.
+	(print_operand): Replace if/then/else structure with switch statement.
+
+	* a29k.md (beq, bne): Try to use NE test whenever possible; it
+	will produce better code if we have bit-tests.
+
+Sun Dec 30 12:02:03 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* tm-sparc.h (PRINT_OPERAND): Put 'R' case before REG so that it
+	takes when 'R' is passed in as CODE.  Also, handle 'B' letter.
+
+	* sparc.md: (pattern for converting DFmode to SImode): Second
+	argument to `output_asm_insn' should be `operands', not zero.
+	(tablejump): The jump insn is "jmp", not "jump".
+	(gen_fixtruncdfsi2): operands[2] should get the pseudo, not
+	operands[3] (which is nonexistent).
+	(call): Fix typo which had %o7 being emitted as %o.
+	(various patterns): Fixed places where match_operand had the wrong
+	operand number.
+
+Sat Dec 29 17:27:00 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* sparc.md: cc_status no longer handles condition code updates.
+	Instead, condition codes are explicitly set and used via
+	hard register 0.  Special attributes specific to condition codes
+	(such as whether conditional branches should test the integer or
+	floating-point condition codes, or that the condition codes cannot
+	be tested for a condition which would test the overflow bit) are
+	handled by encoding the attribute in the mode for the condition
+	code register.
+	(type attributes): type "unary" insns have one input operand (1)
+	and one output operand (0)
+	type "binary" insns have two input operands (1,2) and one output (0)
+	type "compare" insns have one or two input operands (0,1) and no output
+	type "move" and type "arith" have been deleted.
+	(prescan attribute): Deleted.  Machine description now puts
+	floating-point zero in registers when needed.
+	(use_cc attribute): Deleted.
+	(fpcc define_delay): No longer depend on "use_cc" attribute.
+	Also, fpcc delay characteristics hold for "fpcc" type insns.
+	(cc attribute): Deleted.
+	(cmpxx patterns): Now written as `define_expand's so we can stow
+	away operands.	When the pattern that will use the results of the
+	conditional test is emitted, it can use these operands to figure
+	out the right way to emit the compare.
+	(bcc patterns): Rewritten to emit comparison (based on stowed-away
+	info) before emitting branch.
+	(scc patterns): Handle all the cases with branch-free code.
+	Added new pattern to recognize (x + (i == 0)).
+	(movsi pattern recognizer): Split into two patterns so that e.g.
+	"(set:SI (mem:SI ...) (const_int 5))" is never considered valid.
+	Instead this has to be a two-insn sequence.
+	(mov{hq}i pattern recognizers): Ditto.
+	(movstrsi): Force operands[2] out of memory if it was in memory.
+	({zero,sign}_extendXY): Now written as `define_expand's instead of
+	`define_insn's for more accurate machine modeling.
+	Added new pattern to optimize bit-field compares.
+	(floatsisf2 patterns): Delete redundant setting of "in_call_delay"
+	attribute.
+	(fix_trunc{sf,df}si2 pattern): Use clobberable register in which
+	the conversion can take place.	Used to use %f30,%f31.
+	({add,sub}di3 pattern): Put explicit clobber of (reg 0) in the
+	pattern.
+	(negdi2 pattern): Ditto.
+	Added new patterns to handle merging of addition/subtraction with
+	condition code testing (with (reg:CC_NOOV 0)).
+	({and,ior,xor}cbsi3 pattern): Obsolete.	 Deleted.
+	Added patterns to represent setting of condition codes in addition
+	to performing logical operations.
+	({neg,abs}df2 pattern): Use `R' print letter to overcome the need
+	to use a C action instead of a simple template.
+	(ash{l,r}{hi,qi}3): Define patterns for shifts on sub-SImode
+	operands.
+	(jump pattern): Use `*' print code to obviate the need for a C
+	action when a template can do.
+	(tablejump pattern): Ditto, with `^' code as well.
+	Deleted `define_split's that were used to handle mem-mem moves in
+	the case of PIC generation.  Since all move insns are emitted and
+	maintained as SPARC-valid insns, these should no longer be needed.
+	(various patterns): (HI ...) is spelled (HI:SI ...).  Also, use
+	`gen_lowpart' instead of building subregs directly.
+	New `define_split's were added to split scc insns into simpler
+	components which have single-insn templates.
+	Fixed a return peephole when returning a SFmode value (it was
+	missing the "ret"!).
+	Lots of complicated peepholes that brought cc testing and
+	arithmetic operations together were deleted.  This is because the
+	combiner should now handle all these cases.
+
+	* out-sparc.c (sparc_compare_op{0,1}): New global variables.
+	Used to hold the operand(s) to compare insns in lieu of emitting a
+	compare.
+	(reg_or_cc0_operand): Deleted.
+	(normal_comp_operator): New function.
+	(cc_arithop): Now returns 0 for PLUS and MINUS.
+	(cc_arithopn): Now returns 0 for XOR.
+	(gen_compare_reg): New function.
+	(sparc_address_cost): Simplified because it turns out it doesn't
+	matter what is returned for illegitimate addresses.
+	(hard_regno_mode_ok): Updated to use these new #defines.
+	(C_MODES): New #define, for condition code modes.
+	(S_MODES): Ditto, for single-word (and smaller) quantities.
+	(D_MODES): Ditto, for double-word (and smaller) quantities.
+	(T_MODES): Ditto, for tetra-word (and smaller) quantities.
+	(SF_MODES): Ditto, for SFmode quantities.
+	(DF_MODES): Ditto, for SF_MODE, DFmode, SCmode, etc.
+	(TF_MODES): Ditto, for DF_MODE, TFmode, DCmode, etc.
+	(output_floatsi{df,sf}2): Greatly simplified.
+	(output_pic_sequence,output_pic_sequence_2,fp_zero_hook,
+	output_tail_call): Turned off.
+
+	* tm-sparc.h (ASM_SPEC): Pass `-k' to assembler if compiling PIC.
+	(WORDS_BIG_ENDIAN): Define as 1, not 0.
+	(FIXED_REGISTERS): %f30 and %f31 are now allocatable.
+	(REG_CC0_RTX, CC0_REGNUM): Deleted.
+	(EXTRA_CC_MODES): New modes CC_NOOVmode and CCFPmode.  The former
+	is for when the overflow bit it not to be tested; the latter is
+	for when the condition is sitting in the floating point unit.
+	(SELECT_CC_MODE): New macro.
+	(FINAL_PRESCAN_INSN): Deleted.
+	(CC_* macros): Deleted.
+	(PRINT_OPERAND_PUNCT_VALID_P): New valid chars are '#' (for
+	whether to print a noop or not), '*' (for whether to print a ",a"
+	or not), and '^' (for whether to emit code for PIC branch or not).
+	(PRINT_OPERAND{,_ADDRESS}): Replace calls to fprintf by calls to
+	fputs where that is convenient.
+
+	* expr.h, cplus-dbxout.c: #ifdef BYTES_BIG_ENDIAN should be #if.
+
+	* reload.c (struct replacement): Add new field subreg_loc.
+	(push_reload): If reloading SUBREG_REG of a paradoxical SUBREG,
+	store the location of the SUBREG in subreg_loc in REPLACEMENTS.
+	(push_replacement): Initialize subreg_loc.
+	(subst_reloads): Don't produce nested SUBREGs; use subreg_loc.
+
+	* regclass.c (regclass): Handle (set X (op CONST Y)) properly when
+	the modes of operands 0 and 1 are different.
+
+Sat Dec 29 16:37:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (macroexpand): Test traditional when computing expansion size.
+
+	* toplev.c (compile_file):
+	If profiling, leave some space after `gcc_compiled.'.
+	* tm-m88k.h, tm-sparc.h, tm-sun386i.h (ASM_IDENTIFY_GCC): Deleted.
+
+	* reload1.c (emit_reload_insns): Set reg_reloaded_contents, etc, here.
+	(choose_reload_regs): Not here--except for reg_has_output_reload.
+
+	* c-parse.y (nested_function, notype_nested_function):
+	Use compstmt for body, not compstmt_or_error.
+
+	* Makefile.in (install-headers): Use basename on 
+	* stupid.c (stupid_mark_refs): Really do mark clobbered hardreg
+	live before the insn.
+
+Fri Dec 28 05:44:10 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (subreg_lowpart_p): Use correct modes in
+	WORDS_BIG_ENDIAN case.
+
+	* reload.c (combine_reloads): Don't try to reference
+	insn_operand_constraint for an ASM insn.
+	Fix typo in testing for modified operand.
+
+Thu Dec 27 19:02:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Ensure we invalidate SET_DEST if SET_SRC is a CALL.
+
+	* cse.c (fold_rtx): Save mode of original first operand in case this
+	is becoming (sign_extend (const_int)).
+
+Thu Dec 27 16:15:56 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md, out-m88k.c (CCmode): Use it.
+	(emit_bcnd): Avoid loosing when bcnd is changed into sxx.
+	(hi16/lo16): Don't use these to form 16-bit immediate values.
+	Introduce and use %X/%x.
+	(length attribute): Make better use of defaults.
+
+	* tm-v88r32.h (LIB_SPEC): Goes here rather than in xm-v88r32.h.
+	* xm-*88*.h: Clean these up.  Most differences go away by relying
+	on the 88open standards.
+
+Thu Dec 27 12:48:26 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expmed.c (store_bit_field, extract_bit_field):
+	Change #ifdef to #if, testing BYTES_BIG_ENDIAN.
+
+Thu Dec 27 07:36:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (find_end_label): Ignore USE and CLOBBERs when looking for
+	label at end of function.
+
+Wed Dec 26 22:35:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (sequence_element_free_list, sequence_result): New vars.
+	(restore_emit_status, init_emit): Initialize them.
+	(emit_insn_before, emit_insn_after, emit_insn): Save SEQUENCE in
+	sequence_result.
+	Make these three routines more alike in structure.
+	(start_sequence, end_sequence, push_to_sequence): Cache INSN_LIST pairs
+	in sequence_element_free_list rather than making new ones.
+	(start_sequence): No longer return unused rtx; only one caller
+	needed to be changed (in function.c, see below).
+	(end_sequence): No longer has argument.
+	(gen_sequence): Try obtaining a pre-built SEQUENCE from
+	sequence_result; no longer special-case length 0 vectors.
+	* function.c (fixup_memory_subreg): start_sequence no longer
+	returns an rtx and end_sequence no longer has an argument.
+	* rtl.h (start_sequence): Now void.
+	(push_to_sequence, end_sequence): Define.
+
+Wed Dec 26 13:19:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gnulib.c: No longer #undef perform_* if not __GNUC__.
+	(perform_*): Define each if not already def.
+
+Tue Dec 25 17:31:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (get_condition): Rework scan that looks for sets of things
+	being compared to allow intervening insns; check to ensure that
+	they don't set something that we need.	Return 0 if the best we can
+	do is find something whose mode is in class MODE_CC.
+
+	* calls.c (emit_call_1): RETURN_POPS_ARGS now gets the length of
+	arguments on the stack and returns the number of bytes popped by the
+	called function.
+	* output.h (current_function_pops_args): Change description.
+	* function.c (current_function_pops_args): Likewise.
+	(assign_parms): Initialize current_function_pops_args here.
+	(init_function_start): Not here.
+	* tm-*.h (RETURN_POPS_ARGS): Reflect new meaning.
+	(FUNCTION_EPILOGUE): Use new meaning of current_function_pops_args.
+	* out-i386.c (function_epilogue): Likewise.
+
+Tue Dec 25 15:52:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gnulib.c (all functions): Support a hook for redefining contents.
+	These hooks are called perform_addsi3, and so on.
+	They are used only if compiling with GCC.
+
+	* rtlanal.c (single_set): Moved from loop.c.
+
+	* cse.c (fold_rtx): For a MEM, fold address when looking for constant.
+	(cse_insn): When fetch a constant label from a dispatch,
+	substitute into following tablejump.
+	(find_best_addr): Clear do_not_record before hashing.
+	* jump.c (mark_jump_label): Don't record table-labels on non-jumps.
+
+	* m68k.md (casesi_2 recognizer): Use register_operand as predicate.
+
+Mon Dec 24 17:54:42 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cse.c (fold_rtx): Handle ADDR_DIFF_VEC like ADDR_VEC,
+	when the index in it is constant.
+
+	* c-decl.c (start_function): Handle new option -Wmissing_prototypes.
+	(c_decode_option): Likewise.
+
+Mon Dec 24 07:21:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h (reload_completed, reload_in_progress): Now defined here.
+	* output.h (reload_completed): No longer defined here.
+	* emit-rtl.c, optabs.c, recog.c, sched.c, toplev.c, out-a29k.c:
+	Don't define reload_in_progress or reload_completed.
+	* a29k.md, romp.md, rs6000.md: Likewise.
+
+	* machmode.def: Terminate GET_MODE_WIDER_MODE chains with VOIDmode,
+	not zero.
+	(CCmode): New mode.
+	* machmode.h (enum machine_mode): Includes modes in EXTRA_CC_MODES,
+	if defined.
+	(enum mode_class): New class MODE_CC; delete MODE_FUNCTION.
+	* rtl.c (mode_name): Define to be known size; add names for extra
+	CC modes, if present.
+	(mode_class, mode_size, mode_unit_size, mode_wider_mode): Define
+	to be known size.
+	(init_rtl): Initialize extra CC modes.
+
+Sat Dec 22 19:33:54 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-i386v.h (MAXPATHLEN): Define if not already defined.
+	* tm-i386vgas.h: New file.
+
+	* out-i386.c (print_operand_address): Handle scaled indexing.
+
+Sat Dec 22 11:15:03 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md, out-m88k.c, tm-m88k.h (swapped cmpsi): Don't rely on
+	NOTICE_UPDATE_CC doing the job.	 Instead, compliment the swapped
+	compare.  Also, make COMPARE SImode.
+	(and/cmpsi/sxx/neg): Add patterns to do this in one instruction.
+	Change sign_extend/sxx to neg/sxx for other cases.
+	(iorsi3/xorsi3): Use alternatives and explicit patterns.
+	(casesi): Make the constant the second operand to cmpsi.
+	(output_and): Must compliment value to use the clr instruction.
+	(output_reg_adjust): Simplify the interface and use TEMP_REGNUM.
+	(TARGET_SWITCHES): Eliminate needless no-* options.
+
+Fri Dec 21 05:46:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (find_single_use{,_1}): New functions.
+	* rtl.h (find_single_use): Declare it.
+
+Thu Dec 20 21:27:36 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (init_optabs): Add __ to names of floating compare fcns.
+
+Thu Dec 20 18:21:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_builtin, case BUILTIN_FFS): Get mode for arg from
+	tree, not rtx, in case arg was CONST_INT.
+
+Thu Dec 20 17:31:46 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Don't define `ffs'.
+
+Wed Dec 19 16:59:38 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c (main): Handle if SIGPIPE not defined.
+
+	* cccp.c (xmalloc, xrealloc, xcalloc): Don't declare malloc or realloc.
+
+Wed Dec 19 06:50:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (gen_lowpart_for_combine): Avoid making a nested SUBREG
+	when we are being passed a paradoxical SUBREG of MEM.
+
+	* cse.c (new_basic_block): Compilations spend about 5% of their time
+	in this function so replace loop initializing qty_{first,last}_reg
+	with copy from a larger consec_ints.  Only loop over extra entries.
+	(cse_main): Allocate consec_ints to be default size of max_qty large.
+
+	* reorg.c (get_branch_condition): Fix typos when reversing condition.
+	(condition_dominates_p): Fix typo in comparison.
+	(redundant_insn_p): This function was taking about 4% of the
+	compilation time.  Rework so it doesn't split, only looks at resource
+	usage if it finds a matching insn (since it usually won't), and
+	improve code that looks at resources.  Now takes about 0.5% of
+	compilation time.
+	(fill_simple_delay_slots): Always call mark_target_live_regs with an
+	active insn; currently being called with a CODE_LABEL.
+
+Tue Dec 18 14:08:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* out-sparc.c: Fix uninitiated comment.
+
+	* final.c (end_final): Call strip_off_ending to remove the file
+	name suffix.
+	(final_start_function): Execute SDB_DEBUGGING_INFO code only if
+	generating SDB symbol info.
+
+	* Makefile.in (cccp.o): Depend on gcc.
+
+	* tm-sparc.h, xm-sparc.h: Make this machine big-endian.
+
+	* expr.c (expand_builtin): Pass correct arguments to gen_cmpstrsi4.
+
+	* recog.c (nonmemory_operand): Reject reg whose class is NO_REGS.
+
+	* c-decl.c (finish_struct, grokdeclarator):
+	Strip NON_LVALUE_EXPR more than once.
+
+	* combine.c (combine_instructions): Check that a jump insn uses CC0
+	before trying to combine it with an insn that sets CC0.
+
+	* cplus-decl.c, cplus-search.c, gcc.c, objc-actions.c, rtl.c, stmt.c,
+	symout.c, toplev.c: Use xmalloc instead of malloc.
+
+	* cccp.c (do_include): Check for truncation of precompiled file name.
+
+Mon Dec 17 16:53:46 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault, build_conditional_expr):
+	Fix indentation.
+	* reload1.c (choose_reload_regs): Fix indentation.
+	(gen_input_reload): Fix typo in comment.
+
+	* reload.c (find_reloads): Call abort when the last operand is
+	marked commutative, to make it easier to find this error.
+
+	* rtlanal.c (refers_to_regno_p): Don't crash if X is 0.
+
+Mon Dec 17 15:29:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (combine_regs): No need to see if suggested hard reg
+	is suitable; if it isn't, it won't end up being used.  Existing tests
+	were too conservative.
+
+	* jump.c (delete_jump): When searching for the SET of the condition
+	codes for a jump insn, give up if we hit a SEQUENCE.
+
+Mon Dec 17 02:14:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (c_size_in_bytes): New function.
+	(pointer_int_sum, pointer_diff): Use that.
+	(pointer_diff): Handle warn_pointer_arith.
+
+Sun Dec 16 22:27:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (start_decl): Ignore with error any init for a parm.
+	(finish_decl): Likewise.
+
+Sun Dec 16 01:02:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* jump.c (rtx_equal_for_thread_p): Treat the special CC register as
+	equivalent for the two threads we are looking at.
+
+	* combine.c (try_combine): Fix typo in loop over I1 with PARALLEL
+	body.  Also, don't test HARD_REGNO_MODE_OK for hard registers we are
+	thinking about combining.  This screws up using registers to
+	represent the condition codes, and probably doesn't save anything in
+	the general case.
+
+	* expmed.c (expand_and): Comment says that result is always stored
+	in target, so the code now does this.
+
+Sat Dec 15 18:09:46 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* loop.c (get_condition): Try a little harder to find the setter of
+	the register used in a conditional test.  On the SPARC it is vital
+	to either find the setter of the register used for the condition
+	codes or for this function to return 0.	 Also, have test for
+	non-NULL, matching `set' govern both normal and reversed cases of
+	comparisons.
+
+	* jump.c (jump_optimize): When moving USE insns from before jumps to
+	after BARRIERs, put the label for the redirected jump after the
+	BARRIER instead of just before the PREV_INSN of the original target.
+	This gets around problems when there are NOTEs between the BARRIER
+	and the original target.
+  
+Sat Dec 15 10:16:29 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* sparc.md (cmpdf,cmpsf): No longer a define expand.  Now depends
+	on fp zero being loaded into a register.
+	(tstsi,tstdf,tstsf): Deleted.
+	(seq,sne): Fail if we are not testing operands of integer mode.
+	(movsi): Split recognizers into two parts.  The first handles
+	[reg,mem,zero] <=> [reg,mem]; the second handles [reg,const] =>
+	[reg].
+	(adddf,subdf,negdf): Simplify output routines using 'R' as an
+	output letter.
+	(tail_call): Turn this off.  It is never used, and it depends on
+	routines which are about to become broken.
+	(various places): Add USE_CC attribute where appropriate.
+	(various places): Change (use (reg:SI 0)) to (clobber (reg:SI 0))
+	and delete CC_CLOBBER attribute from the pattern.
+	* out-sparc.c (move_operand): No longer recognize certain
+	immediates as a `move_operand'.
+	(move_reg_or_immed_operand): New recognizer for immediates no
+	longer recognized by `move_operand'.
+	(output_pic_sequence*): Turned off.
+	(sparc_address_cost): Simplified, since the value returned is not
+	used if the address is not legitimate.
+	(emit_move_sequence): Use `gen_lowpart' instead of building
+	SUBREGs explicitly.
+	(make_f30_contain_zero): Deleted.
+	(output_tail_call): Turned off.
+	* tm-sparc.h (PRINT_OPERAND): Recognize 'R' code letter, which
+	means print the name of REGNO (X)+1.  No longer recognizes the 'G'
+	letter.
+	(PRINT_OPERAND,PRINT_OPERAND_ADDRESS): Replace various calls to
+	fprintf with calls to fputs or fputc.
+	(FINAL_PRESCAN_INSN): No longer defined.
+
+Sat Dec 15 14:37:51 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* recog.c (offsettable_address_p): Check validity in narrower modes.
+
+Sat Dec 15 11:21:55 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* syms.h sdbout.c (T_VOID): Ensure that T_VOID is provided a
+	default meaning if <syms.h> is used.
+
+Fri Dec 14 14:39:10 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (increment and test peephole): Updated so it would apply
+	with the new method for doing cmpsi/bxx.
+	* m88k.md (function units): Replace decode with alu and update
+	accordingly.
+	* out-m88k.c (emit_test): Add a mode parameter.
+	* tm-m88k.h (GO_IF_LEGITIMATE_ADDRESS): Constrain how the arg
+	pointer can be used.
+
+Fri Dec 14 06:48:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_move): Add missing argument to some recursive calls.
+
+	* jump.c (invert_jump): Pass new label to recursive call.
+
+	* expr.h (setcc_gen_code): Replaces setcc_gen_fctn; stores insn_code.
+	(expand_and, emit_store_flag, label_rtx): Add definitions.
+	(get_condition, compare_from_rtx): Likewise.
+	* rtl.h	 (STORE_FLAG_VALUE): Provide a default value of 1.
+	(reg_set_last): Add definition.
+	(const_true_rtx): New variable.
+	* cse.c: Remove defaulting of STORE_FLAG_VALUE from here.
+	(const_true_rtx): Remove static version; now global.
+	* emit-rtl.c (const_true_rtx): Define here.
+	(gen_rtx): Return const_true_rtx for CONST_INT of STORE_FLAG_VALUE.
+	(init_emit_once): Initialize const_true_rtx.
+	* expmed.c (emit_store_flag): Rewritten.  Is passed the operands
+	to compare in addition to the compare operation and emits both the
+	comparison and the store-flag insn.
+	Handles special-case of testing for A < 0 and A >= 0.
+	If result is constant, just return it.
+	Accepts an argument saying how to normalize the result and does
+	appropriate normalization.
+	Give preference to using the sign bit rather than the low-order bit.
+	Allow sxx insns to fail.
+	If don't have seq or sne insns, can sometimes do with abs.
+	* expr.c (expand_expr, case COND_EXPR): For X ? A + 1 : A, only
+	do store_flag if it is cheap.
+	(do_jump): True comparisons return STORE_FLAG_VALUE, not 1.
+	(compare_constants): Correctly handle unsigned comparisons.
+	Return STORE_FLAG_VALUE, not 1, for true comparison.
+	(compare_from_rtx): New name for compare1.
+	Accept size and alignment, for BLKmode.
+	No longer statuc.
+	(compare, compare_from_rtx): No need to pass forward and reverse codes;
+	can trivially derive the reverse code from the forward one.
+	All callers changed.
+	If one operand is constant, make it the second one.
+	(compare): Let compare1 do most of the work.
+	(do_store_flag): Rewritten, now lets emit_store_flag do most of
+	the work.
+	Handles the special-case of comparing a single bit with zero.,
+	Add additional argument ONLY_CHEAP; if non-zero, fail if it looks like
+	this will be an expensive operation; all callers changed.
+	If it looks like it will be possible to do a store-flag operation,
+	call emit_store_flag; if it can't do it, emit as assignments and a
+	jump.  If it doesn't look possible to do a store-flag operation, return
+	zero before expanding anything.
+	* final.c: (final_scan_insn): Don't check STORE_FLAG_VALUE; if the
+	insn doesn't exist, we won't try to change it.
+	* genemit.c (gen_exp): Use const_true_rtx when appropriate.
+	* genrecog.c (add_to_sequence): Likewise.
+	(try_merge_1): Two nodes aren't identical if they are to test
+	different modes or if they have different values of EXACT.
+	* integrate.c: Don't supply a default value for STORE_FLAG_VALUE here.
+	* jump.c: Now includes expr.h (for emit_store_flag and get_condition).
+	(jump_optimize): Split optimization that made store-flag insn
+	into three separate optimizations, the first two of which are useful
+	even in the absence of store-flag operations.
+	(can_reverse_comparison): Set and use of cc0 must be immediately
+	adjacent.
+	(mark_jump_label): Abort if LABEL_REF codesn't contain a CODE_LABEL.
+	Consider two labels adjacent after reload if separated by just USE or
+	CLOBBER insns.
+	* loop.c: Now includes real.h.
+	(get_condition_for_loop): New function.	 All callers of get_condition
+	in this file now call this function.
+	(strength_reduce): no_labels_between_p now skips FROM.
+	(get_condition): No longer static.
+	Refine cases when we can't reverse a comparison operation.
+	* optabs.c (init_optabs): Initialize and define setcc_gen_code
+	instead of setcc_gen_fctn.
+	* rtlanal.c (no_labels_between_p): Skip FROM, like as ..._between_...
+	functions do.
+	(no_labels_between): Deleted.
+	(reg_set_last, reg_set_last_1): New functions.
+	* Makefile.in (jump.o): Now include expr.h.
+	(loop.o): Now includes real.h.
+
+	* c-tree.h (int_ftype_cptr_cptr_sizet, ptr_ftype_ptr_cptr_sizet):
+	New names.
+
+	* alliant.md, i386.md, m68k.md, m88k.md, ns32k.md, sparc.md: Add mode
+	to comparison operators (EQ, NE, etc.) to agree with the mode of the
+	destination.
+	* out-m88k.c (emit_test): Likewise.
+
+Fri Dec 14 00:12:46 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (finish_struct): Strip NON_LVALUE_EXPR from field width.
+
+Thu Dec 13 13:10:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cplus-init.c (expand_vec_init): Add missing arg to
+	expand_exit_loop_if_false.
+
+	* config.gcc (tron): Alias for gmicro.
+
+	* c-decl.c (int_ftype_cptr_cptr_sizet): Variable renamed.
+	(ptr_ftype_ptr_cptr_sizet): Likewise.
+
+	* gcc.c (default_compilers): Handle .C.
+
+	* Makefile.in (enquire.o): Add -I. so can find stddef.h.
+	(install-cross): Install cc1obj like the others.
+
+	* Makefile.in (gnulib.target): Renamed from gnulib.
+	(gnulib): Renamed from tmpgnulib.  Rename that file in this rule.
+	Also delete stamp-gnulib2 here.
+	(gnulib.portable, gnulib.convert): Input now is named gnulib.
+	(GNULIB_TARGET, GNULIB2_TARGET): Define these vars (already in use).
+	(gnulib2.target): Renamed from gnulib2.
+	(gnulib2): New rule, alias for gnulib2.target.
+
+	* local-alloc.c (local_alloc): Cast an enum used as index.
+	* optabs.c (emit_indirect_jump): Likewise.
+	* reload1.c (choose_reload_regs): Likewise.
+
+Thu Dec 13 12:38:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (store_bit_field): Verify that operand 1 of movstrict
+	satisfies its predicate.
+
+Wed Dec 12 17:26:21 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gvarargs.h: Avoid duplicate inclusion using _VARARGS_H.
+
+Wed Dec 12 14:11:30 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88k.h, out-m88k.c, m88k.md: Eliminated the fixed condition
+	code register.	As a temporary measure, NOTICE_UPDATE_CC is used
+	to track swapped cmpsi cases.
+
+	* m88k.md (shift patterns): Deal with TARGET_*_LARGE_SHIFT
+	uniformly with define_expand.  Make gen_lshlsi3 generate ASHIFT
+	and eliminate the optimization patterns using ASHIFT.  Eliminate
+	other optimization patterns that will be handled by combine.
+
+Tue Dec 11 22:13:48 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.c (convert_move): With slt, handle dest that's invalid.
+
+	* stmt.c, tree.h (stmt_nesting):
+	Typedef deleted; use `struct nesting *'.
+	* stmt.c (expand_start_cond): If exitable, make an exit label.
+
+Tue Dec 11 21:28:56 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst, case SUBREG): Update TO for earlier
+	changes so we can always detect (subreg (mem ...)).
+
+Tue Dec 11 10:56:53 1990  Craig Burley	(burley at pogo.ai.mit.edu)
+
+	* stmt.c (expand_start_loop{,_continue_elsewhere}): Return pointer
+	to nesting structure (new type stmt_nesting).
+	(expand_exit_loop{,_if_false},expand_continue_loop): Accept pointer
+	to nesting structure, substitute loop_stack if 0 (same behavior as
+	before when there was no argument), so F90 CYCLE and EXIT statements
+	(like C's continue and break stmts) can refer to other than the
+	innermost loop.
+	(expand_start_cond): Uses new names for if-related labels that
+	reflect addition of "elseif" call, and sets endif_label to whatever
+	exit_label gets set to (so we don't generate two identical labels
+	for languages from which if is exitable via expand_exit_something).
+	(expand_start_elseif): New function, used by Fortran.
+	(expand_start_else): Moved above _end_cond so these four functions
+	appear in the order they get called; uses new names, and fills in
+	only endif_label if needed, not exit_label.
+	(expand_end_cond): Handles end of any if, not just if-without-else.
+	Generates both labels for next else/elseif pending (there was none)
+	and the endif itself, if they exist (and there will always be at least
+	one).
+	(expand_end_else): Gone, call expand_end_cond instead.
+	* c-parse.y, cplus-parse.y, objc-parse.y: Pass new 0 argument to
+	expand_..._loop_... to indicate the innermost loop; call
+	expand_end_cond instead of expand_end_else.
+	* tree.h: Typedef for stmt_nesting returned by expand_start_loop...
+	and change their return types accordingly.
+
+Mon Dec 10 06:59:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (check_asm_operands): Delete from here.
+	* recog.c (check_asm_operands): Move to here; no longer static.
+	(validate_change): Don't assume change is valid is asm_noperands >= 0.
+	If recog_memoized returns < 0, accept change if asm_noperands >= 0
+	and check_asm_operands returns non-zero.
+	(apply_change_group): Likewise.
+	(validate_replace_rtx_1): Swap operands on commutative operation
+	if first is constant.
+	Use plus_constant to simplify a PLUS with CONST_INT as second operand.
+
+	* reload.c (find_equiv_reg): We must have a stable SP if GOAL is
+	a MEM that uses SP.
+
+	* combine.c (try_combine): Don't do anything if I2 or I1
+	has an ASM_OPERANDS and CLOBBERS; we'll need those clobbers
+	and it is too messy to try to get things set up correctly.
+
+Sun Dec	 9 22:07:41 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (collect_expansion): Don't check for /* */ concat here.
+	(macroexpand): Always use raw arg if traditional.
+
+	* c-parse.y (unary): Mark address of label as constant.
+
+Sun Dec	 9 14:45:34 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (propagate_basetype_offsets): Take effect on ASSOC
+	before recursive calling.
+	(finish_struct): Call `layout_decl' with zero for KNOWN_ALIGN
+	when laying out TYPE_DECL.
+	* cplus-tree.c (assoc_value): Change recursion condition to compare
+	ASSOC_VALUE (assoc) against TYPE_MAIN_VARIANT (type) instead of just
+	against type.
+
+Sat Dec	 8 10:40:00 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (attributes): Reorganize and include a block diagram.
+	Make better use of defaults.
+	* m88k.md (peephole), out-m88k.c, tm-m88k.h (short_branch): Add
+	the sparc peepholes for changing bsr/br into bsr.n/addu or
+	bsr.n/subu.  Install the length attribute for this.  Requires the
+	use of `def' to accomodate broken assemblers in the bsr.n/addu
+	case.
+
+Fri Dec	 7 06:12:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (find_end_label): Increment usage count of label we return
+	so we know it won't go away.
+	(dbr_schedule): Decrement count of end label and delete it if dead.
+
+Wed Dec	 5 17:36:23 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md: Add instruction attributes for scheduling and delay
+	slot information.
+	* m88k.md (addsi pattern): Adding large constants does arise.
+	(udivsi pattern): Wrong predicate.
+	* tm-m88k.h, out-m88k.c (NOTICE_UPDATE_CC): Do so using
+	attributes.
+
+	* make-m88k, make-m88kdgux: Say how to create m88k-trace.asm.
+
+Wed Dec	 5 13:52:16 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (expand_binop): Support insn_before == 0.
+
+	* function.c (optimize_bit_field): Fix wrong arg to validate_change.
+
+	* Makefile (includes): Export LIB.
+
+Wed Dec	 5 13:31:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Don't discard CLOBBERs from an insn
+	with ASM_OPERANDS.
+
+Tue Dec	 4 16:12:21 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88k.h, out-m88k.c, m88k.md: More cleanups: introduce
+	POWER_OF_2 for tests (x && (x & (x-1) == 0); rename predicate
+	functions *_p instead of *_operand; cleanup addsi3 insns; simplify
+	udivsi3 insns; simplify memory shift insns; make LOW_SUM and HIGH
+	SImode instead of VOIDmode; add a predicate to the increment and
+	test peephole insn; deal with setting SFmode to zero; delete bogus
+	pattern for divide-by-power-of-2.
+	* make-m88k, make-m88kdgux: dg88k-trace.asm is now m88k-trace.asm.
+	Move movstr-m88k.sh to config/m88k-movstr.sh.
+
+Mon Dec	 3 19:08:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (gnulib2.ready): New target.
+	(stamp-gnulib2): Depend on that.
+	Avoids recompiling gnulib2 each time cc1 changes.
+
+Mon Dec	 3 16:17:56 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88kdgux.h, xm-m88kdgux.h (SEPARATE_AUX_OUTPUT): Should be in
+	xm-m88kdgux.h.
+	* tm-m88k.h, out-m88k.c, m88k.md: Eliminated the fixed literal
+	synthesis register.  Reworked the addressing method to be like the
+	sparc (uses HIGH and LO_SUM).  Numerous cleanups.  These changes
+	are based on work done by Steve Chamberlain (steve@cygnus).
+	* tm-m88k.h, out-m88k.c (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER):
+	Implemented.
+
+Mon Dec	 3 15:19:04 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (special_symbol): Use time_t as type of t.
+
+	* m88k-movstr.sh, m88k-trace.asm, va-m88k.h: New files.
+
+	* gcc.c: Don't define R_OK, etc. if already defined.
+
+	* out-sparc.c (finalize_pic, emit_move_sequence, output_arc_profiler):
+	Finish change to emit HIGH and LO_SUM as Pmode instead of VOIDmode.
+
+Sun Dec	 2 22:13:53 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* config.gcc (tower): New alternative.
+	(mips-news): Adapt for version 2.
+
+	* tm-tower.h, tm-tower-as.h, xm-tower.h: New files.
+
+Sun Dec	 2 17:47:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (eliminate_regs, case ASM_OPERANDS): Fix typo in testing
+	for changed vector.
+
+	* out-rs6000.c (output_epilogue): Fix typo restoring general registers.
+	(print_operand): Add new option %H.
+	* rs6000.md: Add (clobber (reg:SI 64)) to many patterns even though
+	they don't clobber MQ to allow combining to work well.	This will be
+	removed once combine knows how to add clobbers when required.
+	Change patterns to reflect new canonicalization rules.
+	Where we have (and (xshift)), add patterns for (zero_extend (xshift)).
+	(andsi3, xorsi3): Fix bug in case where two insns are needed.
+	(moveti): Don't call change_address when in reload.
+	(sign_extend): Add patterns for sign extend preceeded or followed by
+	one of the shifts it will do.  Use %H to output the merged shift.
+
+	* out-romp.c (print_operand): Allow exact_log2 result to be zero.
+	* romp.md: Likewise.
+	* tm-romp.h (CONST_OK_FOR_LETTER): Likewise.
+
+	* a29k.md (type attribute): Add types for floating-point insns.
+	(in_delay_slot attribute): Update to allow for new types.
+	(function_unit definitions): Add definitions for floating-point units.
+	(andcb*3): Delete obsolete names.
+	(convert insn): Use register_operand instead of gen_reg_operand for
+	floating-point operand.
+	(cpeq, feq, deq, etc): New patterns.
+	(floating-point arithmetic): Add support for 29050 insns and
+	accumulators; indicate function unit usage.
+	(ior/and patterns): Put NOT as second operand.
+	(orn insn): New, for 29050.
+	(load patterns): If using match_operator, make it the highest operand
+	number.
+	(loadm insns): Add workaround for rev A1 bug on 29050.
+	(negsf2, negdf2): Don't use XOR to negate on 29050.
+	(movsf, movdf): Add support for accumulators on 29050.
+	(movsi, movhi, movqi): No need to support special->special copies.
+	Support consthz insn on 29050.
+	(compare, scc, and branch insns): Rework to not use cc0.  Use a pseudo
+	register instead.  Compare doesn't generate any code, but merely
+	saves the operands.  scc and branch then emit the appropriate compare
+	and jump (if branch) insns.
+	(tstsi): Delete pattern; not used when no cc0.
+	(peepholes): Remove peepholes to convert jumps to scc insns; now
+	done in jump.c.
+	* out-a29k.c (a29k_compare_*): New variables.
+	(long_const_operand): Anything with low-order 16 bits zero is not a
+	long constant on the 29050.
+	(accum_reg_operand): New function.
+	(gen_reg_operand): Returns false for accumulator registers.
+	(output_operand): Allow accumulators.
+	(ne_comparison_p, fp_comparison_p, return_peep_operand): Deleted.
+	(fp_comparison_operator, branch_operator): New functions.
+	(output_compare): Deleted.
+	(print_operand): Change meaning of %b and %B.
+	Add new code %J.
+	* tm-a29k.h (TARGET_VERSION): Say if compiling for 29050.
+	(TARGET_FLAGS): Add -29000 to turn off support for 29050; this is
+	still the default.
+	(various register macros): Add support for the floating-point
+	accumulators on the 29050.
+	(CONST_OK_FOR_LETTER): Use 'O' for a constant that can be set using
+	conthz on the 29050; keep old definition for 29000.
+	(STORE_FLAG_VALUE): Now 0x80000000.
+	(ASM_FILE_START): Write ".cputype 29050" when compiling for 29050.
+
+	* combine.c (subst): Put NOT, NEG, MULT, PLUS, and MINUS as the
+	first operand of commutative operations.  Note that NOT used to be
+	put as the second operand but it has always been assumed that 
+	MULT would be the first operand in address expressions, so we have
+	to change the previous canonicalization.  This is possible now that we
+	have eliminated the andcbm3 operations.
+	* i860.md (andnot): Remove obsolete andcbsi3 name and place NOT
+	as first operand.
+	* m68k.md (fpm*): Delete patterns with MULT as second operand and
+	use "@" construct when possible.
+	* m88k.md (and.c, ior.c): Remove obsolete andcbsi3 and iorcbsi3 names.
+	Delete patterns with NOT as second operand.
+	(xor.c): Rewrite in new canonical form.
+	* mips.md (nor): Rewrite in new canonical form.
+	* pyr.md (bicw): Remove pattern with NOT as first operand, removing
+	obsolete name andcbsi3 in the process.
+	* sparc.md: Remove patterns with NOT as first operand.
+	Remove obsolete names andcbsi3, iorcb3, and xorcbsi3.
+	Rewrite xnor into new canonicalized form.
+	Add mode to HIGH and LO_SUM operations.
+	* vax.md (bic*): Remove obsolete andcbm3 names.
+	Put NOT as first operand when both generating and recognizing RTL.
+	(jlbc): Rewrite with NOT as first operand.
+
+Sun Dec	 2 17:08:16 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* m68k.md (recognizer for casesi_2): Handle ASM_RETURN_CASE_JUMP.
+
+	* stddef.h (ptrdiff_t): Prevent definition, as with size_t.
+
+Sat Dec	 1 16:31:30 1990  Ron Guilmette	 (rfg at ncd.com)
+
+	* dwarfout.c (lookup_filename, dwarfout_finalize): changed from
+	maintaining a linked list of filename entries to maintaining an
+	(expandable) array of filename entries instead.	 Also, changed
+	code so that *all* filename strings are output (to the .files
+	section of the asm file) in one swell foop just as the asm file is
+	being finalized rather than writing out new filenames one-by-one
+	as they arise (as previously). This circumvents a problem caused
+	by rfg's naive assumption that assemblers kept a stack of prior
+	section names (of depth > 1) which could be successively popped
+	via multiple `previous' directives.  For some assemblers, the
+	depth of the stack is only 1 and they can get confused if you do
+	two (or more) `previous' directives in a row.  Anyway, it is no
+	longer either necessary or useful to do that, so who cares.
+
+	* dwarfout.c: added code to output newlines to the asm file just
+	prior to each and every change of section (for better readability
+	of the asm files).
+
+	* dwarfout.c: changed code so that if DWARF_DESCRIBE_USED_EXTERNS
+	is defined, it forces DWARF_LOCATION_ATTRIBUTES to also be defined.
+
+	* dwarfout.c: changed code so that if DWARF_LOCATION_ATTRIBUTES
+	is defined, it forces DWARF_DESCRIBE_FILES to be defined (to `1').
+
+	* dwarfout.c: changed code so that if DWARF_DESCRIBE_FILES is not
+	already defined (in the user's tm.h file) it will automatically be
+	defined (by default) to `1'.  Also changed all instances of
+	`#ifdef DWARF_DESCRIBE_FILES' to `#if DWARF_DESCRIBE_FILES'.
+	The user must now intentionally *disable* this feature (by
+	defining DWARF_DESCRIBE_FILES to `0' in his tm.h file) if he
+	wishes to have the additional information about files suppressed.
+
+	* dwarfout.c: changed comments relating to optional defines for
+	extended GNU DWARF features to include more information and to
+	add some additional clarity.
+
+Sat Dec	 1 16:00:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst): Call reverse_condition instead of
+	reverse_comparison.
+	We are allowed to reverse floating-point EQ and NE comparisons.
+
+	* combine.c (subst): Call simplify_and_const_int for all AND
+	and ZERO_EXTEND cases and all cases where we make one of them.
+	Remove all other code in AND and ZERO_EXTEND cases.
+	(simplify_and_const_int): Rewritten to follow a consistent model
+	of tracking what AND's need to be done and which bits are not
+	significant.  Consistently try a ZERO_EXTEND for all cases where
+	the result is an AND with a mode-wide mask.  Move all remaining
+	cases from AND any ZERO_EXTEND cases from subst.
+
+Sat Dec	 1 09:13:17 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-tree.h (lang_type): Remove any_assigns_this,
+	none_assigns_this from type_flags.
+	* cplus-decl2.c (get_temp_name): If the initializer is a
+	pointer to zero, cache it in EMPTY_TABLE.
+	(finish_builtin_type): New function, to factor common code
+	arising from building internal structures.
+	* cplus-decl.c (init_decl_processing): Call it.
+
+Fri Nov 30 10:39:04 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (finish_function): Use CLASSTYPE_ASM_WRITTEN instead
+	of TREE_USED to indicate that we need debugging info for
+	TTYPE.
+	Note that nobody ever sets EXTENDED_DBX_DEBUG.	For now,
+	change to test DBX_DEBUG.  For later, change everything to
+	key off of EXTENDED_DBX_DEBUG.	
+	Also, set `warn_return_type' to one always, since this warning
+	is too valuable to lose.
+	* cplus-tree.c (lang_output_debug_info): Don't test TREE_USED.	That
+	field is already used by other routines, and we have all we need now
+	in CLASSTYPE_ASM_WRITTEN.
+	* cplus-dbxout.c (dbxout_type_method_1): Handle const,
+	volatile, and const/volatile member functions.
+
+Fri Nov 30 04:51:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (reg_last_set_value): New variable.
+	(combine_instructions): Allocate and initialize it.
+	(record_dead_and_set_regs): Set reg_last_value to source
+	of assignment; clear it for a CLOBBER or partial assignment.
+	(subst): Use reg_last_set_value instead of interpreting the
+	insn in reg_last_set as if it was a single SET.
+
+	* combine.c (gen_lowpart_for_combine): Call gen_lowpart for CONST_INT.
+	When making a new MEM, copy MEM_VOLATILE_P and MEM_IN_STRUCT_P.
+	If cannot recognize the argument, just form a SUBREG; usually,
+	it won't be recognized, but sometimes will allow further
+	simplifications.
+
+	* regclass.c (reg_scan): Save size of uid map; reallocate if
+	we have more registers than we allocated.
+	Leave some extra room in map.
+
+	* stmt.c (emit_case_nodes): Supply missing argument to emit_cmp_insn.
+
+	* fold-const.c (decode_field_reference): Add missing arg declaration.
+
+	* expmed.c (store_bit_field): Add missing last argument to
+	recursive call.
+
+	* cse.c (cse_insn): Remove extra arg passed to rtx_equal_p.
+
+	* Makefile.in (proto): Make protoize.1 and unprotoize.1.
+	(protoize.1, unprotoize.1): New targets.
+	(install_man): Install protoize.1 and unprotoize.1./
+	* proto-unproto.1: New file.
+
+	* loop.c (scan_loop): Properly set SET_SRC in movables entry for
+	MOVE_INSN == 1 and CONSEC > 0 case.
+	(force_movables): Don't look at SET_SRC when CONSEC > 0.
+
+	* expr.c (expand_expr, case ARRAY_REF): Ensure TYPE_POINTER_TO
+	gets initialized after we build a variant type.
+
+Fri Nov 30 00:35:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* m68k.md (ashr of 16 to 24 bits): Use extl, not extw.
+
+Thu Nov 29 21:41:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-vax.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
+
+	* gcc.c (add_prefix): Add new element, don't replace old first elt.
+
+	* dwarfout.c (dwarfout_finalize): Go to DEBUG_SECTION first thing.
+
+Thu Nov 29 17:50:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu)
+
+	* stmt.c (expand_end_loop): Stop looking for branch to the loop
+	exit when we hit a NOTE_INSN_BLOCK_{BEG,END}.
+	* jump.c (duplicate_loop_exit_test): Likewise.
+	Also, only copy line-number notes.
+
+	* integrate.c (expand_inline_function): Call expand_expr for the
+	arguments before allocating maps that are based on register numbers.
+
+	* loop.c (loop_reg_used_before_p): Accept new argument, SET, to
+	indicate which part of INSN is setting the relevant register.
+	(scan_loop): Pass new arg to loop_reg_used_before_p.
+
+	* function.c (optimize_bit_field): Don't assume ZERO_EXTRACT can
+	be replaced by MEM; use validate_change to check.
+
+	* reload.c (find_reloads_toplev): Add missing arg to recursive call.
+
+	* calls.c (expand_call): Correct two cases of missing mode to gen_rtx.
+
+Thu Nov 29 02:42:35 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* version.c: Bump version number to 1.90.04.
+
+	* toplev.c (rest_of_compilation): If FLAG_PIC is nonzero, emit any
+	special PIC code once we start really compiling a function (i.e., we
+	are not in an inline function).	 Inline functions cannot
+	meaningfully hold PIC code because there is no notion of position
+	independence in code that isn't really being written down.
+
+	* Makefile.in: Don't build cplus-cadillac.o by default.	 Build
+	cplus-edsel.o instead.	Until Lucid frees their programming
+	environment, their Cadillac will always be an Edsel to GNUsers.
+
+	* stmt.c (fixup_gotos): Change loop to run in two passes so that
+	cleanups don't experience a race condition.
+	(expand_cleanups): Replace Nov 5 word-around with consistency check.
+	The same cleanups should never be run twice.
+
+	* cplus-decl.c (lang_{init,finish}): Move these functions...
+	cplus-lex.c: ...to here.  Also, make change to lang_init analogous
+	to Nov 27 change for C compiler.
+
+	* cplus-decl.c (pushdecl): Don't warn about static/extern conflicts
+	if X is a TYPE_DECL.
+	(build_enumerator): Certain CONST_INT nodes cannot be coopted to be
+	the constant for enumerator.  Mark them as non-shareable and don't
+	coopt them.
+
+	* cplus-decl.c (lang_{init,finish}): Declare these to be void
+	functions to match new tree.h.
+
+Wed Nov 28 18:48:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (eliminate_regs): Convert (subreg (mem)) to (mem) when
+	not a paradoxical SUBREG.
+
+Wed Nov 28 17:15:43 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* emit-rtl.c (gen_label_rtx): Clear LABEL_NAME via gen_rtx.
+
+Tue Nov 27 21:54:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c (assemble_external): Never write a .extern for a static
+	name.
+
+	* recog.c (validate_replace_rtx_1): Handle making a SUBREG of a MEM
+	by trying a new MEM.
+
+Tue Nov 27 11:54:28 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-lang.c, objc-action.c: Include input.h.
+	(lang_init): Call check_newline here.
+	* toplev.c (compile_file): Not here.
+	Call lang_init after setting input_filename.
+
+	* tree.h: Declare numerous functions that the front end must provide.
+
+	* rtl.h (LABEL_REFS): Use operand 5, same as LABEL_NUSES.
+
+	* toplev.c (warn_return_type, W_options): Handle -Wreturn-type here.
+	* c-decl.c: Not here.
+	* flags.h: Declare it here, not in c-tree.h.
+
+	* gcc.c (pexecute): Wait and retry if fork fails.
+
+	* expr.c (do_jump): Pass all args to get_inner_reference.
+	(expand_assignment): Fix typo in arg to get_inner_reference.
+
+	* tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Don't alter if already set.
+
+Mon Nov 26 18:28:51 1990  Michael I Bushnell  (mib at churchy.ai.mit.edu)
+
+	* cccp.c (handle_directive): Do backslash-newlines inside of
+	strings.
+
+Mon Nov 26 15:39:29 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (main): Handle -w.
+	(warning): Do nothing if -w.
+	* gcc.c (compilers): Pass -w to cpp.
+
+	* c-decl.c (grokdeclarator): Don't discard arg types
+	for prototype even if traditional.
+
+Sun Nov 25 20:52:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* protoize.c: Undef CHAR_BIT, etc, before including limits.h.
+
+	* reload1.c (old_asm_operands_vec, new_asm_operands_vec): 
+	Type should point to a vector.
+	(Eliminate_regs): For asm_operands, copy the vector properly.
+
+Sun Nov 25 20:35:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu)
+
+	* jump.c (jump_optimize): Fix typo in stack push combining code.
+
+	* reload1.c (eliminate_regs): Ensure we share operands 3 and 4
+	of ASM_OPERANDS operations if they were originally shared.
+	Copy all rtx flags when making a new MEM.
+	(eliminate_regs_in_insn): Initialize for ASM_OPERANDS sharing check.
+
+Sun Nov 25 16:37:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (stamp-gnulib2): Don't depend on gnulib2-indirect.
+
+	* gcc.c (do_spec_1): Handle %W{...}.
+	(default_compilers): Use %W{...} when passing -o option.
+
+Sat Nov 24 16:39:56 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cplus-lex.c (init_lex, do_pending_inlines, reinit_lang_specific):
+	Add conditionals for __GNU_LIBRARY__.
+
+Thu Nov 22 13:48:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (optimize_bit_field_compare): Pass additional
+	arg to get_inner_reference; it gets set if something was volatile.
+	(decode_field_reference): New arg PVOLATILEP; passed to
+	get_inner_reference.
+	(merge_component_references): Add pointer to place to store if
+	something is volatile to calls to decode_field_reference; don't
+	do anything if it gets set (this may be very conservative).
+
+	* stmt.c (expand_end_loop): Skip initial CODE_LABEL at start of
+	loop when looking for qualified conditional exit.
+
+	* reload.c (push_reload): If (subreg:M1 (reg:M2 ....)) and we
+	have trouble access the register in M1, reload the reg, not subreg.
+	Fix typo in testing for memory.
+	(reload): Force reload of the operand in the above cases.
+
+Wed Nov 21 17:39:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (strength_reduce, combine_givs): Don't penalize
+	non-replaceable givs unless they are user variables; temporaries
+	are probably dead even though we can't prove it.
+
+	* integrate.c (save_constants): Don't get confused by looking
+	inside CONST_DOUBLE_MEM.
+	Call recursively on what get_pool_constant returned, in case it
+	was itself the address of a pool constant.
+	(copy_for_inline, copy_rtx_and_substitute, restore_constants):
+	Remake CONST_DOUBLE so it gets chained in correctly and we don't use
+	obsolete CONST_DOUBLE_MEM values.  Call recusively on operand we are
+	about to pass to force_const_mem; it might have been a case of a
+	constant value being an address of another constant.
+
+	* loop.c (find_mem_givs): Don't make a DEST_ADDR giv with mult_val == 1
+	and add_val == 0.
+	(maybe_eliminate_biv_1): Turn off elimination in (compare biv1 biv2)
+	cases; they have problems.
+
+Wed Nov 21 16:06:14 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* dwarfout.c (location_attribute): Offset for bitfields is special.
+
+	* expr.c (get_inner_reference): New arg pvolatilep.
+	(expand_expr, expand_assignment): Use to set MEM_VOLATILE_P.
+
+Wed Nov 21 10:34:25 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* stor-layout.c (layout_decl): Record whether a FIELD_DECL is a
+	bit-field and if so its original type.
+	* tree.h (DECL_BIT_FIELD_TYPE): New.
+	* dbxout.c (dbxout_type): Use DECL_BIT_FIELD_TYPE.
+	* dwarfout.c (output_member_die, bit_offset_attribute,
+	bit_size_attribute, member_declared_type): Use DECL_BIT_FIELD_TYPE.
+	* sdbout.c (sdbout_one_type): Use DECL_BIT_FIELD_TYPE.
+
+	* sdbout.c (DEBUGGER_ARG_OFFSET, DEBUGGER_AUTO_OFFSET): New
+	interfaces to compute the location of arguments and automatic
+	variables.
+	* dbxout.c (DEBUGGER_ARG_OFFSET, DEBUGGER_AUTO_OFFSET): Likewise.
+
+	* dbxout.c (dbxout_parms): Describe a parameter passed in
+	registers but living on the stack as N_PSYM rather than N_LSYM.
+	These are typically arg_pointer based locations.
+
+	* out-m88k.c (m88k_debugger_offset): New function.
+	* tm-m88k.h (DEBUGGER_ARG_OFFSET, DEBUGGER_AUTO_OFFSET): Replaces
+	SDB_AUTO_NORMALIZE_OFFSET.
+	* tm-m88k.h (STACK_BOUNDARY): Update to 16 byte aligned stacks.
+
+Tue Nov 20 23:48:57 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* dwarfout.c (dwarfout_init): Set stack depth to 1 at start.
+	(output_padded_null_die): New function.
+	(dwarfout_finalize): Use that to ensure length divisible by 4.
+
+	* ns32k.md (addsi3): Don't use `addr' for very large displacements.
+
+Tue Nov 20 05:48:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (can_reverse_comparison_p): It is safe to reverse an EQ
+	or NE comparison, even if IEEE floating-point.
+
+	* integrate.h (struct inline_remap): const_*_map now maps registers
+	in calling function, not called function.
+	Add fields to save values recorded from SETs.
+	* integrate.c: Now includes insn-config.h and real.h.
+	(expand_inline_function): New meaning for const_*_map.
+	Don't fill in constant equivalences here; now done in try_constants.
+	Show CALL_INSNs potentialy clobber all hard registers since we
+	now record equivalences for hard registers.
+	(try_constants): No longer need original RTL; all callers changed.
+	Call note_stores to kill any known equivalences for registers changed.
+	Record equivalences for PC, CC0, and registers set by this insn.
+	(subst_constants): No longer need original RTL; all callers changed.
+	Reflect new meaning of const_*_map.
+	Perform more extensive constant folding, basically a subset of
+	fold_rtx in cse.c; specifically, fold the result of comparison
+	operations and IF_THEN_ELSE operations.
+	Record the constant equivalences of SETs, if any.
+	(try_fold_condition, const_equiv, fold_out_const_cc0): Deleted.
+	* Makefile.in (integrate.o): Now includes insn-config.h and real.h.
+
+Sat Nov 17 07:48:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (local_alloc): Don't allocate a reg that wants a
+	class that has only one register; let global-alloc do it so that it
+	can be given a GENERAL_REG if reload needs a spill reg of that class.
+
+	* regclass.c (regclass, reg_class_record): Count savings in loops as
+	being greater the same way we adjust reg_n_refs for loops in flow.c.
+
+	* expmed.c (store_bit_field, extract_bit_field): Remove change of
+	Oct 16; it causes problems with long long bit fields.
+
+	* rtlanal.c (reg_overlap_mentioned_p): If called with a constant,
+	return zero.  If called with a MEM, return 1 iff the second arg
+	contains a MEM. 
+	* reload.c (push_reload): Call reg_overlap_mentioned_p only if OUT
+	is a MEM and then pass it the address of OUT.
+
+	* cse.c (cse_insn): Refine when SRC_EQV, SRC, and DEST are added
+	to the hash table.  SRC_EQV is not added to the hash table if it
+	is volatile or equal to DEST and similarly for SRC.  DEST is not
+	added to the hash table unless either SRC_EQV or SRC is.
+
+Thu Nov 15 23:43:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (convert_for_assignment): Change warning message.
+
+Thu Nov 15 18:44:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (expand_end_loop): Generalize code to look for more
+	than one branch to the exit and include unconditional branches
+	to the exit; move the whole range to the end of the loop.
+	* jump.c (duplicate_loop_exit_test): New function.
+	(jump_optimize): Call it.
+	Don't allocate jump_chain until we have finished deleting dead code.
+	Leave some more room in jump_chain.
+	(simplejump_p): Reject if not JUMP_INSN.
+	(delete_insn): If simplejump_p, remove from jump chain.
+	* loop.c (loop_skip_over): Deleted.
+	(scan_loop): No longer call it.
+	* cse.c (predecide_loop_entry): Deleted.
+	(cse_basic_block): No longer call it.
+
+Thu Nov 15 18:00:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* math-68881.h (HUGE_VAL): Add extra braces for Sun.
+
+	* stor-layout.c (layout_type): Don't let array have less
+	alignment than its mode calls for.
+
+Thu Nov 15 13:05:30 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_parms, sdbout_reg_parms): Reimplemented based
+	on dbxout_parms and dbxout_reg_parms.
+
+Wed Nov 14 08:48:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (emit_...): All of these now return the last insn
+	emitted; previously some of them returned void.
+	(emit_barrier_before): New function, similar to others.
+	* rtl.h: All emit_... functions now return an rtx; reorder so
+	declarations are in the same order as definitions in emit-rtl.c.
+
+	* reorg.c (steal_delay_list_from_{target,fallthrough}): Add missing
+	test when checking candidate insn for resource conflicts.
+
+Wed Nov 14 07:08:19 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* c-parse.y (pushlevel, compstmt): Place a line note at the first
+	token beginning a block and at the close brace ending a block.
+	These are the conventional locations for SDB and DWARF debugging
+	information.
+
+Tue Nov 13 18:16:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* function.c (assign_stack_local): If alignment not specified
+	and not BLKmode, use at least word alignment.
+	(assign_outer_stack_local): Likewise.
+
+	* sparc.md: Turn off patterns that specify no_ov or CC_NO_OVERFLOW.
+
+	* dwarfout.c (file_attribute): Fix arg to ASM_OUTPUT_DWARF_ATTRIBUTE.
+	(AT_line, AT_file): New definitions.
+
+	* out-i860.c (output_block_move): Move .Lm%3 down one insn.
+
+	* c-decl.c (grokdeclarator): -funsigned-bit-field doesn't affect enums.
+
+Tue Nov 13 09:28:27 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* gcc.c (default_compilers): Report an error if -C is used without
+	-E.  Pass -H to cpp.
+
+	* sdbout.c (plain_type, plain_type1): save and output the
+	rightmost array dimensions.
+
+	* syms.h (enum sdb_type): Add T_VOID, equal in value to T_ARG.
+	* sdbout.c (plain_type_1): Use T_VOID for VOID_TYPE and define it
+	to be T_INT if not present in <syms.h>.
+
+	* sdbout.c (sdbout_toplevel_data): Use abort rather than fatal.
+
+Mon Nov 12 08:49:33 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* expr.c (compare): Fix use of GET_MODE_CLASS so we don't abort if
+	MODE is VOIDmode.
+	* optabs.c (init_optab): Call `xmalloc' instead of `malloc'.
+
+	* out-sparc.c (hard_regno_mode_ok): Change initialization of array
+	to match behavior of Nov 11 change for complex modes.
+
+	* jump.c (delete_labelref_insn): Chase all LOG_LINKS of insn to try
+	to delete references to LABEL.	This is needed for machines like
+	SPARC which use multiple insns to get the value of LABEL into a
+	register.
+
+Mon Nov 12 16:07:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* machmode.def (SCmode, ...): Class is MODE_COMPLEX_FLOAT.
+
+Sun Nov 11 00:27:34 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-i860.h (HARD_REGNO_MODE_OK): Handle values more than 2 regs long.
+	* tm-m68k.h (HARD_REGNO_MODE_OK): Likewise, for d7/a0 boundary.
+	* tm-spur.h (HARD_REGNO_MODE_OK): Likewise, for 31/32 boundary.
+	* tm-*.h (HARD_REGNO_NREGS): Use GET_MODE_NUNITS to handle
+	complex values in fp registers on machines where one reg holds a DF.
+
+	* sdbout.c (sdbout_one_type): Do nothing for incomplete type.
+
+	* c-decl.c (duplicate_decls): Warning only when redefining built-in fn.
+
+	* c-decl.c (init_decl_processing): Use sizetype, not unsigned long,
+	in prototypes for memcpy and memcmp.
+
+	* c-parse.y (component_decl): Don't read the semicolon here.
+
+	* toplev.c (compile_file): Reverse top-level decls before output.
+
+Sat Nov 10 22:27:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* stor-layout.c (layout_type): Use MODE_COMPLEX_{INT,FLOAT}.
+
+Sat Nov 10 20:34:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c: Provide a default definition of REGISTER_MOVE_COST.
+
+Sat Nov 10 01:43:09 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-init.c (emit_base_init): Don't use CLASSTYPE_ASSOC as a list
+	of only immediate basetypes anymore.  Use `get_base_distance' to
+	check whether a type is an immediate basetype or not.
+
+	* stmt.c (expand_return): Don't emit a USE if VAL is a
+	pseudo-register.
+
+	* integrate.c (function_cannot_inline_p): Call to strcmp for
+	"__builtin_va_alist" must use IDENTIFIER_POINTER not
+	DECL_NAME.
+
+	* genattrtab.c (check_attr_test): Use XSTR macro instead of
+	XEXP macro in places where strings are used.
+
+	* tree.c (type_hash_lookup): Have to check TYPE_DOMAIN for non-zero
+	before comparing the equality of the possible lists.
+
+	* cplus-typeck.c (build_c_cast): Check TREE_TYPE before checking
+	that the TREE_TYPE is an OFFSET_TYPE.
+
+	* cplus-typeck.c (c_expand_return): Use DECL_RESULT of
+	current_function_decl instead of `result' since `result' might be
+	set to zero.
+
+	* cplus-decl.c (xref_tag): Fixed typo in setting
+	TYPE_USES_COMPLEX_INHERITANCE.
+
+	* cplus-tree.c (assoc_value): Changed interface to take COPYING
+	parameter.
+	* cplus-{class,init,search,tree}.c  All callers changed.
+
+	* cplus-typeck.c (build_c_cast): Resolve OFFSET_REFs if the type we
+	are converting to is not an OFFSET_TYPE.
+
+Thu Nov	 8 15:26:27 1990  Craig Burley	(burley at pogo.ai.mit.edu)
+
+	* tm-*.h: Try to change HARD_REGNO_NREGS, HARD_REGNO_OK, and other
+	macro defs to handle new complex type stuff.  Mostly guesswork; needs
+	checking by people who really know each machine.
+	* machmode.def (SCmode, DCmode, XCmode, TCmode): New complex modes.
+	* machmode.h (GET_MODE_ALIGNMENT): New macro from stor-layout.c.
+	* tree.c (build_complex_type): New function.
+	* stor-layout.c (layout_type): Handle COMPLEX_TYPE.
+	* expr.c (compare1, compare, move_block_to_reg, emit_push_insn):
+	Change uses of GET_MODE_CLASS.
+	* optabs.c (expand_binop, expand_twoval_binop, expand_unop):
+	(emit_cmp_insn): Likewise.
+
+Thu Nov	 8 06:19:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (no_conflict_p): Initialize *WHERE_DEAD; previously
+	uninitialized.
+
+Thu Nov	 8 01:08:45 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (yylex): Size of wide STRING_CST counted terminator wrong.
+
+Wed Nov	 7 14:55:38 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gnulib2.c (L_trampoline): Put it inside a dummy function.
+
+	* enquire.c: Renamed from hard-params.c; new vers from steven@cwi.nl.
+	Modified to undef CHAR_BIT, etc. if defined in stdio.h.
+	* Makefile.in (enquire): Targets renamed.
+	(enquire.o): Define NO_MEM.
+
+Wed Nov	 7 14:18:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (invert_jump): If it is going to fail (i.e., redirect_jump
+	fails), don't invert the jump.
+
+	* expr.c (expand_expr, case COND_EXPR): Don't accept a hard register
+	as a target if we are going to store into it before testing the
+	condition because that evaluation may involve a subroutine call
+	which might clobber it.
+
+	* jump.c (delete_jump): reg_set_p should be called with PATTERN (insn).
+	(thread_jumps): Add omitted last argument to rtx_equal_for_thread_p.
+
+	* reload.c (find_reloads): Only skip insns which set one hard register
+	to another if the cost of doing so is low;  if not, there may not be
+	a single insn to do the copy and we may need a reload register.
+
+Wed Nov	 7 00:01:18 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (component_decl_list): Allow missing semi at end.
+
+	* loop.c (move_movables): When moving and deleting library call,
+	don't be confused if an insn is deleted.
+
+Tue Nov	 6 20:49:57 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-m68k.h (TRANSFER_TO_TRAMPOLINE): Fix asm syntax.
+ 
+	* xm-iris.h (alloca): Delete redundant definition.
+	* tm-iris.h (CPP_SPEC): Define variant symbols starting with _.
+	Define __EXTENSIONS__.
+
+	* config.gcc (editing .gdbinit): Search current dir, not just srcdir.
+
+Tue Nov	 6 22:24:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Generate efficient code for
+	A ? A : FOO and similar.
+
+	* combine.c (subst): If we have, e.g., (lt CONST FOO), convert it
+	to (gt FOO CONST).
+
+	* recog.c (comparison_operand): Use comparison_code_p.
+
+	* genconfig.c (walk_insn_part):	 Add operand to indicate if PART is
+	going to be used to recognize an insn (as opposed to emitting rtl).
+	If not, ignore CC0.
+	(gen_insn, gen_expand, gen_split, gen_peephole): Add new operand to
+	walk_insn_part calls.
+
+	* cse.c (find_comparison_args): Correctly compute rtx_code of
+	comparison; if we find another comparison code inside, use it.
+	* loop.c (get_condition): Likewise.
+
+	* expr.c (expand_builtin): For ffs, don't pass VOIDmode to expand_unop.
+
+Mon Nov	 5 12:55:00 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* final.c (output_addr_const): Don't print parens for CONST.
+
+	* reload1.c (choose_reload_regs): Handle case where find_equiv_reg
+	returns a SUBREG.  Also, use variable `regno' uniformly throughout
+	code that finds equivalent register.
+
+	* gnulib2.c (__floatdisf, __fixunssfsi): New functions.
+	(__fixsfdi, __fixunssfdi): New functions.
+	* gnulib.c (__floatsisf, __fixsfsi): New functions.
+
+Mon Nov	 5 06:37:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold, case EQ_EXPR and NE_EXPR): Convert, e.g.,
+	(A & 2) == 2 to (A & 2) != 0.  This eliminates the need for these
+	patterns in MD files.
+	Detect more general cases of comparing something with itself.
+
+Mon Nov	 5 00:09:55 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* stmt.c (expand_cleanups): Don't run any cleanup twice.
+
+Sun Nov	 4 23:49:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_move): Use emit_no_conflict_block when converting
+	SImode to DImode.
+	If have slt insn, emit a compare insn; we must not have a use of
+	cc0 without a set; normally, the compare will be deleted as
+	redundant in final.c.
+	Use shift rather than clear/test/negate for high-order word when
+	doing sign extension.
+
+	* optabs.c (emit_no_conflict_block): Don't put REG_NO_CONFLICT
+	notes on the trailing copy insn; nobody looks there.
+
+	* combine.c (try_combine): Don't combine a reg-reg copy if the
+	destination is used in a REG_NO_CONFLICT note.
+
+	* reload.c (find_equiv_reg): Use true_regnum to support SUBREGs
+	as well as REGs.
+
+Sun Nov	 4 12:55:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* i386.md (extend*): Take out last change.
+	Unix assembler rejects movsx...
+
+	* expr.c (expand_expr): Special case for ignored volatile
+	failed to return.
+
+Sat Nov	 3 14:42:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (do_jump, case PLUS_EXPR): Turn off this case; it was a
+	pessimization.
+
+Fri Nov	 2 01:51:31 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* stmt.c (expand_return): Don't emit a USE if VAL is a
+	pseudo-register.
+
+Fri Nov	 2 15:30:48 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gnulib2.c (__builtin_saveregs): Add version for i860.
+
+	* out-i860.c (output_block_move): Rearrange the copy loop.
+	Now uses two labels and a more complicated lead-in.
+
+Fri Nov	 2 14:17:24 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (extendsidi2):  New define_expand.
+
+	* out-m88k.c:  Converted various constructs to use conventinal
+	formatting.
+
+	* m88k.md (ext pattern): Must have parens.
+	* m88k.md (mul/div patterns): Added better documentation.  Removed
+	unfounded restriction on immediate values.
+	* m88k.md (increment and test peephole): Don't use %L.
+
+	* out-m88k.c (m88k_layout_frame): Must allocate space for the
+	addressing base register (-mpic).
+	* out-m88k.c (output_tdesc): Use version 2 tdesc with PIC.
+
+	* tm-m88k.h, tm-m88kdgux.h,: Don't predefine memcpy and others.
+	* tm-m88k.h: Fixes for dwarf.
+	* tm-m88ksvr4.h: Dwarf changes.
+	* xm-m88k.h xm-m88kdgux.h xm-v88r32.h: Update comments.
+
+Fri Nov	 2 12:30:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (comparison_dominates_p): Return 1 if codes are the same.
+	(thread_jumps): Use get_label_after.
+
+	* a29k.md (movdi): Handle CONST_INT as well as CONST_DOUBLE.
+	(comparisons): Fix typo in define_split for floating-point NE.
+
+	* reorg.c (fill_slots_from_thread): Don't mark as annulled if no
+	delay list.
+
+	* loop.c: Allow use of any register to store comparison results.
+	(loop_skip_over): Don't treat comparison specially; copy all insns
+	preceeding the jump.
+	(check_for_endtest, other_reg_use_p): Deleted.
+	(can_eliminate_biv_p, eliminate_biv): Deleted; code merged and
+	placed into new maybe_eliminate_p_1.
+	(may_eliminate_biv, may_eliminate_biv_1): New functions; recursively
+	look at all rtx to see if every occurrence of a biv can be
+	eliminated.
+	(check_eliminate_biv): Deleted; callers changed to call
+	may_eliminate_biv.
+	(get_condition): Rework to look into previous insns to find insns
+	that set the first operand of comparison insns.
+
+Thu Nov	 1 22:07:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (fold_rtx, case COMPARE): Only convert compare to test if
+	HAVE_cc0 is defined.
+	* combine.c (subst): Copy COMPARE case from fold_rtx.  
+	Simplify things like (ne (eq FOO BAR) (const_int 0)).
+
+Thu Nov	 1 18:06:56 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* math-68881.h (HUGE_VAL): Alternate definition for Suns.
+
+	* config.gcc (sun3, etc.): Assume os4 as default for Sun 3 and Sun 4.
+
+	* tm-i386v.h (STARTFILE_SPEC, LIB_SPEC): Handle -posix.
+	(CPP_SPEC): New macro.
+	(LIB_SPEC): Handle -shlib.
+
+	* c-decl.c (init_decl_processing): Make last arg to memcpy and memcmp
+	an unsigned long, to be like size_t.
+
+	* Makefile.in (hard-params): Depend on gnulib2, not gnulib.
+
+Wed Oct 31 22:12:33 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* config.gcc (ultrix):	New alternative.
+
+	* i386.md (extend*): Change opcode to movsx.  Was movs.
+
+Wed Oct 31 09:41:27 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md: Deleted an old pattern for subtracting 0.
+	* m88k.md: Deleted patterns for aligned bit-field insns.
+	* m88k.md: Changed define_expand to define_insn for mulsi3 and
+	umulsi3.
+	* m88k.md: Converted various constructs to use conventional
+	formatting.
+	* m88k.md (mak patterns):  Fixed transcription errors.
+
+Wed Oct 31 00:05:54 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Predefine the ordinary names
+	of alloca, abs, memcpy, etc.
+
+	* c-decl.c (duplicate_decls): Allow redefining built-in as static,
+	but optionally warn.
+
+Tue Oct 30 14:39:17 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (finish_function): Use DEFAULT_MAIN_RETURN in `main'.
+	* tm-vms.h (DEFAULT_MAIN_RETURN): Define this.
+
+	* c-parse.y (yylex): Base is not 8 for just `0'.
+
+	* cccp.c (do_define): Invert test of compare_defs.
+
+	* cccp.c (make_definition): Convert newline to newline-newline.
+
+	* Makefile.in (hard-params): Depend on gnulib.
+
+	* m88k.md (divsi3): Delete declarations of gen_... functions.
+
+Tue Oct 30 14:26:20 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c: Rework handling of comparisons to generalize better to
+	machines that use registers to hold condition code information.
+	(prev_insn_cc0*): Just store last rtx assigned to cc0 in prev_insn_cc0.
+	(find_comparison_args): New function.
+	(fold_rtx): Folded value of cc0 is the value previously stored into it.
+	Rework handling of comparisons:	 use find_comparison_args to see what
+	is being compared.  If they are constants, compute the result of the
+	comparison.  If not, see if the two operands are equivalent (only for
+	non FP or non-IEEE FP).	 Then see if we have already seen a comparison
+	involving these operands that lets us give a value to this comparison.
+	True comparisons return STORE_FLAG_VALUE, not 1.
+	(fold_cc0): Deleted.
+	(predecide_loop_entry): Call cse_insn on a copy of each insn at the
+	loop test to propagate the values of items at the start of the loop.
+	Then use fold_rtx to see if we know the result of the jump.
+	(record_jump_equiv): Use new function find_comparison_args.
+	(cse_insn): Just record value of CC0 if set; don't call fold_cc0.
+	Don't modify PREV_INSN (insn) if INSN is a copy.
+	(cse_main): Initialize const_true_rtx to rtx for STORE_FLAG_VALUE.
+
+	* jump.c (comparison_code_p, comparison_dominates_p): New functions.
+	(thread_jumps): Use comparison_dominates_p.
+	Remove debugging code.
+	* reorg.c (condition_dominates_p): Use new function
+	comparison_dominates_p.
+
+	* emit-rtl.c (next_cc0_user): Don't get confused by being call with a
+	copy of an insn; use INSN_UID to check for an insn in a delay slot.
+
+	* rtl.c (reg_note_name): Add name for new REG_LABEL note.
+
+	* emit-rtl.c (make_insn_raw): No longer have JUMP_LABEL for INSN.
+
+Tue Oct 30 09:26:15 1990  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* Update what strings in files edited so far.
+	* tm-m88k.h, tm-m88kdgux.h, tm-m88ksv4r.h: Introduce VERSION_STRING
+	and VERSION_INFO to more appropriately identify the compiler.
+
+	* tm-m88k.h (ASM_OUTPUT_OPCODE): Stop processing the opcode if `%'
+	is encountered.
+	* out-m88k.c (print_operand): Add a tab to %L output.  Delete
+	unused cases.
+
+	* m88k.md:  Rework the movstrsi pattern and provide call_block_move
+	and call_block_move_loop to support expand_block_move.
+	* out-m88k.c:  Rework the block move functions.
+	* make-m88k, make-m88kdgux:  Eliminate movstr.h.
+
+	* m88k.md, out-m88k.c: Eliminate assembler comments.
+
+	* m88k.md (ashlsi3 ashrsi3 lshlsi3 lshrsi3): Eliminate warnings
+	about out of range shifts.
+
+	* tm-m88k.h, out-m88k.c: Rename CONDITION_CODE_REGNUM CC0_REGNUM.
+
+Mon Oct 29 18:06:54 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* final.c (final_end_function): Handle dwarf output.
+	(final_scan_insn): Likewise.
+	(output_source_line): Likewise, using ASM_OUTPUT_DWARF_LINE.
+	* toplev.c (rest_of_decl_compilation): Likewise.
+	(rest_of_compilation, main): Likewise.
+	* varasm.c (assemble_variable): Likewise.
+	* flags.h (enum debugger): Define DWARF_DEBUG.
+
+	* cccp.c (do_define): Rewrite criterion for warning.
+	Don't warn if -D redefining symbol with constant numeric value.
+
+	* toplev.c (output_file_directive): New function.
+	* sdbout.c (sdbout_filename): Deleted.
+	* tm-3b1.h, tm-att386.h, tm-encore.h, tm-m88k.h,
+	tm-mot3300.h, tm-tahoe.h, tm-vaxv.h (ASM_FILE_START): Use that.
+
+	* c-decl.c (named_labels): No longer static.
+	(pushlevel): Clear named_labels.
+	(poplevel): Don't clear it here.
+
+Mon Oct 29 13:32:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* Makefile.in: Update dependencies for various files, mostly cplus-*
+	files.
+
+	* rtl.def: Remove Sep 26 that added JUMP_LABELs to INSN and
+	CALL_INSN.
+	* rtl.h: Add REG_LABEL register note.  For INSN and CALL_INSN, the
+	presence of this register note has the same meaning that a non-NULL
+	JUMP_LABEL would have with the Sep 26 change.
+	* jump.c (jump_optimize): Revert to clearing JUMP_LABEL field of
+	JUMP_INSNs only.
+	(mark_jump_label): If INSN is an INSN or a CALL_INSN, add a
+	REG_LABEL note if a LABEL appears (and no such note already exists).
+	??? Once recorded, this information appears never to be used.
+
+	* jump.c (delete_jump): The deletion of INSN must take place when
+	INSN is a simple jump.	Also, don't try to optimize if we come
+	across an insn with the reorg-generated pattern (USE (INSN ...)).
+
+	* cplus-lex.c, cplus-dbxout.c: Remove vestigial support for dumping
+	and undumping the compiler.
+
+	* Merge cplus diffs from Kenner.
+	* cplus-cvt.c (convert_to_integer): Fold the COND_EXPR we construct.
+	* cplus-typeck.c (build_conditional_expr): Ditto in three places.
+	* cplus-lex.c (yylex,do_pending_inlines): Add conditionals for
+	_IBMR2.	 This hair will disappear when pcccp support is merged, but
+	needed for now.
+	* cplus-tree.h: Conditionalize use of non-int bitfield types on
+	ONLY_INT_FIELDS.  Also, remove duplication declarations of
+	get_temp_name, get_temp_aggr, and get_temp_regvar; add declaration
+	of build_decl_list.
+
+Mon Oct 29 11:45:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* fixincludes: Fix missing semi in rusers.h.
+
+Mon Oct 29 07:07:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (mark_used_regs): When converting "...*p...; q = p + size"
+	to "q = p, ...*q..., q = q + size", show that Q is needed after INSN.
+
+	* romp.md (negdi): Directly generate assembly code rather than
+	converting this into a MINUS.
+
+	* fold-const.c (fold, case COND_EXPR): Add missing condition in test
+	for (A ? 0 : A).
+
+Sun Oct 28 15:01:19 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* flow.c (find_basic_blocks): An indirect jump can go
+	to any label whose address is used as data.
+
+	* m68k.md (zero-extend QI): Use gen_rtx, not change_address.
+
+	* Makefile.in (USER_H): List va-*.h explicitly.
+	(toplev.o): Depend on RTL_H.
+	(stamp-*): Depend on move-if-change.
+	(install-headers): Depend on various header files.
+	(install-man): Depend on gcc.1.
+	(gcc.o): Depend on gvarargs.h and obstack.h.
+
+	* Makefile.in: Make sure every `if' has an `else'.
+
+	* c-typeck.c (build_binary_op_nodefault): Prevent warning for
+	variable shift count.
+
+	* i860.md (movsf): Handle moving from CONST_DOUBLE to reg or mem.
+
+Sun Oct 28 09:39:14 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* jump.c (delete_jump): The deletion of INSN must take place when
+	INSN is a simple jump.	Also, don't try to optimize if we come
+	across an insn with the reorg-generated pattern (USE (INSN ...)).
+
+	* sparc.md, tm-sparc.h, out-sparc.c: Significantly rewritten to take
+	advantage of new 2.0 optimization capabilities.
+	* old-sparc.md, tm-old-sparc.h, out-old-sparc.c: These are copies of
+	the above files before the rewrite.  They may be interesting for
+	measuring performance of old vs. new machine description idioms.
+
+Sun Oct 28 00:22:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (scan_loop): Don't think that a branch to an end-test of
+	a containing look is actually the branch to the end-test of the
+	outer loop.
+
+	* reload.c (indirect_ok): Deleted.
+	(find_reloads): Accept new arg IND_LEVELS instead of old IND_OK;
+	pass this to find_reloads_address and find_reloads_toplev.
+	(find_reloads_toplev): Accept IND_LEVELS and pass to
+	find_reloads_address.
+	(find_reloads_address): Accept IND_LEVELS and pass it on to 
+	find_reloads_address_1.
+	When calling ourself recursively for a MEM as an address, show
+	one indirect level has been used.
+	(find_reloads_address_1): Accept IND_LEVELS and pass it to ourselves
+	in recursive calls and to find_reloads_address.
+	* reload1.c (spill_indirect_levels): New var; used to be
+	spill_indirect_ok.
+	(reload): Compute number of levels of indirection and set it into
+	spill_indirect_levels.
+	(reload, reload_as_needed): Pass spill_indirect_levels not
+	spill_indirect_ok.
+
+	* reload.c (find_reloads): Make similar change to "V" as "O".
+
+	* reload1.c (eliminate_regs): For binary operations, don't call
+	recursively on second arg if null (for EXPR_LIST).
+	(eliminate_regs_in_insn): Perform register elmination in the
+	REG_NOTES of an insn when we are doing it for the last time.
+
+	* vax.md (call_value_pop): Use correct operand number for number
+	of bytes popped.
+
+	* tm-romp.h (EXTRA_CONSTRAINT): Ensure we ignore reg_renumber if
+	register allocation hasn't been done yet.
+
+	* function.c (init_function_start): Initialize reg_renumber to zero;
+	it is checked in rtx_renumbered_equal_p.
+
+	* loop.c (loop_optimize): Ensure we assign a new LUID to all
+	special notes, including NOTE_INSN_FUNCTION_BEG (0).
+
+Sat Oct 27 12:22:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-a29k.c (print_operand, output_prolog): Don't try to fill delay
+	slots with parts of epilogue or prologue unless -O -fdelayed-branch.
+
+	* tm-rs6000.h (STRUCTURE_SIZE_BOUNDARY): Should be 8.
+
+	* reorg.c (mark_target_live_regs): Ignore REG_DEAD notes for pseudos;
+	they must not have gotten hard registers.
+
+Fri Oct 26 11:30:28 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c (main): Set machine_suffix before reading specs file.
+
+	* c-typeck.c (build_binary_op_nodefault): Warn for bad shift counts.
+
+	* stor-layout.c (layout_record):
+	BITFIELD_NBYTES_LIMITED affects bitfields only.
+
+	* loop.c (note_addr_stored): Don't assume PLUS in address is aggregate.
+
+Fri Oct 26 00:46:09 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-tree.h: Declare `build_type_conversion' once instead of
+	three times.
+
+	* loop.c (loop_skip_over): Handle machines without cc0.
+	(labels_in_range_p): Fixed typo where this function returned 0 when
+	it meant to return 1.
+	(check_for_endtest): New function.  Returns non-zero when
+	argument is a simple conditional test insn (suitable for being the
+	endtest of a loop).
+	(strength_reduce): Use `check_for_endtest' to identify the endtest.
+	Also fixed some typos in comments.
+	(can_eliminate_biv): Use `check_for_endtest' here, too.
+	(get_condition): Generalized to handle machines without cc0.  Now
+	THIS_CC_RTX is the value of the cc rtx.
+
+	* integrate.c (expand_inline_function): Conditionalize away
+	cc0-specific code with HAVE_cc0.
+	(try_constants): Add appropriate declaration for ORIG.
+	(try_fold_condition): Generalized to work for non-cc0 condition
+	values.
+
+	* cplus-type2.c (digest_init): Add missing declaration of FIELD.
+	* rtl.h: Add missing declaration of plus_constant_for_output.
+	* jump.c (can_reverse_comparison): Fixed typo.
+	(delete_jump): Made to work without cc0_rtx.
+
+Fri Oct 26 00:01:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c: Conditionalize references to CC0_RTX on HAVE_cc0.
+
+	* reload.c (find_reloads): For the `o' constraint, if IND_OK is
+	true, use offsettable_memref_p instead of the nonstrict version.
+
+	* jump.c (delete_jump): If HAVE_cc0 is not defined, it is not safe to
+	delete previous insn that sets a condition code register, because it
+	might not be dead.  Rework to look at all registers dying in this insn
+	and delete the first previous insn that sets any such register if that
+	is all it does.
+
+	* jump.c (jump_optimize): Remove extraneous call to next_active_insn
+	in optimization of "if (...) x = 1; else ...; if (x) ...".
+
+	* cse.c (predecide_loop_entry): Don't set cc_value to null and then
+	stick it in the rtl.
+
+	* rtlanal.c (find_next_ref): Deleted from here.
+	* explow.c: Include hard-reg-set.h for find_next_ref.
+	(find_next_ref): Moved to here.
+	* Makefile.in (explow.o): Includes hard-reg-set.h.
+
+Thu Oct 25 21:37:15 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* va-mips.h (va_list): Put __ in member names.
+	(va_dcl): Rename _va_alist to __va1_alist.
+	* va-i860.h (__va_struct): Put __ in member names.
+	* gvarargs.h, va-*.h: (__va_ellipsis): New macro.
+	(va_dcl): Use that.
+
+	* c-typeck.c (convert_for_assignment): For functions, reverse the
+	usual criterion for warning about const vs non-const.  Volatile also.
+
+	* m88k.md, tm-m88k.h, out-m88k.c: Rewrites by wood@dg-rtp.dg.com.
+	* tm-m88kdgux.h, tm-v88r32.h, tm-m88ksvr4.h: New files.
+	* xm-m88kdgux.h, xm-v88r32.h, xm-m88ksvr4.h: New files.
+	* make-m88k, make-m88kdgux: New files.
+	* config.gcc (m88k-dgux, m88k-v88r32, m88k-svr4): New alternatives.
+
+	* gvarargs.h, gstdarg.h: Include alternate file for m88k.
+
+	* expr.c (expand_expr): For ARRAY_REF, preserve const and volatile.
+
+	* expr.c (expand_builtin): Handle strcmp and memcmp with function calls
+	if can't be open coded.
+
+	* function.c (expand_function_end): Round trampoline addr to init.
+	(round_trampoline_addr): Fix braino in alignment.
+
+Thu Oct 25 14:54:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c: Now includes insn-config.h.
+	(jump_optimize): inequality_comparisons_p takes only one operand again.
+	(can_reverse_comparison_p): Handle case where a register is used
+	for the condition code; if we can't easily find the COMPARE that
+	was used to set the register, say we can't reverse the comparison.
+	* Makefile.in (jump.o): Now includes insn-config.h.
+
+	* jump.c (jump_optimize): Put back change removed on Oct 21st;
+	emit_store_flag has now been updated.
+
+	* rtlanal.c (inequality_comparisons_p): Reject any ordered
+	comparison; we need not just reject when comparing against
+	cc0_rtx.
+	* recog.c (next_insn{,s}_test_no_inequality): inequality_comparisons_p
+	again has only one operand.
+	* genattrtab.c (cc0_rtx): No longer needed; remove change of Oct 21.
+
+	* genconfig.c (have_cc0_flag): New variable.
+	(walk_insn_part): Set it when we see CC0.
+	(main): Write #define HAVE_cc0 when it is set.
+	* flow.c: Now includes insn-config.h.
+	* Makefile.in (flow.o): Likewise.
+
+	* combine.c (subst): If X and FROM are the same register number,
+	but in different modes, force the combine not to be done.
+	Add missing initialization of undobuf.storage.
+
+Thu Oct 25 11:34:35 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* sched.c (new_sometimes_live): Protect this function in case it is
+	called with (OFFSET,BIT) that evaluates to >= MAX_REGNO.
+
+	* jump.c (sets_cc0_p): Conditionalized to abort if called when
+	machine does not support cc0.
+
+	* rtlanal.c (reg_set_p): Now non-static.
+	* rtlanal.c (rtx_varies_p): Handle LO_SUM more accurately.
+	* rtlanal.c (find_next_ref): New function.  Returns the insn that
+	next references REG after INSN, or 0 if REG is clobbered before next
+	referenced or it cannot easily find a reference to REG.
+
+	* recog.c (next_insn_tests_no_inequality): Conditionalized on
+	HAVE_cc0.
+
+	* rtlanal.c (inequality_comparisons_p): Takes new argument
+	THIS_CC0_RTX which is the rtl for the condition code value we are
+	concerned about testing.  All callers changed.
+
+	* flow.c (propagate_block,mark_used_regs): Conditionalize
+	specialized cc0 handling only if HAVE_cc0 is defined.
+
+	* genemit.c (gen_exp): In REG case, If CC0_REGNUM is defined,
+	save space by using REG_CC0_RTX instead of allocating a new
+	(REG, mode, CC0_REGNUM) rtx if the mode is SImode.
+
+	* final.c (output_addr_const): Handle PC for P.I.C. code generation.
+	Also, put parens around CONST expressions so that precedence can be
+	maintained.
+	* final.c (final_scan_insn): Don't look for redunant compares
+	except when HAVE_cc0 is defined.
+	Also, use `find_cc' to locate the rtx functioning as the
+	condition code register in order to perform appropriate calls
+	to `alter_cond'.
+
+	* expr.c (expand_expr): Supply missing arg in calls to `store_expr'.
+
+	* expmed.c (emit_store_flag): New argument COMPARISON is the
+	comparison operation whose result we store.
+
+	* recog.c (offsettable_address_p,adj_offsettable_operand): Use
+	`plus_constant_for_output' instead of `plus_constant' since we
+	are testing conditions which rely on being able to add small
+	offsets to e.g. LO_SUM operands.
+	* explow.c (plus_constant): No special handling for LO_SUM.  It is
+	not valid to add a constant to a term with LO_SUM, since the
+	constant may need to be added to the high bits that form the sum,
+	and those high bits are not readily available.
+	* explow.c (plus_constant_for_output): Same as `plus_constant'
+	except that we do allow adding constants to LO_SUM terms.  This
+	function works only in special cases such as for
+	`adj_offsettable_operand' and `offsettable_address_p'.
+
+	* emit-rtl.c: Declare reg_cc0_rtx which is like cc0_rtx, but
+	is a register instead of a special form.  reg_cc0_rtx should
+	be used when representing the condition code register on a
+	machine where condition codes are only set if explicitly set.
+	For machines which allow arbitrary registers to be used as
+	condition code registers (such as the MIPS and 88k), normal
+	pseudo registers should be used instead.
+	* emit-rtl.c (next_cc0_user,prev_cc0_setter): Conditionalized
+	on HAVE_cc0.
+	* emit-rtl.c (find_cc): New function.  Given INSN, returns
+	the rtx of what functions as the condition code register for
+	INSN.  On machines which use cc0_rtx, this is always cc0_rtx.
+	On machines which have a dedicated register for cc0, this is
+	that register.	On machines which allocate pseudos for holding
+	condition codes, this is the pseudo found in a REG_CC0 note.
+	Otherwise, this function returns 0.
+	* emit-rtl.c (init_emit_once): Allocate `reg_cc0_rtx' if
+	CC0_REGNUM is defined.
+
+	* cse.c (make_regs_equiv): Don't consider making a reg
+	equivalent to another reg whose class is NO_REGS.
+	* cse.c (canon_reg): Don't canonicalize a register to
+	one whose class is NO_REGS.
+	* cse.c (fold_rtx): Conditionalize code for handling cc0_rtx
+	with HAVE_cc0.
+	* cse.c (predecide_loop_entry): Generalize code to use either
+	a register or cc0_rtx.
+	* cse.c (cse_insn): Conditionalize code for handling cc0_rtx
+	with HAVE_cc0.
+
+	* combine.c (combine_instructions,try_combine,subst):
+	Conditionalize code handling cc0_rtx with HAVE_cc0.
+	* combine.c (simplify_set_cc0_and): Abort if HAVE_cc0 is not
+	defined.
+	* combine.c (try_distrib): Add break at end of switch cases.  It is
+	dangerous to leave the last cases of a switch statement to fall
+	through since new cases added after will get fallen into.
+
+	* recog.c (validate_change): Always succeed for an asm insn,
+	since recog always fails to recognize asm insns.  This is
+	needed for virtual register instantiation in asm insns.
+
+	* cse.c (cse_main): When following jumps, notice whether a
+	particular basic block causes CSE_JUMPS_ALTERED to become set.	When
+	this happens, repeat the scan.
+	* cse.c (refers_to_mem_p): Changed parameter name REG to BASE,
+	which is more accurate.	 Also, taught it how to cope with
+	LO_SUM rtl constructs.
+
+Wed Oct 24 15:36:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* calls.c (store_one_arg): Accept additional arg, FNDECL.
+	Don't save argument area if it is within the REG_PARM_STACK_SPACE
+	area, but mark the area in use.
+	(expand_call): If ACCUMULATE_OUTGOING_ARGS and REG_PARM_STACK_SPACE,
+	treat the stack area for the registers as be clobbered by the called
+	routine (e.g., if it was compiled without -O) and save and restore
+	it if it was previously used for arguments in a similar manner to
+	the remainder of the argument area (done by store_one_arg).
+
+	* calls.c (expand_call): Support new description macro,
+	STACK_PARMS_IN_REG_PARM_AREA.
+	* function.c (assign_parms): Likewise.
+
+Wed Oct 24 12:47:21 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (build_array_ref): Use main variant for value type.
+
+	* genoutput.c (output_prologue): Let SEPARATE_AUX_OUTPUT
+	cause aux-output.c not to be included.
+	Makefile.in (aux-output2.c): Copy aux-output.c and then compile it.
+
+	* reload.c (subst_reg_equivs): Treat HIGH like other constants.
+
+	* reload.c (push_reload): When testing hard reg for validity,
+	test subsequent regs only against class, not for HARD_REGNO_MODE_OK.
+
+Tue Oct 23 22:49:33 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (collect_expansion): Skip ## at start after the error.
+
+	* gcc.c (default_compilers): Handle - as suffix.
+	(main): Make that a special case; it matches only exactly `-'.
+
+Tue Oct 23 22:40:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* romp.md (store{s,h,q}i pattern): Allow "b" for clobbered pseudo
+	in addition to "d" in first alternative.
+
+	* reload1.c (eliminate_regs): IF_THEN_ELSE isn't a unary operation.
+
+Tue Oct 23 20:35:13 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* m68k.md (zero-extend QI): When pushing, store value at 1(sp).
+
+Mon Oct 22 12:27:08 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (rescan): In the loop that handles numbers, discard \newline.
+	Also make `..' terminate a preprocessing number.
+
+	* Makefile.in (tmpgnulib, stamp-gnulib2): Do `set -e'.
+
+	* gcc.c (default_compilers): Give __GNUC__ value 2.
+	Don't define it for .S files.
+
+Mon Oct 22 07:33:42 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_indirect_jump): New function; now checks predicate
+	of indirect_jump.
+	* stmt.c (expand_computed_goto, expand_goto): Use new function instead
+	of directly emitting indirect jump.
+
+	* flow.c (mark_set_1): Make LOG_LINKS for hard registers.
+	* combine.c (subst): Make new macro COMBINE_RTX_EQUAL_P which
+	considers things equal if they are the identical RTX or the same
+	register with the same mode; use to see if something changed and
+	if we have a match.
+
+	* cccp.c (S_ISREG): Use argument instead of global.
+	(main): Correct sense of S_ISREG usage.
+	(check_precompiled): Use S_ISREG.
+
+	* flow.c (mark_used_regs): Don't allow reg_next_use to point to
+	a NOTE; either point it to replacement insn or invalidate it.
+
+Mon Oct 22 00:13:12 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (xdecls): No warning unless -pedantic.
+
+Sun Oct 21 17:49:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattrtab.c (cc0_rtx): Define, referenced in rtlanal.c.
+
+	* jump.c (jump_optimize): Remove code that depends on changes to
+	emit_store_flag that haven't been made yet.
+
+	* expmed.c (extract_bit_field): Correctly check for bitfield
+	completely filling a mode.
+
+	* out-romp.c (output_epilogue): Correctly write number of words of
+	arguments into trace table.
+
+	* calls.c (store_one_arg): Fix error in change of Oct 19th.
+
+	* reorg.c (mark_target_live_regs): Revert back to old behavior
+	of scanning all insns, even those in delay slots.
+	(fill_simple_delay_slots): Need only call update_block if we move
+	an insn across a label.
+
+	* Makefile.in (LIBFUNCS): Use consistent naming convention for
+	comparison routines; gnulib.c was always correct.
+
+	* function.c (assign_parms): Don't overwrite DECL_INCOMING_RTL when
+	we are called for the second time.
+
+	* integrate.c (initialize_for_inline): Don't make a new return label
+	here; the maximum label number has already been computed.
+	(save_for_inline_copying, save_for_inline_no_copy): Do it here instead.
+
+	* reload.c (find_reloads_address): For indirect address where the
+	underlying address is also invalid, ensure that we substitute into
+	the MEM that we will use.
+
+Sun Oct 21 14:12:47 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload.c (find_equiv_regs): Reject reg that overlaps goal.
+
+	* expmed.c (extract_bit_field): For big fields, make sure
+	value really goes in the target.
+
+	* expr.c (expand_builtin): Delete __builtin_varargs.
+	(EXPAND_BUILTIN_SAVEREGS): New macro says how to do __builtin_saveregs.
+
+	* calls.c (expand_call): No "can't inline" warning if -fno-inline.
+
+	* stddef.h: Add missing #endif.
+
+Sat Oct 20 14:33:14 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* function.c (round_trampoline_addr): New function.
+	(trampoline_address): Use that.
+
+Fri Oct 19 15:13:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* calls.c (store_one_arg): Don't mark stack area used until after
+	we have written into it; if we do it before, the restore might
+	clobber a function result being put into that stack area.
+
+	* objc-actions.c (print_lang_statistics): Add empty function.
+
+	* recog.c (inequality_comparisons_p): Deleted from here.
+	* rtlanal.c (inequality_comparisons_p): Moved to here; not static.
+
+	* a29k.md (extendhisi2): Fix typo in define_split.
+
+	* Makefile.in (integrate.o): Includes integrate.h.
+	(reorg.o): Includes insn-flags.h.
+
+Fri Oct 19 14:49:26 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* sdbout.c (sdbout_symbol): If a variable belongs to an inline
+	function, the decl's rtl may not be rewritten by alter_reg.  So if
+	we have a variable allocated to a pseudo, just get the hard register
+	number from `reg_renumber'.  ?? But I thought that COFF was so
+	losing that it was decided one could not represent debug info for
+	inline functions in COFF.
+
+Fri Oct 19 13:21:25 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* fold-const.c (split_tree): Use NEGATE_EXPR to negate *conp.
+
+Fri Oct 19 00:15:21 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* version.c: Bumped to 1.90.03.
+
+	* tree.c: Added facility for gathering statistics on the number of
+	tree nodes allocated and the size in bytes they occupy.	 The
+	statistics are by tree_node_kind, which is almost like using the
+	tree code letter, but has more resolution for dealing with different
+	kinds of `x' nodes.  The facility is enabled by compiling the
+	compiler with -DGATHER_STATISTICS and using the -fstats flag.
+
+	* expr.c (do_tablejump): Emit a BARRIER after the jump that performs
+	the tablejump.
+
+	* cplus-typeck.c (c_expand_return): Rewritten so that the function
+	value return register is not used except as a target of the function
+	return value.
+
+	* cplus-tree.c (build_cplus_new): New argument WITH_CLEANUP_P
+	controls whether this functino should build its result with a
+	cleanup or not.	 All callers changed.
+
+	* cplus-lex.c: File updated to latest changes to c-parse.y's lexical
+	analyzer.
+
+	* cplus-except.c (cplus_expand_raise): New parameter FOR_RERAISE
+	is used to control whether to output extra gotos or not.  When
+	nonzero, the compiler can avoid writing out the extra gotos that are
+	otherwise needed to avoid warning messages.
+
+	* cplus-decl2.c (flag_short_double): Add support for this option.
+
+	* cplus-decl.c (finish_function): Always cause returns to jump to
+	the return label.  This allows -Wreturn to give meaningful error
+	messages.
+
+	* jump.c (invert_exp): Make this non-static.
+	(jump_optimize): Reorganization and simplification of main inner
+	loop.  Comments added explaining what the optimizers are looking
+	for.  New optimization added that optimizes for consecutive testing
+	of an inequality test followed by an equality test (or vice-versa).
+	Changes made to accommodate reorg.c on Sparc.  Code for
+	cross-jumping return statements was previously dead in this
+	function; as a result of the reorganization, it is now live.
+	(find_cross_jump): Added temporary variable PREV1 to hold return
+	value of `prev_nonnote_insn' instead of calling the function 3 times
+	in a row.  Also changed so that USE or CLOBBERS are not cross-jumped
+	unless some real insns are also cross-jumped.  This helps reorg.
+	(redirect_jump): Fixed a return that returned no value so that it
+	returns 1.
+	(rtx_renumbered_equal_p): Test that reg_renumber is nonzero before
+	using it.  We may want to call this function earlier than by the
+	time that array has been initialized.
+
+	* integrate.c (save_for_inline_{copying,nocopy}): New functions to
+	replace `save_for_inline'.  save_for_inline_copying saves the rtl
+	for inline functions by copying the rtl to the
+	maybepermanent_obstack.	 It is called when the rtl of the current
+	function is going to be compiled immediately.
+	save_for_inline_nocopy takes advantage of the fact that inline
+	function rtl is already allocated to the maybepermanent_obstack, and
+	need therefore not be copied if it's not going to be modified by the
+	compiler (such as by `rest_of_compilation').
+	({initialize_for,finish}_inline): New helper routines for
+	save_for_inline_... functions.
+	(note_modified_parmregs): Function called by `mark_stores' to note
+	whether parameters are assigned to in the body of an inline
+	function.
+	New interface, integrate.h, provides declarations for functions used
+	by other routines that might want to copy chunks of rtl.
+	({save,try}_constants): Now global (for integrate.h).
+	(mark_stores): Ditto.
+	(try_fold_condition): Ditto.
+
+	* dbxout.c (dbxout_symbol): If a variable belongs to an inline
+	function, the decl's rtl may not be rewritten by alter_reg.  So if
+	we have a variable allocated to a pseudo, just get the hard register
+	number from `reg_renumber'.
+
+	* varasm.c (output_const_pool): No longer static.
+	(assemble_variable): Do output debugging information for global
+	register variables.  GDB does the right thing for global register
+	variables.
+
+	* toplev.c: New flag `warn_inline' for warning when a function
+	declared inline was not in fact inlined.  Also, new flag
+	`flag_no_inline' which disables function inlining, but retains
+	other properties of inline functions (such as lazy compilation
+	and write-only-if-needed).
+	* toplev.c (compile_file): Changed logic for inline function
+	handling to work with `warn_inline' and `flag_no_inline'.
+	Also modified to call `save_for_inline_nocopy' when insns are to be
+	saved but not immediately compiled.
+
+	* function.c (instantiate_decls): If instantiating a function
+	which was saved for inline expansion, preserve the rtl created
+	by the instantiation as well.
+
+	* flags.h (flag_no_inline): New flag; if nonzero, then no
+	calls are inlined, regardless of their declaration.  We still
+	save the insns for these functions in DECL_SAVED_INSNS so that
+	the functions need not be written if they are never called.
+
+	* calls.c (expand_call): If `flag_no_inline' is set, don't
+	inline the call, regardless of whether it was declared inline
+	or not.
+
+Thu Oct 18 13:10:26 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* rtl.def (CODE_LABEL): Add new string field.
+	* rtl.h (LABEL_NAME): Define macro for access.
+	* emit-rtl.c (gen_label_rtx): Initialize it to 0.
+	* stmt.c (expand_label): Store proper name of label.
+	* final.c (final_scan_insn): Call sdbout_label.
+
+	* tree.h (built_in_function): Add BUILT_IN_VARARGS.
+	* c-decl.c (init_decl_processing): Declare __builtin_varargs.
+	* expr.c (expand_builtin): Generate code for it.
+	Uses new macro EXPAND_BUILTIN_VARARGS.
+
+	* sdbout.c (SDB_IS_FAKE): Macro deleted.
+	(MAKE_LINE_SAFE): New macro.
+	(sdbout_begin_block, sdbout_end_block, sdbout_end_function): Use it.
+	(sdbout_one_type): Delete spurious second arg in all callers.
+	(sdbout_types, sdbout_end_function):
+	Use sdbout_dequeue_anonymous_types.
+	(sdbout_label): New function.
+
+	* expr.h (FUNCTION_ARG_BOUNDARY): Default is now PARM_BOUNDARY.
+
+	* gvarargs.h, va-*.h (va_dcl):
+	Add ellipsis so current_function_varargs is set.
+
+	* jump.c (jump_optimize): Exit push-optimize loop at end of insns.
+
+Thu Oct 18 07:09:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c: Major reorganization.  Many special cases have been moved
+	into more general code and an overall restructuring has been done.
+	Numerous bugs have been fixed.	Highlights:
+	(dbr_schedule): First make list of all insns needing filling.  Then
+	iterate for two passes.	 In each pass, try two methods of filling
+	delay slots, then do some canonicalizations, which may create more
+	insns to fill.
+	(fill_simple_delay_slots): Now uses list of insns that need filling,
+	rather than making such a list.
+	Enhance code that finds insns when code paths merge to allow multiple
+	uses of the label as long as all uses are in the skipped code.
+	(struct resource): Notice volatile memrefs.
+	(stop_search_p): Allow option to continue when label is reached.
+	(find_end_label, make_return_insns): New functions; when we have a
+	filled branch that is really a RETURN, first convert it to a jump
+	to a return label and then later see if the insns in the delay slots
+	are also valid for a RETURN.
+	(mostly_true_jump): Test for branch to loop beginning rather than
+	branch at end of loop.	Also, conditional return insns predict false.
+	(own_thread_p): New function to replace fall_through_to_p.
+	(try_merge_delay_insns): Only support merging insns already in an
+	insns delay list.
+	(get_branch_condition, condition_dominates_p): New functions.
+	(steal_delay_list_from_{target,fallthrough}): New functions to
+	replace steal_delay_list.
+	(redundant_insn_p): New function.
+	(update_block, mark_target_live_regs, dbr_schedule): When moving
+	an insn not at the front of the basic block to a delay slot,
+	leave a "ghost" USE so that we can track things livened and killed.
+	(fill_slots_from_thread): Eliminate use of static vars for number
+	of slots to fill and already filled.
+	Try to modify an insn that follows a register-register copy to use
+	the original register; this may create a delay-slot opportunity.
+	(try_hoist_target{,_1}): Deleted.
+	(relax_delay_slots): Rewritten to just perform canonicalizations
+	previously done elsewhere.  No actual delay slot filling is done
+	here.  Any new delay slots created will hopefully be filled in the
+	next pass around the loop in dbr_schedule.
+
+	* expr.c (emit_push_insn): Don't try to compute a SUBREG of a
+	hard register in a non-integer mode when pushing a "partial" arg.
+
+	* recog.c (validate_change, apply_change_group): After reload, ensure
+	that operands meet the constraints by calling constrain_operands.
+	(validate_replace_rtx_1): Consider two rtx equal if they refer to
+	the same register.
+
+	* jump.c (jump_optimize): Extend change of Oct 16th to handle
+	the other usage of find_equiv_reg; remove invalid death notes there.
+
+	* rs6000.md, tm-rs6000.h, out-rs6000.c, xm-rs6000.h, make-rs6000:
+	New files.
+
+	* out-a29k.c (extract_subword): Use gen_{high,low}part from
+	an FP CONST_DOUBLE if host and target float formats are the same
+	or REAL_IS_NOT_DOUBLE.
+
+	* out-romp.c (output_fpop, output_fpops): Provide fr0 as a scratch
+	register unless it is used in the insn.
+
+	* romp.md: In combined set CC0 and move, optimize case where move
+	is nop.
+	(DF moves): Fix typo in generation of `get' insn.
+	Don't split if input is CONST_DOUBLE because we can't easily
+	generate the proper constants.
+	(call patterns): Copy data area address via a pseudo to allow
+	better CSE'ing.
+
+	* tm-romp.h (RTX_COSTS): Memory is expensive, except for a reference
+	to our own data area, which is very cheap.
+	(ADDRESS_COST): References to the constant pool are as cheap as
+	register + offset, since that's what it will be.
+
+	* emit-rtl.c (gen_{low,high}part): Can often extract word from FP
+	CONST_DOUBLE when host and target floating formats agree.
+	(add_insn_after): No longer static.
+
+	* reload1.c (reg_equiv_memory_loc): Renamed from reg_equiv_stack_slot
+	and now static.
+	(reload): If have equivalence with constant that is not a legitimate
+	constant operand, force it into memory and handle this as an
+	equivalence to memory.
+	* reload.h (reg_equiv_stack_loc): Deleted.
+
+Wed Oct 17 20:50:58 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c, cccp.c (main): Use TARGET_VERSION if -v.
+
+	* expmed.c (extract_bit_field): Typo in last change.
+
+	* Makefile.in (tmpgnulib): Support assembler files named *.asm.
+
+	* gcc.c (do_spec_1): Null-terminate error message.
+
+	* sdbout.c (sdbout_symbol): Handle subreg as DECL_RTL.
+	This happens for vars from the parms of inline functions.
+	* dbxout.c (dbxout_symbol): Likewise.
+
+	* genattr.c (fancy_abort): New function, as in gen*.c.
+
+Wed Oct 17 14:53:48 1990  Michael I. Bushnell  (mib at geech.ai.mit.edu)
+
+	* pcp.h: New file.
+
+	* cccp.c: Support use of precompiled files
+	Include "pcp.h".
+	(no_precomp, stringlist, stringlist_tailp): New variables. 
+	(union hashval): New field `keydef'.
+	(enum nodetype): New alternative `T_PCSTRING'.
+	(main): Support -noprecomp.
+	Use write_output to write output.
+	(rescan): Call pcstring_used for T_PCSTRING symbols.
+	(do_include): New local variables pcftry, pcfname, pcf, pcfbuf, 
+	pcfbuflimit, and pcfnum.
+	Check for possible use of precompiled files.
+	(check_precompiled): New function.
+	(check_preconditions): New function.
+	(pcfinclude): New function.
+	(pcstring_used): New function.
+	(write_output): New function.
+	(create_definition): New function.
+	(do_define): Moved most of the work into create_definition.
+	(dump_single_macro): New function.
+	(dump_all_macros): Moved most of the work into dump_single_macro.
+	(dump_defn_1): New argument OF.
+	(dump_arg_n): New argument OF.
+
+	* cccp.c: Support generation of precompiled files
+	(pcp_outfile, pcp_inside_if): New variables.
+	(struct definition): New field `predefined'.
+	(main): Support -pcp.
+	(rescan): Don't expand macros outside #if during -pcp.
+	(special_symbol): Error for most special symbols during #if in -pcp.
+	Output precondition for T_CONST and T_SPEC_DEFINED symbols.
+	(eval_if_expression): Set and clear pcp_inside_if.
+	(do_ifxdef): Output preconditions.
+
+Tue Oct 16 13:22:05 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* stor-layout.c (layout_record): For PCC_BITFIELD_TYPE_MATTERS,
+	make it true that zero-length field affects alignment of next field.
+
+	* rtlanal.c (get_integer_term, get_related_value): Moved from cse.c.
+
+	* jump.c (jump_optimize): When reusing value via find_equiv_reg,
+	delete obsolete death note.
+
+	* expmed.c (extract_bit_field, store_bit_field):
+	Handle fields wider than a word.
+	Restrict special case for word-sized field to aligned words.
+
+	* expmed.c (extract_bit_field, store_bit_field): Don't let
+	BESTMODE be bigger than the insn can handle.
+
+	* Makefile.in (tmpgnulib): Fix typos handling LIBFUNCS_EXTRA.
+
+	* cccp.c (handle_directive): Turn on code to handle # LINENUM,
+	and move initializations past the label `old_linenum'.
+
+	* c-decl.c (grokdeclarator): If traditional, make bitfields unsigned.
+	(finish_struct): Don't do that here.
+
+	* fixincludes (CTRL): Don't put quotes around a quote.
+
+	* stddef.h (size_t): Also inhibit if _SIZE_T_.
+
+Mon Oct 15 13:15:30 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Make flag_signed_bitfields work
+	for int and for typedefs.
+
+Sun Oct 14 21:28:32 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* flow.c (life_analysis): No hard regs for any pseudos live at setjmp.
+
+	* c-decl.c (duplicate_decls): Don't suppress warning for fn defn
+	after implicit declaration, if fn has already been defined.
+
+Fri Oct 12 15:54:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (xdecls): Allow ellipsis after parm decls.
+	Call c_mark_varargs.
+	* c-decl.c (start_function): Clear c_function_varargs.
+	(c_mark_varargs): New function.	 Set it.
+	(store_parm_decls): Maybe call mark_varargs.
+	* function.c (init_function_start): Clear current_function_varargs.
+	(mark_varargs): New function.  Set it.
+
+Thu Oct 11 13:15:36 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* genattrtab.c (fancy_abort): New function, as in gen*.c.
+
+	* expr.c (saveregs_value): New variable.
+	(init_expr, save_expr_status, restore_expr_status):
+	Init, save, restore the variable.
+	(expand_builtin): Don't call __builtin_saveregs twice in one function.
+
+	* va-*.h: Rename all structure fields to start with __.
+	* va-pyr.h: Rename variables also.
+	(va_start): Delete the unmatched {.
+	(va_end): Now a nop.
+
+Wed Oct 10 22:03:20 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* va-sparc.h (__va_ctl): Rename fields to start with __.
+
+Tue Oct	 9 12:55:48 1990  Michael Meissner  (meissner at osf.org)
+
+	* Allow configuration to specify size of a wide character.
+	(WCHAR_TYPE_SIZE): New parameter.
+	(WCHAR_UNSIGNED): New parameter, says whether type is signed.
+
+	* c-decl.c (WCHAR_TYPE_SIZE): Define if not defined.
+	(WCHAR_UNSIGNED): Likewise.
+	(wchar_type_node, signed_wchar_type_node, unsigned_wchar_type_node):
+	(wchar_array_type_node): New variables.
+	(init_decl_processing): Init them.
+	* c-tree.h: Make them extern.
+
+	* c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Define them.
+	(combine_strings): Handle them.
+	* c-parse.y (init_lex, yylex): Likewise.
+
+	* c-typeck.h (digest_init): Use wchar_type_node and
+	signed_wchar_type_node to get the base type of wide strings, rather
+	than using int and unsigned.
+
+Tue Oct	 9 14:16:37 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expmed.c (extract_bit_field): Typo; section for extv used extzv.
+
+	* c-typeck.c (digest_init): Error if union has no name field.
+	(process_init_constructor): For union, use first named field.
+
+	* flow.c (propagate_block): Include NOTE at end of block in scan.
+
+	* fixincludes: Fix missing semicolon in rstat.h.
+
+	* cccp.c (main): Record the option names used for assertions.
+	Call make_assertion properly.
+
+Tue Oct	 9 06:18:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (fold_rtx): Call find_best_addr before seeing if we know
+	what is located at that address.
+	Don't try to return the contents of an ADDR_DIFF_VEC table; we have
+	no simple way of representing it.
+	(cse_insn): Detect SRC == DEST even when DEST is not the canonicalized
+	form of the value represented by SRC.
+
+	* loop.c (scan_loop): Don't set THRESHOLD until LOOP_HAS_CALL
+	has been set.
+	(struct induction): Add field MEM_MODE.
+	(find_mem_givs, combine_givs_p): Record mode used to access memory
+	when making DEST_ADDR giv and use it to test validity of
+	derived address.
+
+	* jump.c (delete_jump): No longer static.
+	(invert_jump): Allow changing RETURNs to branches and vice versa.
+	Now returns success/failure indication like redirect_jump.
+	* rtl.h (delete_jump): Define.
+
+	* calls.c (store_one_arg): Don't expand a `partial' arg into
+	arg->stack and don't set arg->value to arg->stack_slot for
+	such args.
+	Clean up by breaking out common code.
+
+Mon Oct	 8 15:09:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* loop.c (can_eliminate_biv_p): Insist that mult_val be positive.
+
+	* Makefile.in (insn-*): Remove semicolon from these rules.
+	(INSTALL_PROGRAM, INSTALL_FILE): New variables.
+	(install-*): Use those variables.
+	(mandir): Default based on manext.
+
+Mon Oct	 8 10:57:14 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* stmt.c (expand_catch_default): Return 1 if EXCEPT_STACK is
+	nonzero.
+
+	* c-decl.c (finish_enum): Argument to floor_log2 in
+	calculation of negprecision was not negated.
+
+Mon Oct	 8 06:50:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h (INSN_ANNULLED_BRANCH_P, INSN_FROM_TARGET_P): New fields.
+
+Sun Oct	 7 23:33:24 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-i386v.h (STARTFILE_SPEC): Handle -p here.
+	(LIB_SPEC): Not here.
+
+Thu Oct	 4 05:06:02 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* gcc.c (default_compilers): Define __OPTIMIZE__ for %{O*}, not just
+	%{O}. This permits the use of -O2, -O3, etc., with predictable
+	results.
+
+	* expr.c (expand_expr): Do not build new cleanups for
+	TARGET_EXPRs.  Their cleanups are now handled entirely by the
+	language-specific code that causes them to be generated.
+
+	* function.c ({push,pop}_temp_slots): Do not change
+	temp_slot_level if within a sequence.  GNU C++ must be able to
+	emit a sequence it is building anywhere at the level the sequence
+	was initiated.	If the level is changed when building a sequence,
+	temporaries could be unwittingly shared.
+
+	* cplus-tree.def: change print strings for NEW_EXPR and
+	CPLUS_CATCH_DECL.
+
+	* cplus-dem.c (do_type): Support `long long' types.
+
+	* cplus-decl.c (finish_file): No longer try to emit _init,_fini
+	records for GNU C++.  This was supposed to help the SunOS dynamic
+	linker link C++ code, but it turned out not to work.
+
+	* cplus-decl.c ({start,finish}_function): Don't emit an extra
+	binding contour if not in a constructor or destructor.	It is not
+	needed, and saves writing out unneeded debugging info.
+
+	* cplus-class.c (build_method_call): Conditionalize handling of
+	wrappers and operator->(); these are now only compiled if ESKIT is
+	#defined.
+
+	* cplus-decl.c (define_label): Updated to treat labels in the same
+	new fashion that c-decl.c treats them.
+
+	* cplus-*.c: C++ front-end files now support a generic
+	class-browser interface.  It is up to some adventurous hacker to
+	implement the class browser.
+
+	* cplus-*.c: C++ front-end files no longer #include rtl.h.
+
+Sun Sep 30 15:53:02 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (make_assertion): New function.
+	(main): Handle -A by calling make_assertion.
+	-A- gets rid of predefined macros and those specified earlier.
+
+	* print-tree.c (print_node_brief): Declare i for printing REAL_CST.
+
+	* recog.c (immediate_operand, nonmemory_operand): Don't accept
+	integer constants if caller wants a floating mode.
+
+Sat Sep 29 18:40:08 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns): Handle preserving death info
+	with find_equiv_reg.
+
+	* reload.c (find_equiv_reg): Handle INSN_CLOBBERS_REGNO_P.
+
+	* fixincludes: For link pointing outside /usr/include,
+	use $x rather than $dest.
+
+	* optabs.c (expand_float, expand_fix): Use dconst1, not 1.0.
+
+Sat Sep 29 06:38:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (try_split): Use emit_insn_after and delete_insn to
+	ensure that the correct insn chain is maintained in the presence of
+	SEQUENCEs; be careful if the insn being split has a following BARRIER.
+	* jump.c (delete_insn): Correctly update insn chain when deleting
+	insn following or preceeding a SEQUENCE.
+
+Fri Sep 28 16:07:42 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (yylex): Use REAL_VALUE_TRUNCATE for `f' suffix.
+
+	* fold-const.c (const_binop): Don't initialize REAL_VALUE_TYPE decls.
+
+Thu Sep 27 14:06:37 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.c (expand_expr): Set MEM_VOLATILE_P from TREE_THIS_VOLATILE.
+
+Wed Sep 26 00:21:23 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-mips-news.h: New file.
+
+	* out-i860.c (output_size_for_block_move): Don't decrement.
+	(output_block_move): Decrement initial storing address instead.
+
+	* c-parse.y (yylex): Always try unsigned int if `u' is written.
+
+	* c-typeck.c (build_unary_op): Don't let &* make an lvalue.
+
+	* c-parse.y (initlist): Use [N] rather than case N: for array index.
+
+	* tm-seq386.h (LINK_SPEC): Define it.
+
+	* c-parse.y (yylex): Don't try signed int for nondecimal constant
+	if -traditional.  Improve messages for -Wtraditional.
+
+	* stor-layout.c (layout_record): Avoid using DECL_SIZE_UNIT.
+
+	* jump.c (jump_optimize): Scan all insns for label refs.
+	(mark_jump_label): Quickly ignore uninteresting rtl types.
+	* rtl.def (INSN, CALL_INSN): Add a slot for JUMP_LABEL.
+
+	* jump.c (jump_optimize): Try combining stack adjusts with pushes.
+
+Mon Sep 24 07:31:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (expand_computed_goto): Emit barrier after jump.
+
+	* expr.c (case LABEL_DECL): Return a MEM, so we can take its
+	address; correctly form LABEL_REF.
+
+Sun Sep 23 22:54:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (struct movable): Delete field SET_EQUAL; new field MOVE_INSN.
+	(scan_loop): Only use REG_EQUAL note under very restricted
+	cirsumstances.	Set MOVE_INSN field in movables when appropriate.
+	(combine_movables): Simplify matching test now that we only have one
+	source field.
+	(move_movables): Handle MOVE_INSN movables by emitting a new move
+	insn in front of the loop.
+	Correct typo in checking for CALL_INSN.
+	Don't try to make a REG_EQUAL note.
+	(count_loop_regs_set): Remove extraneous assignment to MAY_NOT_MOVE.
+
+Sun Sep 23 14:59:21 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (S_ISREG): Define it unless overridden.
+	(main, finclude): Use that.
+
+	* reload1.c (reload): If insn after a function call uses the
+	function value, and that reg is spilled, and the insn might
+	use it for reloading, add an extra need.
+	(reload_as_need): Detect such insns for new arg to choose_reload_regs.
+	(choose_reload_regs): In that case, don't choose function value reg.
+
+	* tm-convex1.h, tm-convex2.h (CPP_SPEC): Define __NO_INLINE_MATH.
+
+Sun Sep 23 07:52:32 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* version.c (version_string): Bumped to 1.90.02.
+
+	* final.c (leaf_function): Variable now non-static.
+	* final.c (only_leaf_regs_used): Function now non-static.
+	* final.c (leaf_function_p): Move initialization of
+	`leaf_function' from here...
+	* toplev.c (compile_file): ...to here.	We want to know the
+	value of `leaf_function' when we perform code reorginization.
+	* final.c (leaf_function_p): If profiling arcs, we cannot have
+	a leaf function.  Also, we have to look at insns in
+	`epilogue_delay_list' to know that all our constraints are
+	satisfied.
+	* final.c (only_leaf_regs_used): Have to look in
+	`epilogue_delay_list' to know that all our constraints are
+	satisfied.
+
+	* toplev.c (warning_with_file_and_line,warning): Declare third
+	argument V3 for warnings that require 3 `%' expressions in S.
+	* toplev.c (strip_off_ending): New helper function that removes
+	a GCC-recognized filename extension.  Call this function in
+	GCC instead of expanding it inline in C code everywhere.
+
+	* sched.c (schedule_block): The last basic block does not have
+	no live registers.  Also, check that we don't copy from an
+	entry in `basic_block_live_at_start' that does not exist.
+	* sched.c (update_reg_first_use): When splitting insns, the
+	insn that is in REG_FIRST_USE might become a NOTE, and a new
+	insn become the insn that should be considered the first use.
+	`update_first_use' keeps REG_FIRST_USE up to date.
+	* sched.c (update_links): Call note_stores with
+	`update_first_use' when an insn splits.
+
+Sun Sep 23 00:05:49 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Put var array bound in save_expr.
+
+Sat Sep 22 14:01:00 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tree.c (build_index_type): Don't hash variable-bound type.
+
+	* c-decl.c (start_decl): Error here if var-size object initialized.
+	(grokdeclarator, finish_struct): Record types & decls
+	with array sizes not written as constants.
+	* c-tree.h (C_TYPE_VARIABLE_SIZE, C_DECL_VARIABLE_SIZE): New macros.
+
+	* tm-aix386.h (LIB_SPEC): Different library name for -p.  Always -lc.
+	(LINK_SPEC): Don't pass -lg or -g.
+	(CPP_PREDEFINES): Define _I386 and _AIX.  Don't define unix.
+	(SDB_DEBUGGING_INFO): Define it.
+	(DBX_DEBUGGING_INFO): Undefine it.
+	(ASM_FILE_START): Output .noopt if not optimizing.
+	(PCC_BITFIELD_TYPE_MATTERS): Define it.
+	(FUNCTION_PROFILER): Add definition.
+
+Fri Sep 21 16:26:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (current_function_epilogue_list): Define this here.
+	* reorg.c: Not here.
+
+Fri Sep 21 13:11:11 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* varasm.c (assemble_external_libcall): Frob SYMBOL_REF_USED here.
+
+Thu Sep 20 15:29:44 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.h (struct optab): Field libfunc, an rtx, replaces lib_call.
+	* rtl.h (SYMBOL_REF_USED): New macro.
+	* optabs.c (init_optabs): Initialize that field properly.
+	Also initialize new variables *_libfunc.
+	(various functions): Use those vars; use libfunc field.
+	* expr.c (convert_move, emit_block_move, clear_storage): Use the vars.
+	(emit_push_insn, expand_assignment): Likewise.
+
+Thu Sep 20 13:51:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-a29k.c (current_function_epilogue_delay_slot): Renamed from
+	epilogue_delay_slot.
+
+	* romp.md (movdi): Fix missing short/long qualifier on memory ref.
+	(SFmode/DFmode move patterns): Add explicit alternatives for
+	storing and loading general registers from memory; also add
+	DEFINE_SPLITs for these cases for DFmode.
+	(negsf2,negdf2): Don't use XOR if an operand is a hard FP register.
+
+	* tm-romp.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Use correct
+	register numbers for FP registers.
+
+	* output.h (current_function_epilogue_delay_list): New var.
+	* function.c: Include output.h and initialize new var above.
+	* Makefile.in (function.o): Now includes output.h.
+	* reorg.c (epilogue_delay_list): Renamed to
+	current_function_epilogue_delay_list.
+
+	* final.c (final_scan_insn): Don't delete no-op insn if in delay slot
+	or if we have already pre-scanned.
+
+	* genconfig.c (max_insns_per_split): Rename from
+	max_insns_per_split_flag and default to 1 instead of 0.
+
+	* genattrtab.c (n_comma_elts): Return zero for null string.
+
+	* sdbout.c (MIN,MAX): Add to here; required by recent changes.
+
+	* expr.c (safe_from_p): A MEM rtx is not safe from an INDIRECT_REF.
+
+	* c-parse.y (ridpointers): Move definition in front of first use.
+
+	* reorg.c (mark_referenced_resources): Allow for CODE_LABELs between a
+	CALL_INSN and USE insns preceeding it.
+	(mark_set_resources): Likewise, for following CLOBBERs.
+
+Wed Sep 19 17:45:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* assert.h (printf): Don't define; should be in stdio.h.
+
+	* rtl.h (PUT_REG_NOTE_KIND): New macro.
+	* sched.c (attach_deaths): Use it.
+
+	* reorg.c (mark_referenced_resources): If we put insns to load
+	parameters into the delay slot of a CALL, ignore the USE insns
+	for those parameters.
+
+	* function.c (fixup_var_refs_1): Don't call fixup_memory_subreg unless
+	its would-be operand is a SUBREG.
+
+Wed Sep 19 00:26:59 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* print-tree.c (print_node): Indent before printing RTL.
+
+	* Makefile.in (protoize.o, unprotoize.o): Look for SYSCALLS.c.X
+	in libsubdir.
+
+Tue Sep 18 21:55:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (fold_rtx): For MEM with constant address, split the
+	address into possible base and offset; ensure constant pool
+	value is same mode as our reference unless we are getting a
+	word of a DImode CONST_INT.
+	Treat SYMBOL_REF and LABEL_REF as constants.
+	If we are getting a word at a constant offset from a jump table,
+	replace with the contents of that jump table entry.
+	(cse_insn): When folding jump to variable location (e.g., tablejump),
+	LABEL_REF is the cheapest of all, since the branch would be simple.
+	Special-case changing variable branch to normal unconditional
+	because the RTL may be different (e.g., the variable branch may
+	include a USE).
+
+Tue Sep 18 18:33:19 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* toplev.c (count_error): Handle warnings_are_errors.
+	(W_options): Handle -Werror.
+
+Mon Sep 17 00:02:12 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (lookup_label): Use void as type of label.
+	* stmt.c (label_rtx): No longer static.
+	* expr.c (expand_expr): Handle LABEL_DECL.
+
+Sun Sep 16 16:27:29 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.c (expand_builtin): Error for __builtin_nextarg
+	if function definition doesn't have `...'.
+
+	* expmed.c (store_bit_field): Adjust BITPOS to UNIT all at once.
+	for insv, use mode of operand 3 instead of SImode.  Define MAXMODE.
+	Adjust XBITPOS along with mode of XOP0.
+	(extract_bit_field): Adjust XBITPOS along with mode of XOP0.
+	for extv and extzv, use mode of operand 3 thoroughly instead of SImode.
+
+	* sdbout.c (CHAR_TYPE_SIZE,...): Default definitions of these macros.
+	(plain_type_1): Use those macros to distinguish int and floating types.
+
+	* toplev.c (rest_of_decl_compilation): Output TYPE_DECL here for sdb
+	only if top_level.
+
+	* c-parse.y (unary): Don't forget to look up the label.
+
+	* c-typeck.c (build_conditional_expr): Don't skip arg promotion.
+
+Sun Sep 16 14:54:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): If we don't recognize the combined insn,
+	try it without any CLOBBERs.
+
+	* final.c (final_scan_insn): Prevent CC tracking from thinking
+	that the CC was set by an insn in the delay slot of a CALL_INSN.
+
+	* expmed.c (init_expmed, expand_divmod): Allow machine to have
+	low cost specified for divides by powers of two if it can do it by
+	a method that if cheaper than the normal shift/branch/adjust mechanism.
+
+	* cse.c (fold_rtx): When putting constant last, ensure that the
+	resulting insn is valid.
+
+	* objc-actions (finish_objc): Remove dup defn of gen_declaration_file.
+
+	* objc-parse.y (ridpointers, token_buffer): Define before use.
+
+	* reload1.c (scan_paradoxical_subregs): Declare correctly.
+
+	* tm-romp.h (ENCODE_SEGMENT_INFO): Use INTEGRATED bit to mark
+	SYMBOL_REFs that are addresses of functions (really their data blocks).
+	(LEGITIMATE_CONSTANT_P): Data block addresses of functions are not
+	valid operands.
+	* out-romp.c (symbolic_operand): Likewise.
+	* romp.md (call*): emit_move_insn will now do force_const_mem
+	so it needn't be done explicitly.
+
+	* out-romp.c (output_fpop): Work around yet another RT fp bug;
+	cannot merge output and first operand for SFmode if general reg.
+
+	* romp.md: Add new pattern to match combination of copy and test.
+	Use nilo instruction to set CC.
+
+Fri Sep 14 07:07:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-tree.h: Define all *_type_node trees defined in c-decl.c, in the
+	same order as defined there.
+
+Fri Sep 14 08:39:17 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-typeck.c (build_c_cast): Convert READONLY_DECLs to make up
+	for the fact that we do not call `default_conversion' anymore.
+
+	* function.c (instantiate_virtual_regs): If the function is inline,
+	we don't need to worry about making valid rtl, but we do need to
+	worry about instantiating all virtual registers.  Otherwise we must
+	make the rtl valid, and we have other opportunities to eliminate the
+	virtual registers during the compilation.
+
+Thu Sep 13 16:00:05 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload.c (MATCHES): Check for different rtx's with same reg number.
+
+	* fixincludes: Discard `.' from value of `files'.
+
+	* c-parse.y (unary_expr): Use unary && to get address of label.
+	(stmt): Handle `goto *EXPRESSION;'.
+	* stmt.c (expand_computed_goto): New function.
+
+	* gstdarg.h: New name for stdarg.h.
+	* Makefile (install-headers): Rename gstdarg.h while installing it.
+
+	* sdbout.c (PUT_SDB_LAST_DIM): Get rid of SDB_DELIM.
+	(plain_type): Output accumulated array dims and size.
+	(plain_type_1): Eliminate arg NOSIZE.  Save up dims and size.
+	Call self rather than plain_type for pointers and functions.
+	(sdbout_array_type, sdbout_array_depth): Functions deleted.
+
+Thu Sep 13 16:12:15 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (build_method_call): Fix typo in deciding whether to
+	do hairy or trivial pointer conversions on `this'.
+
+	* cplus-tree.c (layout_vbasetypes): Don't double-count space taken
+	up by virtual baseclasses.
+
+Wed Sep 12 18:14:19 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-m68k.h: Use asm_fprintf widely.
+	(REG_PREFIX, IMMEDIATE_PREFIX, LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX):
+	New macros.
+
+	* final.c (asm_fprintf): New function.
+
+Wed Sep 12 06:07:50 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-dbxout.c (dbxout_type): Output basetype size and offset info
+	in bits, not bytes.
+
+	* cplus-decl.c (finish_{decl,function}): Set CLASSTYPE_ASM_WRITTEN
+	bit of types used by non-extern VAR_DECLs.  Set it also for types of
+	PARM_DECLs and return types of functions defined in the file being
+	compiled.
+
+Tue Sep 11 13:21:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* sdbout.c (plain_type_1): New argument NOSIZE.	 Inhibits size output.
+	(sdbout_array_type): Call plain_type_1 directly; set NOSIZE.
+
+	* sdbout.c (sdbout_array_type): New argument DEPTH.
+	Don't output more than SDB_MAX_DIM dimensions.
+	(sdbout_array_depth): New function.
+	(plain_type_1): Start DEPTH by calling sdbout_array_depth.
+
+	* gnulib2.c (_bb_init_func): Library member now named _bb.
+
+	* tree.h: Add comments.
+
+Mon Sep 10 17:20:06 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (install): Fix typo.
+
+	* cccp.c (macarg1): With -traditional, backslash quotes chars.
+
+Mon Sep 10 16:37:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Don't swap THEN and ELSE parts during jumps
+	runs after reload.
+
+Mon Sep 10 13:07:39 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (collect_expansion): Don't actually substitutee into a
+	string if ANSI; just consider warning.
+
+	* gnulib2.c (div_qrrnd for i386): Fix typo.  Rename some args.
+
+	* sdbout.c (sdbout_array_type): New argument DEPTH.
+	Don't output more than SDB_MAX_DIM dimensions.
+	(plain_type_1): Start DEPTH at 1.
+
+Sun Sep	 9 22:02:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-a29k.c (gen_reg_operand): Exclude SUBREG of a special
+	register.
+
+	* cse.c: (fold_rtx): Get equivalent for register before seeing if
+	memory reference is to constant pool.
+	(cse_ins): Only call force_const_mem if we actually try to use
+	the constant (i.e., we haven't found anything cheaper).
+
+Sun Sep	 9 21:49:18 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* ..._BIG_ENDIAN: Now expect definition to be 0 or 1.
+	All refs and defs changed.
+
+	* tm-mips.h (CPP_SPEC): Error for -EL (for -EB, if DECSTATION).
+
+	* sdbout.c (sdbout_one_type): Set TREE_ASM_BEING_WRITTEN before
+	recursion, and TREE_ASM_WRITTEN after.
+
+Sat Sep	 8 16:47:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* hard-params.c (main): Don't try to malloc all memory.
+
+Sat Sep	 8 16:38:53 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): Set reg_equiv_constant if the equivalence
+	is any constant, not just a legitimate constant operand.
+
+	* final.c (get_attr_length, shorten_branches, final_scan_insn):
+	If JUMP_TABLES_IN_TEXT_SECTION is defined, don't put jump tables
+	in readonly data section, even if it exists.
+
+Sat Sep	 8 14:07:05 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (bootstrap*): Pass null ALLOCA definition to recursive
+	makes when compiling with GCC since it never needs alloca.c.
+
+	* c-typeck.c (build_binary_op_nodefault): Warn for signed < unsigned.
+	Controlled by -W.
+
+	* tm-i386v4.h: New file.
+
+Fri Sep	 7 13:10:24 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (STDC_VALUE): New macro, defaulting to 1.
+	(intialize_builtins): Use that.
+
+	* m68k.md (movqi): `st' does not set cc's.
+
+Fri Sep	 7 07:49:23 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genemit.c (gen_expand): Fix test for no C code.
+	If no C code, no MATCH_DUPs, and only one insn to write, handle
+	like DEFINE_INSN and return that insn rather than making a sequence.
+
+	* emit-rtl.c (add_insn_after): If previous or next insn is a
+	SEQUENCE, update the NEXT_INSN in the last insn in the SEQUENCE or
+	PREV_INSN of the first, as appropriate.
+	(emit_insn_before, emit_jump_insn_before, emit_note_before):
+	Call add_insn_after.
+
+	* stmt.c (check_for_full_enumeration_handling): If a switch whose index
+	is an enumerated type contains labels for every enumeration value,
+	make the label for the last value the default label since such a
+	switch can never fall through.
+
+	* genattr.c (fatal): Declare first arg correctly.
+
+	* combine.c (try_combine): No longer check REG_FUNCTION_VALUE_P;
+	its value shouldn't matter once RTL generation is complete.
+	(subst): If NOT is present as an operand in commutative operation,
+	put it last to reduce the number of required patterns.
+
+	* out-romp.c (output_fpops): Align to word boundary before writing
+	any floating-point blocks.
+
+	* function.c (instantiate_virtual_regs_1): Fix typo in previous change.
+	When a MEM must be copied, use copy_rtx; the PLUS may also be shared.
+
+Thu Sep	 6 15:19:42 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c (do_spec_1): Don't add __ to -D if __ already present.
+
+	* c-typeck.c (convert_for_assignment):
+	Better warning for FCN * vs. void *
+	Specific warning for char * vs. unsigned char *.
+
+Thu Sep	 6 14:52:08 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (find_basic_block): Return -1, not 0, if we can't find
+	the basic block.
+	(mark_target_live_regs): Clear PENDING_DEAD_REGS unconditionally.
+	(relax_delay_slots): Don't call optimize_skip for unconditional jump.
+	Only try to remove jump if it is a simple conditional or
+	unconditional jump (but not a tablejump or similar such).
+
+	* cse.c (invalidate, refers_to_mem_p, cse_rtx_addr_varies_p):
+	Consider (plus (reg) (const_int)) to be a fixed address if REG
+	is constant; old code just handled REG.
+
+	* genrecog.c (enum routine_type): Use to distinguish two types of
+	routines that we write: recog and split_insns.
+	(make_split_sequence): Write out extern for gen_split_ function.
+	(break_out_subroutines, write_subroutine, write_tree, main):
+	Use new enum routine_type instead of passing "split" or "recog".
+	(write_subroutine): Write correct type for splitting functions and
+	return 0, not -1.
+	(main): Write includes before declarations of gen_split_ functions
+	since "rtx" is needed for them.
+	* rtl.h (try_split, split_insns): Added definitions.
+
+Wed Sep	 5 16:20:07 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Makefile.in (includes): Use proper directory.
+
+Tue Sep	 4 13:59:31 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (store_parm_decls): Let extra_warnings control
+	warnings about parms not declared.
+
+	* flow.c (life_analysis): Move code to detect stack-adjust insns.
+	It was unreachable.
+
+	* gnulib.c, gnulib2.c (abort): #undef in case config.h defines it.
+
+Mon Sep	 3 17:50:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call): If SETUP_INCOMIMG_VARARGS is defined, pass
+	unnamed args in registers.
+	* function.c (assign_parms): Call SETUP_INCOMING_VARARGS for
+	stdargs as well as varargs; ensure we only call it once.
+
+	* function.c (instantiate_virtual_regs_1): Don't assume all memory
+	addresses are valid for all insns.
+
+Sun Sep	 2 22:17:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.c (emit_library_call): Push all stack args, then load regs.
+
+	* c-decl.c (c_build_type_variant): For an ARRAY_TYPE,
+	put the qualifier into the array as well as the element.
+	(grokdeclarator): When a field or variable is supposed to be
+	a const or volatile array, make the array elements const or
+	volatile, but also make the field or variable so.
+
+	* c-decl.c (grokdeclarator): Turn off the warning for const or volatile
+	function type when making an array.  It was useless.
+
+Fri Aug 31 16:26:40 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-common.c (truthvalue_conversion): Let the
+	language-specific code decide how to convert EXPR
+	if it is not one of the special forms we recognize.
+
+Fri Aug 31 15:08:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.c (execute): Use I instead of undefined var J if DEBUG defined.
+
+Fri Aug 31 14:37:36 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* sdbout.c (sdbout_begin_block): Delete excess arg to sdbout_block.
+
+Thu Aug 30 21:31:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (extract_bit_field): Fix typos in computations of UNIT.
+
+Wed Aug 29 12:33:33 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* sdbout.c (sdbout_reg_parms): Don't advance parm twice.
+
+Tue Aug 28 22:49:41 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (delete_newlines): New function.
+	(macroexpand): Remove newlines from args used more than once.
+
+Tue Aug 28 22:16:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (sched.o): Add to list of files to compile.
+
+	* c-parse.y (position_after_white_space): Declare with correct type.
+
+	* fold-const.c (optimize_bit_field_compare): Fix typo.
+
+	* reorg.c (split_insns): No longer need extern for this here.
+
+	* toplev.c (sched_dump_file): Define.
+	(compile_file): Initialize and print sched_time and sched2_time.
+
+	* local-alloc.c (block_alloc): Fix typo in allocation of insn_map.
+
+	* cse.c (cse_insn): Try related value in case where CONST is seen
+	first and SYMBOL_REF later.
+
+Tue Aug 28 16:26:50 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (main): Don't modify or validate arg of -D here.
+	(make_definition): Do it all here.
+
+	* function.c (assign_parms): Reenable `register' for parms.
+
+Tue Aug 28 07:12:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-a29k.h (CONST_COSTS): All CONST_INTs are cost zero; adjust
+	SYMBOL_REF and CONST_DOUBLE costs to reflect their actual cost.
+
+	* expr.c (expand_expr): Don't suppress EXPAND_SUM here if not Pmode.
+	(expand_expr, case *_DECL): Return constant address if
+	EXPAND_SUM or EXPAND_INTO_STACK in addition to EXPAND_CONST_ADDRESS;
+	all of these cases will later call memory_address.
+	(expand_expr, case COMPONENT_REF): Always make recursive call with
+	EXPAND_SUM.
+	(expand_expr, case PLUS_EXPR): Try to form constant if X + CONST and
+	mode is Pmode without EXPAND_SUM; if not EXPAND_SUM, use force_operand.
+	Check for MODE != Pmode with EXPAND_SUM here.
+	(expand_expr, case MINUS_EXPR): Always process X - CONST_INT as
+	X + (-CONST_INT)).
+
+Sun Aug 26 23:10:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (c_decode_option): Handle -funsigned-bitfields. 
+	(grokdeclarator): Do the real work.
+	(grokfield): Pass either FIELD or BITFIELD to grokdeclarator.
+
+	* tm-att386.h (asm_output_common): Use SIZE, not ROUNDED.
+
+Sat Aug 25 17:17:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (unary_expr): Turn off handling of &...
+	* c-decl.c (store_parm_decls): Turn off extra dummy parameter.
+
+	* tm-att386.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): New macros.
+	(BSS_SECTION_ASM_OP): New macro.
+	(ASM_OUTPUT_LOCAL): Call bss_section, don't just print .bss.
+
+	* combine.c (subst): Handle shift within mem, as multiplication.
+
+Sat Aug 25 11:43:09 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* final.c (alter_cond): Handle CC_INVERTED.
+
+	* conditions.h (CC_INVERTED): New flag indicating that the condition
+	tested leaves the falgs set opposite to the condition tested.  This
+	is unsafe for IEEE floating point operations, but useful for integer
+	operations which can combine with condition-code setting operations.
+
+	* c-parse.y (position_after_white_space): New function.	 Skips
+	all of the whitespace at the current location in the input
+	file, taking NEXTCHAR into account.  Changed all callers of
+	`skip_white_space' in grammar to use this function instead.
+
+	* genrecog.c (main): Generate code which is more easily optimized by
+	GCC's cse.  In particular, start each recognizer with the address of
+	`recog_operands' in a register.
+
+	* reload.c (combine_reloads): Can only combine reloads if the
+	register we find can hold the entire output reload (i.e., SFmode
+	register may not be suitable for combining with DFmode register).
+
+	* optabs.c (have_sub2_insn): Fixed typo.
+	* combine.c (combine_instructions): Fixed typo in comment.
+
+	* function.c (expand_function_end): Emit a barrier after a RETURN
+	jump.
+
+	* Added diffs for new instruction scheduling code.
+	* emit-rtl.c (try_split): Moved here from reorg.c and made
+	public.	 Both instruction scheduling and delayed branch
+	filling now use the same code to split insns.
+	* flags.h: Add new flags FLAG_SCHEDULE_INSNS for instruction
+	scheduling before register allocation and
+	FLAG_SCHEDULE_INSNS_AFTER_RELOAD for insn scheduling after
+	register allocation.
+	* recog.c (constrain_operands): Recognize pseudo registers as
+	registers for the purpose of insn constraint matching before
+	register allocation.  Otherwise, the insn scheduler assumes
+	the operands will be memory, which is usually wrong (and
+	causes it to build bad schedules).
+	* sched.c (order_calls): New function.	For two CALL_INSNS in
+	the rtl chain, we set up a constraint that the second
+	CALL_INSN may not be scheduled to run before the first.
+	(sched_analyze_*): Three kinds of dependencies (true, anti,
+	and output) constrain the order in which insns can be
+	rearranged and still preserve their execution semantics.
+	We now handle dependencies for pseudo and hard register usage
+	and for memory usage in these functions.
+	(launch_links): The ordering of which newly ready insns to
+	execute is now preserved according to their `priority' in the
+	insn chain, and no longer on their order in the dependency
+	list from which they were launched.
+	(schedule_block): Removed support for trying to schedule insns
+	taking branch delays into account.  Reorg.c should be hacked
+	to understand which insns to pull into delay slots and which
+	insns to leave alone.
+	(schedule_block): (Re-)compute all register life information here.
+	No longer dependent on flow to keep `basic_block_live_at_end'
+	allocated.
+	(schedule_insns): Recompute LABEL->BASIC BLOCK mapping, so we
+	can compute register life information.
+	* rtl.c (add_dependence): New function to add and remove insn
+	dependencies.  If an insn (I2) must execute after another
+	(I1), we add an INSN_LIST containing I1 to I2's	LOG_LINKS.
+	If such an INSN_LIST is already in I2's LOG_LINKS, we don't
+	add a second.
+	(remove_dependence): Similar, but removes dependencies.	 May
+	not actually be needed.
+	* toplev.c (compile_file,rest_of_compilation): Added code for
+	dumping info about insn scheduling.
+
+Fri Aug 24 17:24:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* Implement `aligned (INTEGER)' attribute for real.
+	* c-parse.y (attrib): Really record info for `aligned' attribute.
+	Don't warn for any integer alignment.
+	(attribute_list): Make a list.
+	(initdcl, notype_initdcl, component_declarator): Handle that info.
+	* c-common.c (decl_attributes): New function.
+
+Fri Aug 24 07:12:05 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattrtab.c (insn-config.h): This is really needed after all.
+	* Makefile.in (genattrab.o): Show dependency on insn-config.h.
+
+	* local-alloc.c (block_alloc): Don't update qty_birth for a
+	register whose quantity is <= 0.
+
+	* fold-const.c (decode_field_reference): Actually obtain unsigned
+	type where one is wanted.
+	(merge_component_references): Correctly test for mutually exclusive
+	conditions.
+
+Thu Aug 23 14:56:44 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (digest_initializer): No pedantic warning for string
+	and array of unsigned char.
+
+	* tree.c (get_identifier): Do id_clash_len stuff if length equals that.
+
+Thu Aug 23 10:30:10 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-tree.h (CLASSTYPE_CID): Key off of TYPE_MAIN_VARIANT.
+
+Thu Aug 23 06:44:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-romp.c (romp_pushes_stack): Don't count
+	current_function_pretend_args_size in size of stack.
+
+Wed Aug 22 18:00:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-a29k.h, tm-a29kunix.h, xm-a29k.h, a29k.md, out-a29k.c: New files.
+
+	* config.gcc (a29k-unix): New target.
+
+	* calls.c (expand_call): Allow FUNCTION_ARG to return an EXPR_LIST
+	specifying multiple registers to load.
+	(store_one_arg): Likewise; also delete handling of fully-in-register
+	case, which hasn't been handled here for a while.
+	* expr.c (emit_library_call): Our subset of calling sequence for
+	library routines does not include multiple registers for an arg.
+
+Tue Aug 21 17:44:49 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* make-cc1.com: Compile and link version.c.
+
+	* Makefile.in (install-gnulib): Create libg.a if none already.
+
+	* expr.c (convert_move): Handle expand_unop retval not same as target.
+
+	* reload.c (find_reloads): For register letters, don't win if BLK.
+
+	* sdbout.c (sdbout_toplevel_data): Fix error message.
+
+	* protoize.c (open): Prototype deleted.
+
+	* flow.c (mark_set_1, mark_used_regs): Update reg_first_use.
+	(allocate_for_life_analysis): Allocate and clear it.
+	* local-alloc.c (block_alloc): Calculate INSN_MAP.
+	Get first use of each reg from reg_first_use.
+
+	* tm-vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Distinguish C from C++.
+	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Add a const data section.
+	(ASM_OUTPUT_EXTERNAL): Use that section.
+	(SELECT_SECTION): Go to that section when appropriate.
+
+Tue Aug 21 18:26:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (fill_simple_delay_slots): Mark anything referenced by an
+	insn that will be placed in a delay slot in the epilogue as being
+	needed at the end of the function.
+
+	* cse.c (constant_pool_entries_found): New static var.
+	(cse_main): Initialize it.
+	(use_related_value): Correctly look for registers in hash table.
+	(fold_rtx): Fold constant pool entries to their constants and
+	set constant_pool_entries_found.
+	(cse_insn):  If we weren't able to place a constant in an insn
+	and we have previously seen constant pool entries used, set up
+	to try the constant pool entry also.
+
+Mon Aug 20 12:14:27 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* function.c (assign_parms): Set LAST_NAMED for parm before dummy.
+	See August 9 change in c-parse.y.
+
+	* gcc.c (process_command): Split -oFOO into two arguments.
+
+	* stmt.c (expand_asm_operands): Handle COMPONENT_REF and
+	ARRAY_REF directly as output operands.	Avoids crash if BLKmode.
+
+	* c-parse.y, cplus-parse.y, objc-parse.y: Include stdio before input.h.
+	* input.h: Declare finput.
+
+	* expr.c (emit_push_insn): Don't adjust for EXTRA separately
+	if will have to adjust the stack anyway.
+
+	* m68k.md (*sh*si3): On 68000, optimize case of >= 16 bits.
+
+	* varasm.c (decode_rtx_const): Don't dereference a PLUS
+	subexpression of a CONST twice.
+
+Sun Aug 19 21:51:51 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* toplev.c (finput): Define here.
+	* *-parse.y (lineno, finput): Duplicate definitions deleted.
+
+	* global-alloc.c (find_reg): Test best_reg against 0,
+	not first_pseudo_register.
+
+Sun Aug 19 17:48:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* explow.c (plus_constant): If adding to constant pool constant,
+	return a new one.
+
+	* genattrtab.c: Need not include insn-config.h.
+
+Sun Aug 19 17:23:10 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-hp9k320bsd.h (CPP_SPEC): Def __HAVE_68881__ like __HAVE_FPU__.
+
+	* Makefile.in (USE_ALLOCA): Test was backwards.
+	(USE_HOST_ALLOCA): Likewise.
+
+Sun Aug 19 09:58:16 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* stmt.c: Fixes from 2.0 for fixup_goto incorporated here.
+
+	* cplus-decl2.c (write_vtable_entries): Don't test TREE_EXTERNAL
+	of DECL_CONTEXT (FN).  TREE_EXTERNAL is not meaningful for types.
+
+Fri Aug 17 22:14:09 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (emit_cmp_insn): Don't abort after floating lib cmp.
+
+Thu Aug 16 23:16:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c (assemble_variable, assemble_static_space): Don't
+	call data section if -fshared-data.  If this section is needed,
+	it should be entered from elsewhere, and this is believe to be
+	done in all known cases.
+	(output_constant_pool): Add support for ASM_OUTPUT_SPECIAL_POOL_ENTRY
+	which writes certain constant pool entries specially; used for TOC
+	on RS/6000.
+	(assemble_external_libcall): New function.
+	* expr.c (emit_library_call): Call it.
+
+	* reorg.c (mark_target_live_regs): Don't follow around infinite loops.
+
+	* varasm.c (struct rtx_cont): Don't use enums in bit fields if
+	ONLY_INT_FIELDS is defined.
+
+	* cse.c (remove): Rename to remove_from_table to avoid conflict
+	with `remove' defined in stdio.h.
+
+Thu Aug 16 22:44:35 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* stmt.c: fixup_gotos must ignore blocks started after the goto.
+	(block_start_count): New variable, and slot in some structures.
+	(expand_function_start): Initialize it.
+	(expand_start_bindings): Increment it and store in struct nesting.
+	(expand_goto): Store it in struct goto_fixup.
+	(fixup_gotos): Compare fixup's count with block's count.
+	(save_stmt_status, restore_stmt_status): Handle block_start_count.
+	* function.h (struct function): Make slot to save it.
+
+Thu Aug 16 18:02:03 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* obtabs.c (expand_fix, expand_float): Support direct conversion
+	between SFmode and fixed modes by library call.
+
+Wed Aug 15 18:36:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cccp.c (main): Allow -M to work on .s files by checking for .s
+	and .S suffixes when writing dependencies.
+
+	* reorg.c (optimize_skip, fill_eager_delay_slots, try_host_target):
+	Don't need to call can_reverse_comparison_p because invert_jump is
+	safe for floating-point; only reverse_condition isn't.
+
+Wed Aug 15 15:50:36 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* dbxout.c (dbxout_type): Skip past const and volatile qualifiers
+	that might appear in method names.
+
+Wed Aug 15 15:44:17 1990  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-parse.y (hash, is_reserved_word): Use __inline.
+
+	* cccp.c (main): Support -dN and -dD.  Support -lint.
+	(dump_macros): Two new alternatives.
+	(handle_directive): Output macro definitions if -dN or -dD.
+	(rescan): Check comments if -lint.
+	(get_lintcmd): New subroutine.
+
+	* c-decl.c (c_decode_option): Handle -fshort-double.
+	(init_decl_processing): Create double_type_node accordingly.
+
+	* c-decl.c (c_decode_option): Handle -Wno...
+
+Tue Aug 14 23:10:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* explow.c (break_out_memory_refs): Don't break out reference if
+	constant but not legitimate constant for a machine insn.
+	(memory_address): Only put legitimate constants, rather than all
+	constants, into registers if they are used as an address.
+
+Tue Aug 14 14:34:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* reorg.c (steal_delay_list): Can't put something in a
+	non-annulled delay slot that can trap.
+
+	* tm-i860.h (GO_IF_LEGITIMATE_ADDRESS): Typo testing offset alignment.
+
+	* cccp.c (do_assert, do_unassert, check_assertion): New functions.
+	(compare_keyword_lists, read_keyword_list, free_keyword_list):
+	New functions.
+	* cexp.y (yylex): Allow `#' as token.
+	Return name and length of symbol.
+	(keywords): New nonterminal.
+	(expr): Recognize # to test an assertion.
+	(U_CHAR, struct arglist): Data types copied from cccp.c.
+	(%union): New alternatives `keywords' and `name'.
+
+Mon Aug 13 22:26:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-romp.h (SLOW_BYTE_ACCESS): Set to 0.
+
+	* expmed.c (store_bit_field, extract_bit_field): Use get_best_mode
+	to select mode to use for accessing memory when bitfield insns don't
+	accept memory.
+
+	* c-common.c (rewrite_for_merged_ref, make_merged_ref): Deleted.
+	(merge_component_comparisons): Delete from here.
+	* c-tree.h (merge_component_comparisons): No longer global.
+	* c-convert.c (build_binary_op_nodefault): Don't try to merge component
+	references here; now done in fold.
+	* cplus-typeck.c (build_binary_op_nodefault): Likewise.
+	* Makefile.in (fold-const.o): Now includes flags.h.
+	* fold-const.c: Likewise.
+	(STRIP_NOPS): New macro.
+	(decode_field_reference, all_ones_mask): New functions.
+	(merge_component_references): Put rewritten version here.
+	This fixes bugs in the way that comparisons with non-equal
+	constants (!p->a && p->b) are handled and in endianness checking.
+	Also accepts more general comparisons, and, in particular, its
+	own output so more than a pair of operations can be merged.
+	(fold): Call it for TRUTH_{AND*,OR*}_EXPR.
+
+	* tree.def (BIT_FIELD_REF): New tree code.
+	* expr.c (get_inner_reference): Support BIT_FIELD_REF.
+	If bitfield is a complete mode-sized unit, return that mode; if it
+	is a subset of bits within a mode-sized unit, return VOIDmode.
+	(expand_assignment): Check for BIT_FIELD_REF.
+	Use mode returned from get_inner_reference to see if bit field.
+	(store_constructor): Likewise.
+	(store_field): Don't pass arg BIT_FIELD; use MODE == VOIDmode
+	instead.  All callers changed.
+	(expand_expr, case BIT_FIELD_REF): New case.  Handled same as
+	COMPONENT_REF.
+	Use mode returned from get_inner_reference rather than DECL_BIT_FIELD.
+	(expand_increment): Must stabilize BIT_FIELD_REF.
+	(do_jump, case NOP_EXPR): Check for inner BIT_FIELD_REF and ARRAY_REF.
+	(do_jump, case COMPONENT_REF): Generalize to handle BIT_FIELD_REF
+	and some ARRAY_REFs also.
+	* fold-const.c (operand_equal_p): Handle BIT_FIELD_REF.
+	* tree.c (staticp): Rework to use switch instead of if-then-else.
+	Add support for BIT_FIELD_REF.
+	(stabilize_reference, simple_cst_equal): Support BIT_FIELD_REF.
+
+	* c-common.c (truthvalue_conversion): Rework to use switch rather
+	than if-then-else.
+	Generate either TRUTH_{OR*|AND*}_EXPR or comparison operations as
+	much as possible.
+	Handle REAL_CST, ADDR_EXPR, ABS_EXPR, FLOAT_EXPR, FFS_EXPR,
+	LROTATE_EXPR, RROTATE_EXPR, BIT_XOR_EXPR, and MINUS_EXPR.
+	Call fold for COND_EXPRs that we make.
+	* c-convert.c (build_unary_op): invert_truthvalue can't return 0,
+	so don't check for it.
+	(invert_truthvalue): Delete from here.
+	(convert_to_integer, build_conditional_expr): Try to fold COND_EXPR.
+	* c-plus-cvt.c (convert_to_integer): Likewise.
+	* cplus-typeck.c (build_conditional_expr): Likewise.
+	(build_unary_op): invert_truthvalue can't return 0.
+	(invert_truthvalue): Delete from here.
+	* fold-const.c (invert_truthvalue): Move to here.
+	Don't invert floating-point test.
+	Look inside conversions.
+	Use recursive call to negate inside logical operations rather than
+	building a TRUTH_NOT_EXPR.
+	Allow only certain TREE_CODEs as operands; abort for the rest.
+	(fold_convert): Accept second argument that is item being
+	converted to ensure that NOPs have been stripped.
+	(operand_equal_p): Return 0 if either operand has side effects.
+	If both integer or real constants, check the values.
+	Do a more thorough test to see if two items are identical;
+	specifically, compare the operands of simple TREE_CODEs.
+	(omit_one_operand, distribute_bit_expr): New functions.
+	(make_bit_field_ref, optimize_bit_field_compare): Likewise.
+	(fold): Remove LOSES; now done explicitly or by calling
+	omit_one_operand.  Some previous uses weren't needed.
+	Try to fold any COND_EXPRs and some COMPOUND_EXPRs we make.
+	Remove pair of NEGATE_EXPRs and BIT_NOT_EXPRs.
+	Convert "- (a - b)" to "b - a" for non-floating-point.
+	ABS_EXPR applied to ABS_EXPR or NEGATE_EXPR is ABS_EXPR of inner arg.
+	Convert "a + (-b)" to "a - b" and "a - (-b)" to "a + b".
+	If adding ANDs with constants that have no bits, in common, try
+	bitwise-or, since we may then be able to distribute the operation,
+	e.g., (a & 7) + (a & 0x70) -> a & 0x77.
+	Add missing last arg to operand_equal_p call.
+	Call distribute_bit_expr for BIT_AND_EXPR and BIT_IOR_EXPR.
+	Exclusive-or with all ones is bit negation.
+	If second arg of BIT_AND_TC_EXPR is constant, convert to BIT_AND_EXPR.
+	Handle TRUTH_NOT_EXPR by calling invert_truthvalue.
+	Call optimize_bit_field_compare for comparisons of bitfields.
+	Handle "a ? 1 : 0" and "a ? 0 : 1" as test or negated test.
+	Simplify "a & 4 ? a & 4 : 0" and "a ? a : 0" to remove conditonal.
+	* stor-layout.c (get_best_mode): New function.
+	* machmode.h: Define it.
+	* tree.c (integer_pow2p): New function.
+	* tree.h: Declare new functions and functions no longer static.
+
+Mon Aug 13 17:45:13 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* config.gcc (sun3-mach): New alternative.
+	* tm-sun3mach.h: New file.
+
+	* m68k.md (bfextu patterns): Set CC_NOT_NEGATIVE.
+
+Mon Aug 13 10:14:37 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl2.c (flag_minimal_debug): Now is default is
+	-fflag-minimal-debug.
+
+	* cplus-tree.c (virtual_member): Return the assoc of a non-virtual
+	basetype that comes from a virtual baseclass.  Changed callers
+	which used to call `value_member' to call virtual_member instead.
+
+Mon Aug 13 06:54:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (expand_twoval_binop): Fix typo.
+
+	* cse.c (lookup_as_function): Don't assume CODE is a unary
+	operation.  It might be a binary op or REG.
+
+Sun Aug 12 21:42:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Don't abort if first arg of
+	COND_EXPR isn't a comparison; just suppress the do_store_flag call.
+
+Sun Aug 12 14:26:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (enum built_in_function): Delete comma after last name.
+	* c-parse.h (enum rid): Likewise.
+	* expr.h (enum optab_methods): Likewise.
+	* stab.h: Add dummy enum name at end.
+
+	* config.gcc (genix): Set tm_file.
+	* tm-genix.h (ASM_OUTPUT_DOUBLE): New overriding definition.
+
+	* tree.h (struct tree_type, struct tree_decl): Handle ONLY_INT_FIELDS.
+	* rtl.h (struct rtx_def): Likewise.  That macro goes in xm-*.h.
+
+Sat Aug 11 16:56:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cplus-decl.c (finish_function): Check value of HAVE_return before
+	calling gen_return.
+
+	* reorg.c (optimize_skip): Don't reject skip when we jump around an
+	insn and merge at the return point.
+
+Fri Aug 10 17:00:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* dbxout.c (dbxout_parms, dbxout_reg_parms): Ignore nameless parms.
+	* sdbout.c (sdbout_parms, sdbout_reg_parms): Ignore nameless parms.
+
+Fri Aug 10 14:14:08 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (indirect_operand): Modes need not agree if MODE == VOIDmode;
+	remove test from here since it is in memory_operand, which this calls.
+
+Thu Aug	 9 15:19:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (store_parm_decls): If function has variable number of args,
+	put a dummy decl at end of parmlist.
+	* c-parse.y (unary_expr): Handle &... with address of dummy decl.
+
+	* tm-*.h (LEGITIMIZE_ADDRESS): Go to WIN instead of returning.
+
+	* cccp.c (handle_directive): Add code to support `# DIGIT'
+	but disable it for the time being.
+
+	* tm-hp9k320.h (CPP_SPEC): Define _HPUX_SOURCE if not ANSI.
+	(CPP_PREDEFINES): Don't define it here.
+	Do define alternatives with __ prepended.
+
+Wed Aug	 8 14:00:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-romp.c: Don't include hard-reg-set; already in insn-output.c.
+	 
+	* explow.c: insn-flags.h is needed to see if "probe" insn exists.
+	* Makefile.in (explow.o): Likewise.
+
+Wed Aug	 8 13:35:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (check_macro_name): Warn if name is `defined'.
+
+	* tm-sun386i.h (ASM_IDENTIFY_GCC): If profiling, put a NOP after
+	gcc_compiled.
+
+Tue Aug	 7 23:51:38 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c (main): Handle -W options like -f options.
+	This supports -Wnounused, and such like.
+	(warn_uninitialized): New variable, controls those warnings.
+	Set it for -Wuninitialized, and for -W.
+
+Tue Aug	 7 13:24:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genextract.c (walk_rtx): Fix typo in MATCH_PARALLEL case.
+
+	* explow.c (allocate_dynamic_stack_space): Pass size of allocated stack
+	to gen_probe.
+
+Tue Aug	 7 12:19:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* pyr.md (extendsfdf2, truncsfdf2, float*, fix*): Use `&'.
+
+Tue Aug	 7 07:13:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (find_cross_jump): Include a USE or CLOBBER in cross jump
+	but don't count it against minimum size.
+	Never return when cross-jump hasn't actually been done.
+
+Mon Aug	 6 18:50:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c: Include regs.h.
+	(decode_reg_name): Remove extern for reg_names; it is in regs.h.
+	* Makefile.in (varasm.o): Depends on regs.h.
+
+Mon Aug	 6 12:46:07 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Don't warn if initialized fcn is extern.
+	(start_decl): Don't warn at all for initialized extern.
+
+	* final.c (final_start_function): Handle PROFILE_BEFORE_PROLOGUE.
+	(profile_function): New subroutine.
+
+	* tm-i386sco.h: New file.
+	* config.gcc (i386-sco): New alternative.
+
+	* gcc.c (ENDFILE_SPEC): New macro.
+	(do_spec_1): Handle %E.
+	(link_spec): Use %E.
+
+	* xm-i386.h (alloca): Define without arg.
+
+	* Makefile.in (stage*): Use RANLIB_TEST.
+	(LIMITS_H): New variable.
+	(USER_H): Use that.
+	* make-i386sco: New file.
+
+Sun Aug	 5 13:11:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h: Delete all machine mode defns; include machmode.h instead.
+	* tree.h: Likewise.
+	* machmode.h: New file.
+	* stor-layout.c: No longer include rtl.h.
+	* Makefile.in: (RTL_H, TREE_H): Add machmode.h.
+	(stor-layout.o): No longer depends on RTL_H.
+
+	* c-common.c  (binary_op_error, shorten_compare): Should no longer
+	have been static when moved here.
+
+Sun Aug	 5 12:57:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_record, layout_union): Test value of 
+	PCC_BITFIELD_TYPE_MATTERS for being nonzero, if it is defined.
+	* tm-*.h: Define with value 1.
+	* tm-vax.h (PCC_BITFIELD_TYPE_MATTERS): Depends on -mvaxc-alignment.
+
+	* proto.h: New file.
+	* Makefile.in (USER_H): Add that file.
+
+Sun Aug	 5 00:04:08 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl2.c (grokfield): It is no longer legal to specify
+	the initializer for a static const member in the class
+	declaration.  Dealing with default initializers is basically
+	impossible.
+
+	* cplus-init.c (build_delete): Don't wrap `addr' in a SAVE_EXPR
+	until it is in fact an address.	 This allows us to call
+	destructors on the return values of function calls.
+
+	* cplus-typeck.c (commontype): Fixed bug in OFFSET_TYPE case which
+	led to infinite recursion (since we did not reduce the types
+	before we recursed).
+
+	* cplus-lex.c (check_newline): Make `#pragma implementation' more
+	forgiving.
+
+	* cplus-init.c (expand_aggr_init): Changed Jan 20th change so that
+	we test whether TYPE has a constructor defined, and we do not test
+	at all whether INIT was from a GNU constructor expression or not.
+
+	* cplus-typeck.c (build_modify_expr_1): Don't return
+	`error_mark_node' unless there really was an error.  If there is
+	no work to do, return `integer_zero_node'.
+
+	* cplus-class.c (propagate_basetype_offsets): Count the space
+	between baseclasses, not just the space they occupy.
+
+	* cplus-typeck.c (commontype): Don't drop the exceptions that are
+	raised by functions and methods.
+
+	* cplus-cvt.c (convert_to_real): Fix if/else level problem in
+	case where EXPR is of aggregate type.
+
+	* cplus-decl.c (finish_decl): Emit a line-number note to give
+	users a chance to set a breakpoint before the initialization of an
+	object takes place.
+
+	* cplus-class.c (build_method_call): If the function we get is not
+	directly from the object we have, call `convert_pointer_to' if the
+	object uses multiple inheritance or virtual baseclasses.
+
+	* cplus-typeck.c (build_binary_op_nodefault): Don't call
+	`convert_to_pointer' with an argument that might be
+	the integer zero.
+
+	* cplus-method.c (hack_identifier): Look for DECL_REFERENCE_SLOT
+	in RESULT_DECLs as well.
+
+	* cplus-init.c (build_vec_delete): Don't forget to deallocate the
+	container if requested.	 Really use AUTO_DELETE and
+	AUTO_DELETE_VEC with the same interpretation as `build_delete'
+	gives to its AUTO_DELETE parameter.
+
+Sat Aug	 4 22:08:44 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (find_cross_jump): Use prev_nonnone_insn.
+	Don't cross-jump into the middle of a USE-CALL_INSN-CLOBBER
+	block; doing so can confuse reorg.c.
+
+	* optabs.c (expand_binop, expand_binop, expand_twoval_binop):
+	If predicate doesn't match, ensure that operand is in a pseudo
+	register.  Current code assumes that any register will suffice,
+	but an insn may want to reject certain hard registers.
+	(expand_unop, emit_unop_insn, emit_cmp_insn): Likewise.
+
+Sat Aug	 4 15:29:09 1990  Michael Tiemann  (rms at sugar-bombs.ai.mit.edu)
+
+	* function.c (assign_parms): For parms passed by reference,
+	make the memory object's mode agree with the parm's original
+	type mode.
+	* calls.c (expand_call): Fixed braino in building argument
+	reference when FUNCTION_ARG_PASS_BY_REFERENCE is defined.
+
+	* varasm.c (assemble_variable): Hack our way around the problem
+	that static class members look like initialized variables for the
+	purposes of establishing FIRST_GLOBAL_OBJECT_NAME.
+
+	* cplus-lex.c (reinit_parse_for_method): Give error message for
+	common mistake of forgetting the function body.
+
+	* cplus-typeck.c (build_component_ref): Make better error message
+	when field is not found.
+
+	* cplus-class.c (finish_struct): TYPE_GETS_*_INIT_REF comes from
+	members as well.
+
+	* cplus-typeck.c (c_expand_return): Give warning about returning
+	non-lvalues that come from functional casts.
+
+	* cplus-search.c (get_base_distance): Changed to follow leftmost
+	path only when PARENT == TYPE_MAIN_VARIANT (PARENT).
+
+	* cplus-class.c (modify_vtable_entries): Call get_base_distance
+	with 0 path_ptr, since we do not appear to use the path computed.
+
+Fri Aug	 3 07:37:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* final.c (leaf_function_p): Delete line advertently retained
+	after change of July 29.
+
+	* reorg.c (optimize_skip, try_hoist_target): Don't invert jump
+	unless can_reverse_comparison_p says it is OK.	Use invert_jump
+	to do it.
+	(fill_simple_delay_slots): Another way flow of control can merge is
+	for two insns to jump to the same place; try to get insns from there.
+	(mostly_true_jump): Return 2 for a jump very likely to be true (the
+	branch back to the start of a loop).
+	(fill_slots_from_thread): Accept new arg LIKELY.  If true, see if can
+	put increment in delay slot and undo it after the end of the loop.
+	(fill_eager_delay_slots): Pass new arg to fill_slots_from_thread.
+	If previous insn is conditional jump that also didn't get a delay
+	slot, see if swapping targets helps.
+
+Fri Aug	 3 00:18:35 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (MAKE_POS): Avoid constant of uncertain signedness.
+
+	* gnulib2.c (__bb_init_func): Add dummy function to prevent warning.
+
+Thu Aug	 2 17:44:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* output.h (current_function_return_rtx): Add new variable.
+	* function.h (return_rtx): Likewise.
+	* function.c (push_function_context, pop_function_context): Save
+	and restore current_function_return_rtx.
+	(assign_parms, expand_function_start): Set current_function_return_rtx
+	to what is put in DECL_RTL (DECL_RESULT (current_function_decl)).
+	* reorg.c: No longer uses tree.h.
+	(dbr_schedule): Get result RTL from current_function_return_rtx instead
+	of reading it from current_function_decl.
+	* Makefile.in (reorg.o): No longer depends on TREE_H.
+
+	* cse.c (remove_invalid_refs): Only invalidate an entry if it 
+	references the actual register, not merely something sharing its
+	quantity.
+	(cse_insn): Don't abort if SRC and SRC_EQUIV map to different
+	hash classes.  Merge them instead.
+
+	* romp.md (mulsi3): Emit call to lmul$$ as a regular insn
+	rather than a CALL_INSN.
+	(divsi3, modsi3, udivsi3, umodsi3, call_libfcn): Deleted.
+	(divmodsi4, udivmodsi4): New patterns to call ldiv$$ and uldiv$$
+	as a normal insn to allow CSE'ing of MOD with DIV.
+
+Wed Aug	 1 21:56:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (yylex): Don't warn about non-decimal unsigned by default
+	if `u' was specified.  Add similar warning for long and long long.
+
+Tue Jul 31 23:31:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-encore.h (FUNCTION_PROFILER): Override, putting `.' in label.
+
+	* xm-vms.h (const): Delete the definition.
+
+Mon Jul 30 18:33:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (convert_for_assignment): Normally no warning
+	between char * and unsigned char *, etc.
+	(convert_arguments): Include arg number in incomplete type warning.
+
+Mon Jul 30 07:38:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (invert_jump): Don't do anything with labels if NLABEL 
+	equals JUMP_LABEL.
+	(redirect_jump): Don't try to reference LABEL_NUSES if olabel is
+	zero (meaning this is a return insn).
+	(redirect_exp): Handle case of converting return to jump to
+	label.
+
+	* dbxout.c (dbxout_parms): Allow parameter at zero offset from
+	AP to be represented as (MEM (REG ...)).
+	* sdbout.c (sdbout_parms): Likewise.
+
+Sun Jul 29 22:51:00 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (expand_twoval_binop_convert): Deleted.
+	(expand_twoval_binop): Rework to be handle predicates, modes, and
+	failures in a manner consistent with expand_binop.
+	Move code from expand_twoval_binop_convert inline and rework to
+	no longer hard-wire SImode and to handle failure.
+
+	* config.gcc: Finish change of July 24th to have make_var_file depend
+	on host machine.
+
+	* jump.c: Now includes insn-flags.h.
+	(jump_optimize): Try to put a RETURN at the end of the function if
+	control flows through to it.
+	JUMP_LABEL can now be zero for a RETURN or conditional RETURN.
+	Try to convert jump to end of function into (possibly conditional)
+	RETURN.
+	Use next_active_insn instead of next_real_insn; these do the same
+	thing prior to reload, after which USE and CLOBBERs don't matter.
+	redirect_jump may now fail so don't set CHANGED if it does.
+	Delete optimization of jump to RETURN; now subsumed by follow_jumps.
+	Reset INSN_CODE if changing conditional jump to unconditional.
+	(cond_jump_p): Conditional RETURN is conditional jump.
+	(follow_jumps): Change argument name to AFTER_RELOAD.
+	If not after reload, do not chain across a USE or CLOBBER.
+	Recognize RETURN insns.
+	(tension_vector_labels): Likewise.
+	(redirect_jump, redirect_exp): If NLABEL is zero, turn JUMP into a
+	(possibly conditional) RETURN; use validate_change to see if such an
+	insn exists. 
+	Now returns non-zero if succeeds, 0 otherwise.
+	Unconditional RETURN looks like (RETURN), not (SET (PC) (RETURN)).
+	(thread_jumps): Ignore any type of RETURN insn.
+	* Makefile.in (jump.o): Depends on insn-flags.h.
+	* loop.c (strength_reduce): Don't confuse conditional return with
+	jump to top of loop when LOOP_TOP == 0.
+	* final.c (leaf_function_p): No longer static; no longer takes an arg.
+	(final_start_function): Don't pass START to leaf_function_p.
+	* romp.md (return pattern): Convert to a named pattern.
+
+Sun Jul 29 16:05:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-vms.h (ASM_OUTPUT_EXTERNAL): Check TREE_READONLY.
+
+	* xm-vms.h (alloca): Use built-in alloca.
+
+Sun Jul 29 06:47:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (fill_slots_from_thread): Restore inadvertantly deleted
+	lines.
+
+Fri Jul 27 19:53:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (reorg.o): Depends on tree.h, basic-block.h, regs.h,
+	and output.h
+
+Fri Jul 27 16:30:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (assemble_variable): Handle ASM_OUTPUT_SHARED_COMMON
+	and ASM_OUTPUT_SHARED_LOCAL.
+
+	* tm-encore.h (SHARED_SECTION_ASM_OP): New macro.
+	(ASM_OUTPUT_SHARED_COMMON, ASM_OUTPUT_SHARED_LOCAL): New.
+	All this waiting for papers from pabuhr@watmsg.waterloo.edu.
+
+Fri Jul 27 16:10:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* make-romp (CC): Set up to allow use of hc.
+
+Fri Jul 27 15:07:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (subst): Handle (ASHIFT 1 x) in (EQ (AND ... y) 0)
+	only if little-endian.
+
+Thu Jul 26 23:19:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (expand_shift): Consistently call protect_from_queue
+	before doing anything else.
+	Always put operand1 of extzv into a register because it is SImode
+	and we assume that this means a register.
+
+Thu Jul 26 14:18:11 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c (assemble_variable): Delete dead code.
+	DATA_ALIGNMENT takes tree and current alignment and gives new
+	alignment for a non-automatic variable of that type.
+	Also apply CONSTANT_ALIGNMENT to the initial value; it now takes
+	the constant and old alignment and gives the new alignment.
+	Adjust DECL_ALIGN to the resulting alignment.
+	Use floor_log2 consistently instead of duplicating its function.
+	(get_or_assign_label): Use CONSTANT_ALIGNMENT instead of DATA_ALIGNMENT
+	and pass type instead of decl.
+	* expr.c (get_pointer_alignment): Rework to: distinguish reliably
+	between expressions giving the address and those giving the item being
+	addressed; use the alignment from the type of the object being
+	pointer to; return 0 if the type is not a pointer; and other 
+	miscellaneous changes.
+	(string_constant): Skip CONVERT_EXPR and NON_LVALUE_EXPR as well
+	as NOP_EXPR.
+	(expand_builtin): Allow get_pointer_alignment to fail, in which case
+	we call the actual function.
+	* stmt.c (expand_decl): Set actual alignment obtained into DECL_ALIGN
+	since it may be better aligned than required and get_pointer_alignment
+	can take advantage of this.
+	* tm-gmicro.h, tm-pyr.h, tm.romp-h: Add or replace definitions of
+	CONSTANT_ALIGNMENT to word-align string constants and
+	DATA_ALIGNMENT to word-align character arrarys for builtin memory
+	functions.
+
+	* fold-const.c (rshift_double): Reset carry after each shift of
+	one bit.
+
+	* vax.md (ashrsi3): If right shift by constant, emit as ASHIFTRT.
+	(ashrsi3_const): New pattern  to match it.
+	(casel): Delete patterns no longer needed.
+	* cse.c (cse_insn): Remove unneeded part of change of July 23.
+	(fold_rtx): Convert shift with negative constant count to shift in
+	the opposite direction.
+	* combine.c (subst): Likewise.
+
+	* emit-rtl.c (init_emit_once): Initialize arg_pointer_rtx before
+	struct pointer and static chain values in case they want to use it.
+
+Thu Jul 26 12:31:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* final.c (final_scan_insn): Align label table to boundary appropriate
+	for items of its size.
+	(get_attr_length, shorten_branches): Allow for label table alignment.
+
+Wed Jul 25 15:06:44 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Handle uses of _IO* followed by spaces.
+	Change redirections for cd when testing that directory exists.
+
+	By Tiemann:
+
+	* emit-rtl.c (next_cc0_user): Handle insns in which cc0
+	is set and used in the same insn.
+
+	* final.c (leaf_function_p): Look inside INSNs which contain
+	a delayed-call sequence.
+	(final_start_function): Test `only_leaf_regs_used' before
+	`leaf_function_p', since that is likely to be faster.
+	(final_scan_insns): Normally we don't have NOTICE_UPDATE_CC
+	take action when processing the path of an annulled branch,
+	since that path does not affect the cc's of the fall-through
+	insns at all.  However, we cannot always ignore the effect of
+	the cc's when processing a delayed annulled branch: when the
+	delayed annulled branch follows a label and carries a
+	REG_CC_STATUS note, that note must be processed.
+
+	* genattr.c (main): Generate #defines for annulled branches
+	which are consistent with documentation.
+
+	* reorg.c: Finish recent rework by modifying code specific to
+	machines that have annulling branches.
+
+	* c-common.c (merge_component_comparisons): Previous logic did
+	not handle cases of (A == 1) && (B == 1), (A != 0) && (B != 0),
+	and (A != 1) || (B != 1).  Fixed by expanding the logic out
+	longhand and letting the compiler do the proper cross-jumping.
+
+	* tm-vms.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
+
+	* expr.c (expand_expr): For BIND_EXPR, do the init for all vars.
+
+	* stupid.c: Include flags.h.
+	* genrecog.c (main): Make insn-recog.c include flags.h.
+
+Sun Jul 22 12:04:43 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-except.c (cplus_expand_end_except): If the user gives a
+	default handler, the exception is considered caught in that
+	handler.
+	* cplus-parse.y (except_stmts): Rest of fix went here, in DEFAULT
+	case.
+
+	* cplus-decl.c (finish_decl): Don't emit cleanups twice.
+
+	* cplus-class.c (finish_struct_bits): Don't call
+	`fixup_vbase_offsets'.
+	* cplus-tree.c (fixup_vbase_offsets): #if 0 this function.
+
+	* cplus-cvt.c (build_default_binary_type_conversion): Handle
+	arguments which are REFERENCE_TYPE.
+
+	* cplus-method.c (prepare_inline): Set DECL_CONTEXT of this
+	function's parameters.
+
+	* cplus-decl.c (grokfndecl): When adding a new virtual function
+	entry, RAISES may change a second time.
+
+Thu Jul	 5 10:44:39 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl2.c (grokfield): Static consts need not be initialized
+	in the class definition.
+
+Mon Jul	 2 06:12:49 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-init.c (resolve_offset_ref): If BASETYPE is not a base
+	type for the current class, give error and return.
+
+Sun Jul	 1 00:18:47 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (finish_function): Throw away more code if we have
+	an inline function from the interface.
+
+	* cplus-class.c (add_virtual_function): Set DECL_VINDEX from the
+	virtual function which comes from the vtable shared by
+	CURRENT_CLASS_TYPE, if possibe.
+
+	* cplus-typeck.c (build_binary_op): Call `default_conversion'
+	after doing type instantiation.
+
+	* cplus-init.c (build_new): New 2.0 interpretation: `new int (10)'
+	means allocate an int, and initialize it with 10.
+
+	* cplus-init.c (emit_base_init): Completion of fix for virtual
+	function table initialization.	@@ BTW, this may now cause extra
+	virtual function table initializations.	 They will all be correct,
+	but they may also be redundant.	 GCC's optimizer doesn't know how
+	to remove even the simplest such redundancy.
+
+Sat Jun 30 13:54:30 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (finish_base_struct): Store BASETYPE in the
+	VFIELDS chain (in its TREE_TYPE).
+
+Fri Jun 29 09:26:17 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (build_vtable,prepare_fresh_vtable): Stash the
+	type that caused this vtable to be defined in DECL_CONTEXT
+	* cplus-search.c (bfs_unmark_finished_struct): Work around
+	DECL_CONTEXT conflict for vtables.  @@ NOT A SOLUTION.
+
+	* cplus-lex.c: Extend meaning of `#pragma implementation'
+	to allow files to `implement' types from general headers.
+
+Tue Jul 24 22:18:23 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c: Major rework.  Changes includes:
+	(mark_target_live_regs): Scan code to compute which registers are
+	live at particular insns.  Uses tables created by flow, REG_DEAD
+	notes, and registers set before they are used.
+	(emit_delay_sequence): Always write SEQUENCE as INSN.  Many routines
+	changed to reflect this.
+	(fill_simple_delay_slots): Loop for merge point when target of jump
+	comes back to fallthrough code.	 Try to get insns from there.
+	(fill_eager_delay_slots): Fallthrough and target case merged into new
+	function fill_slots_from_thread.
+
+	* tm-romp.h, romp.md, out-romp.c, xm-romp.h, make-romp: New files to
+	support the ROMP microprocessor, used in the IBM PC RT.
+
+	* recog.c (comparison_operator): New function.
+
+	* jump.c (jump_optimize): If putting constant into register, see
+	if it is already present in the register.
+
+Tue Jul 24 15:35:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault): Allow compare of any
+	pointer with const void *, etc.
+
+Tue Jul 24 17:10:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (get_inner_reference): New function.
+	(expand_assignment): Use it to find out about our target.
+	(expand_expr, case COMPONENT_REF): Likewise.
+	(expand_expr, case COND_EXPR): If can do store-flag, convert
+	X ? A+1 : A to A + (X!=0); fold-const made the former from the latter.
+	Only create label when we know we will need it.
+	Simplify unnessarily complex call to safe_from_p.
+	(expand_expr): Make new variable UNSIGNEDP and use it instead
+	of TREE_UNSIGNED (type).  Also, consistently use existing
+	variable TYPE instead of TREE_TYPE (exp) and similarly for MODE.
+
+Tue Jul 24 13:50:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (collect_expansion): Error if ## at beg or end.
+
+	* c-decl.c (grokdeclarator): Error for long, etc. with nonarith type.
+	Error for signed or unsigned with floating type.
+	Error for initialized parm.
+
+	* config.gcc: Make make_var_file depend on host machine, not target.
+
+Tue Jul 24 13:40:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c (decode_reg_name): Make TABLE static for non-GCC compilers.
+
+	* c-typeck.c (type_for_size, type_for_mode): Delete from here.
+	(binary_op_error, shorten_compare, truthvalue_conversion): Likewise.
+	* cplus-typeck.c: Delete second copy from here.
+	* c-common: Move above functions to here.
+
+Tue Jul 24 12:20:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (path_include): Fix typo in var name.
+
+Mon Jul 23 17:46:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* config.gcc: Remove redundant assignment to tm_file for 88000.
+	Fix typo when assigning to make_var_file.
+
+	* function.c (optimize_bit_field): Fix typo in change_address call.
+
+Mon Jul 23 16:59:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* varasm.c (decode_reg_name): Ignore % at beginning of name.
+	Support extra names defined by ADDITIONAL_REGISTER_NAMES.
+	* tm-i386.h (ADDITIONAL_REGISTER_NAMES): Define it.
+
+	* dbxout.c (dbxout_init): Handle new macros
+	ASM_OUTPUT_MAIN_SOURCE_FILENAME and ASM_OUTPUT_MAIN_SOURCE_DIRECTORY.
+	* sdbout.c (sdbout_filename): Handle ASM_OUTPUT_MAIN_SOURCE_FILENAME.
+
+Mon Jul 23 16:50:32 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-vax.h (NOTICE_UPDATE_CC): CALL clobbers CC if inside PARALLEL too.
+
+	* vax.md (call_value_pop): Fix typo in argument number.
+
+	* cse.c (cse_insn): Shift's aren't associative if in different
+	directions, even if same rtx_code.
+	Try to fold result of associating the operation in case it is now
+	trivial.
+
+	* jump.c (mark_modified_reg): New function.
+	(thread_jumps): Look at insns between target of first jump and the
+	second jump.  Mark any registers that they modify and record if they
+	modify memory.
+	Don't go past a CODE_LABEL.
+	If we pass an unconditional jump, follow it.
+	Use prev_nonnote_insn instead of explicit loop.
+	(rtx_equal_for_thread_p): Consult recorded information to see if
+	memory of registers were modified prior to second jump.
+	* Makefile.in (jump.o): Now needs hard-reg-set.h.
+
+Sat Jul 21 13:58:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (O_RDONLY): Define it if not defined.
+
+	* c-decl.c (finish_decl): No error for nonstatic incomplete array.
+
+Sat Jul 21 08:24:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* alliant.md (call patterns): Function address must be memory operand.
+	* convex.md, m68k.md, mips.md, ns32k.md, tahoe.md, vax.md: Likewise.
+
+Thu Jul 19 16:06:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (path_include): New function.
+	(main): Call that to handle CPATH envvar.
+
+	* varasm.c (assemble_variable): Error if size exceeds 2**32-1.
+
+	* emit-rtl.c (init_emit_once): Pass write_symbols to this function
+	(init_emit): Not this one.  All callers changed.
+
+Tue Jul 17 21:24:08 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (update_equiv_regs): Don't replace a register with
+	an equivalence if the insn making the equivalence has a source
+	different from the equivalent value.
+
+Tue Jul 17 16:47:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_block_move): Allow movstr* to fail.
+
+Tue Jul 17 15:19:18 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (change_address): Don't call memory_address if reload
+	is in progress, not just after it has completed.
+
+Mon Jul 16 00:34:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (can_reverse_comparison_p): New function.
+	(jump_optimize): In if (x) ... else x = 0; reverse comparison
+	if second operand of IF_THEN_ELSE is PC; use new function to
+	validate the reversal.
+	(jump_back_p): Use new function to see if safe to reverse comparison.
+
+Sun Jul 15 17:03:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Bug in last change; reject uncond jump
+	where conditional is expected.
+
+	* flow.c (mark_used_regs): Handle autoincrement for *p
+	followed by q = p+size (neither one dead).
+
+Sat Jul 14 22:37:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (subst): Remove (zero_extend (subreg)) around lshiftrt.
+	Remove (and...) from second arg of shift.
+	Remove (and...) from around shift.
+
+Sat Jul 14 21:35:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (update_equiv_regs): New function.
+	(local_alloc): Call it.
+	(block_alloc): Don't handle REG_EQUIV notes here; now done in
+	update_equiv_reg.
+	
+	* calls.c: Include insn-flags.h.
+	* Makefile.in (calls.o): Likewise.
+
+Sat Jul 14 13:28:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): Don't set DECL_FRAME_SIZE for builtins.
+
+	* vax.md (SImode bit-field patterns): Use nonmemory_operand.
+
+	* jump.c (jump_optimize):
+	For if (...) x = 1; else x = 0; x must be integer.
+
+	* gcc.c (default_compilers): Pass -P to cpp.
+
+Thu Jul 12 23:38:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED.
+
+	* sparc.md (call recognizers): Don't allow address arithmetic.
+
+Thu Jul 12 21:47:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (change_address): If reload has completed, don't call
+	memory_address.	 Instead, abort if address is not valid.
+
+Thu Jul 12 20:41:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* calls.c (emit_call_1): Handle vax, without call and call_value.
+
+Thu Jul 12 20:39:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (merge_equiv_classes): New function, from record_jump_equiv.
+	(record_jump_equiv): Use new function.
+	(gen_lowpart_if_possible): New function, based on gen_lowpart.
+	(cse_insn): In some cases of (set (subreg (FOO) 0) (BAR)), note
+	that (subreg BAR) is an equivalent of FOO.
+	* integrate.c (expand_inline_function): Likewise.
+
+	* combine.c (subst): Check for constant in merge of shift into
+	ZERO_EXTRACT.
+	(gen_lowpart_for_combine): Look for SIGN_EXTEND or ZERO_EXTEND:
+
+	* emit-rtl.c (gen_lowpart, gen_highpart): If passed a hard register,
+	return a new rtx for it in the proper mode, rather than a SUBREG.
+
+Wed Jul 11 17:05:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): If already have a REG_WAS_0 note, don't make
+	another one.
+	Rework some loops on SETs to eliminate duplicate code and clean up
+	a bit.
+
+	* rtlanal.c (refers_to_regno_p, reg_overlap_mentioned): Allow these
+	to work on pseudos as well as hard registers.
+
+	* optabs.c (emit_no_conflict_block): Use reg_overlap_mentioned
+	to see if register is mentioned in insn.
+
+Wed Jul 11 16:56:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Don't optimize jumps to store-flags
+	if after register allocation.  And don't do it if memref is used.
+
+Wed Jul 11 16:12:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c ({next,prev}_nonnote_insn, prev_label, prev_cc0_setter):
+	New functions.
+	({next,prev}_{real,active}_insn, next_label): Rework to allow
+	argument of zero; return zero in that case.
+	(next_active_insn, prev_active_insn): If reload is not yet complete,
+	do the same thing as next_real_insn and prev_real_insn.
+	(next_cc0_user): Fix some bugs and typos.
+
+	* rtlanal.c (reg_mentioned_p): Allow searches for labels to work.
+
+Wed Jul 11 12:25:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): In prev fix, use TREE_PUBLIC both times.
+
+Tue Jul 10 22:54:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* rtl.def (trap): New code.
+
+Tue Jul 10 17:48:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tree.c (integer_zerop, integer_onep, integer_all_onesp): Look inside
+	a NON_LVALUE_EXPR.
+	(real_zerop, real_onep, simple_cst_equal): Likewise.
+
+Tue Jul 10 17:05:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y, objc-parse.y, cplus-lex.c (yylex):
+	Terminate token_buf after integer.
+
+Mon Jul	 9 15:22:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (duplicate_decls): Correct test for extern followed by
+	static function declaration.
+
+Mon Jul	 9 14:13:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Move warning and error
+	about initializer with extern to the same place.  Do one or the other.
+
+	* rltanal.c (reg_mentioned_p): Don't look inside a CONST_DOUBLE.
+
+Sun Jul	 8 14:12:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* toplev.c (pedwarn, pedwarn_with_file_and_line, pedwarn_with_decl):
+	New functions.
+	(flag_pedantic_errors): New variable controls them.
+	* c-decl.c, c-parse.y, c-typeck.c: Use new functions for many warnings.
+	* varasm.c: Likewise.
+	* gcc.c (default_compilers): Pass -pedantic* to cc1, cpp, etc.
+	* cccp.c (pedwarn): New function.  Many calls to `warning' changed.
+
+	* c-common.c (c_expand_expr_stmt): New function.
+	Error about incomplete type moved here.
+	* expr.c (expand_expr): Error deleted from here.
+	* c-parse.y: Use c_expand_expr_stmt where suitable.
+
+	* flow.c (propagate_block): Set following_insn_dead on insn after test.
+	(mark_used_regs): Test that var; don't call insn_dead_p here.
+
+Fri Jul	 6 13:05:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (build_indirect_ref):
+	No error if result is incomplete array.
+
+	* expmed.c (store_bit_field, extract_bit_field): New arg TOTAL_SIZE.
+	Don't extract a bigger unit from memory than this.
+	* expr.c: Callers changed.
+	(store_field): New arg TOTAL_SIZE; callers changed.
+
+	* out-ns32k.c (print_operand_address): Changes from Ian Dall.
+	* xm-ns32k.h: Use built in alloca.
+	* ns32k.md (ashlsi3): Don't forget to return a value.
+	(movsf): Output floating constants only if GAS_SYNTAX.
+	(call, call_value): Support JSR_ALWAYS.
+	Change handling of bsr if GAS_SYNTAX.
+	(bit test patterns): Use g constraint for op1 and rm for op0.
+
+Thu Jul	 5 21:53:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (build_c_cast): Don't do implicit arithmetic conversions.
+	* fold-const.c (fold): Don't combine two conversions if one is
+	signed and the other is unsigned.
+	* integrate.c (copy_parm_decls): Finish making last change.
+
+Thu Jul	 5 18:26:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (safe_from_p): If EXP is readonly memory, any memory location
+	is safe from it.
+
+Thu Jul	 5 15:05:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (__fixunsdfsi): Change > to >=.
+
+	* c-decl.c (start_struct, start_enum): Set C_TYPE_BEING_DEFINED.
+	(grokdeclarator): Don't warn of array if elt type being defined.
+
+	* c-typeck.c (build_conditional_expr): Handle ((void *) 0).
+	Allow 0 versus function pointer.
+
+Thu Jul	 5 08:05:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): If machine has post-increment, don't associate
+	PLUS operations if they are both adding the same constant that is
+	a power of two.	 Similarly for post-decrement.
+
+Wed Jul	 4 19:04:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* flow.c (mark_used_regs): Don't scan a comparison if the following
+	insn that uses the cc's is dead.
+
+	* flow.c (propagate_block): If cc-using insn is dead, so is previous.
+
+	* expmed.c (emit_store_flag): New function.
+
+Wed Jul	 4 18:45:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-typeck.c (common_type, comptypes, default_conversion):
+	Use TYPE_READONLY in type to indicate const type; use TREE_READONLY
+	in decl to indicate object will never change.
+	(build_unary_op, readonly_warning, build_modify_expr): Likewise.
+	(c_expand_asm_operands): Likewise.
+	* cplus-class.c (finish_struct_bits): Likewise.
+	* cplus-cvt.c (build_type_conversion): Likewise.
+	* cplus-type2.c (readonly_warning_or_error): Likewise.
+	* cplus-typeck.c (default_conversion, build_unary_op): Likewise
+	(build_modify_expr, c_expand_asm_operands): Likewise.
+
+	* cplus-cvt.c (popclass): When making INDIRECT_REF, don't set
+	TREE_READONLY from TYPE_READONLY.
+
+Wed Jul	 4 15:16:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Fix bugs in last change.
+
+Wed Jul	 4 07:52:53 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COMPONENT_REF): Delete extraneous test
+	for structure-value stack slot, which no longer exists.
+
+	* reload1.c (bad_spill_regs): Should be static.
+
+	* combine.c (subst, gen_lowpart_for_combine): Propagate
+	RTX_UNCHANGING_P when making a new MEM.
+	* c-typeck.c, cplus-typeck.c (build_indirect_ref): ANSI says that
+	de-reference of pointer-to-const is not readonly so don't set
+	RTX_UNCHANGING_P.
+	* explow.c (validize_mem): Use change_address so flags get copied
+	to new MEM.
+	* expr.c (convert_move, block_block_{to,from}_reg, emit_move_insn):
+	Likewise.
+	(do_tablejump): Set RTX_UNCHANGING_P in MEM accessing address table.
+	* function.c (optimize_bit_field, instantiate_virtual_regs_1):
+	Preserve flags when making new MEM.
+	* loop.c (invariant_p): Memory references to an invariant address
+	are invariant if RTX_UNCHANGING_P is set.
+	* recog.c (adj_offsettable_operand): Propagate RTX_UNCHANGING_P
+	when making new MEM.
+	* reload.c (find_reloads_toplev): Likewise.
+	* reload1.c (alter_reg): Stack slot is readonly if pseudo was.
+	(eliminate_regs): Propagate RTX_UNCHANING_P in new MEM.
+	* varasm.c (force_const_double_mem): Set RTX_UNCHANGING_P in new MEM.
+
+Tue Jul	 3 21:50:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (expand_and): New function.
+
+	* stmt.c (expand_expr_stmt): 
+	If value is volatile, fetch it and then ignore it.
+
+	* expr.c (expand_expr): Error if variable type is incomplete.
+
+	* c-decl.c (grokdeclarator): Don't warn of incomplete array in typedef.
+
+Tue Jul	 3 18:03:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold): Convert "(1 << foo) & bar" to "(bar >> foo) & 1"
+	In "(a & 1) != 0", can convert to simply "a & 1".
+	* combine.c (subst): Convert branch on sign bit to signed comparison
+	with zero (possibly adding a SUBREG).
+	Convert ZERO_EXTRACT of the low-order bit of a right shift into a
+	ZERO_EXTRACT of the proper bit.
+
+Mon Jul	 2 12:07:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c (jump_optimize): Convert conditionals for storing one
+	value into a store-flags insn.
+
+	* vax.md (call_pop, call_value_pop): New names for call patterns.
+	Include the popping explicitly in the rtl. 
+
+	* jump.c (jump_optimize): Delete case for condjump followed
+	by unconditional to same label; was special case of another case.
+	Switch back to next_active_insn or prev_active_insn in a few cases.
+
+	* function.c (init_function_start): Initialize
+	frame_pointer_needed to zero.
+
+	* i386.md (tstsf): Clobber reg 0 in SImode.
+
+Sun Jul	 1 14:31:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* jump.c: Use next_real_insn instead of next_active_insn.
+	Likewise for prev_active_insn.	USE insns make a difference!
+
+	* function.c (assign_stack_temp): Use largest alignment if BLKmode.
+
+	* stddef.h: Check __SIZE_T also.
+
+	* toplev.c: Include types.h first.
+
+	* i386.md (trunc*2): Don't allow moving symbolic constant to memory.
+	Use wider move only for symbolic constant.
+
+	* tm-convex.h (LINK_SPEC): Posix link flags.
+	* tm-convex.h (STARTFILE_SPEC): Posix start files.
+	* tm-convex[12].h (CPP_SPEC): Posix defines.
+	* tm-convex[12].h (LIB_SPEC): Posix libraries.
+	* tm-conv[12]os7.h: New files.
+	* config.gcc: use tm-conv*os7 if /usr/include/stdlib.h isn't there.
+
+	* xm-convex.h (S_IFMT, S_IFREG): make visible if hidden for posix.
+	* xm-convex.h (_PROTO): define to keep 8.0 includes from screwing up.
+
+	* tm-convex.h (ASM_OUTPUT_{FLOAT,DOUBLE}, PRINT_OPERAND):
+	  use %e instead of %#g, which is broken or non-posix.
+
+	* tm-convex.h (current_section_is_text): make extern.
+	* out-convex.c (current_section_is_text): define here.
+	* tm-convex.h (OVERRIDE_OPTIONS), out-convex.c (override_options):
+	  useless; remove.
+	* tm-convex.h (CPP_PREDEFINES): remove parsec, long gone from
+	  system includes.
+
+Sat Jun 30 14:01:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (pending_xref_error): Fix typo in arg order.
+
+	* cccp.c (do_include): Mention non-ex system headers for -M.
+	Guess the directory.
+	(check_macro_name): Should not be static.
+
+	* rtl.def (inline_header): Add a vector at the end.
+	* rtl.h (ORIGINAL_ARG_VECTOR): New macro.
+	(RTVEC_ELT): New macro.
+	* emit-rtl.c (gen_inline_header_rtx): New argument for that vector.
+	* integrate.c (save_for_inline): Copy arg rtls if nec, then make
+	an arg vector to put in the header.
+	(expand_inline_function): Look in that vector for the rtl.
+	(copy_parm_decls): Likewise.
+
+	* c-decl.c (duplicate_decls): Warn if function declared external
+	and later static.
+
+Fri Jun 29 13:29:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cccp.c (handle_directive): Supply missing *.
+
+Thu Jun 28 21:39:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* m68k.md (muldf3 for 68881): Generate fscale if appropriate.
+	* out-m68k.c (floating_exact_log2): New function.
+
+Wed Jun 27 17:19:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (finish_struct): New handling of zero-width bit fields.
+	Store appropriate data in them like other bit fields.
+	Don't delete them until after layout.
+	Don't mess with alignment of following field; set its own.
+	If PCC_BITFIELD_TYPE_MATTERS, get alignment from type.
+	* stor-layout.c (layout_record): For zero-width field, if
+	PCC_BITFIELD_TYPE_MATTERS, alignment does not affect that of structure.
+	(layout_decl): Don't abort for zero-width if no name.
+
+	* function.c (expand_function_start):
+	Output ...FUNCTION_BEG note here, after assign_parms.
+	(init_function_start): Not here.
+
+	* sdbout.c (sdbout_record_type_name): Conditionalize for 
+	SDB_ALLOW_FORWARD_REFERENCES.  Don't use typedef names, just tags.
+	(sdbout_begin_block): Likewise.
+	(plain_type_1): Likewise.  Also move code to output structure size.
+	(sdbout_symbol): Output the type if not yet output.
+	Don't output top-level initialized variables yet.
+	Avoid crash if variable never got any rtl.
+	Add conditional for SDB_AUTO_NORMALIZE_OFFSET.
+	(sdbout_toplevel_data, sdbout_queue_anonymous_type): 
+	(sdbout_dequeue_anonymous_type): New functions.
+	(sdbout_tags): Reverse the list first.
+	Output enums before other things.
+	(sdbout_reg_parm): Fake a name if necessary.  Use C_REGPARM.
+	* toplev.c (compile_file): Call sdbout_toplevel_data.
+
+	* c-typeck.c (convert_for_assignment): Disable warnings for pointers
+	to const and volatile functions.
+
+	* expr.c (expand_expr): Mark variable as used.
+
+Tue Jun 26 17:05:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sparc.h (LINK_SPEC): Delete spurious `-'.
+
+	* tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Handle minus zero.
+	(ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+
+	* stor-layout.c (layout_type): Check TYPE_NO_FORCE_BLK in union fields.
+
+Tue Jun 26 01:48:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* tree.c (dump_tree_statistics): Dummy function.  To be filled in
+	later when we decide what tree statistics should be measured.
+	(build): Now ok to take arguments of length 1.	`build1' cannot be
+	used to allocate 's' tree nodes whcih might have length 1.
+
+	* All GNU C++ files updated to 1.37.2 (alpha 2).  NOTE: cplus-decl.c
+	needs to be fixed to not us RTL.  I'm leaving this file in its
+	current state so that the GNU C++ compiler at least compiles.
+
+	* All SPARC files: modified to use registers %f30 and %f31 as
+	temporaries for holding floating-point zero.  Used to use %f0 and
+	%f1, which made it impossible to compare function return values with
+	zero.
+
+Mon Jun 25 16:54:13 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* function.c (init_function_start): New args give file/line for first note.
+	* c-decl.c (store_parm_decls): Pass them.
+	* integrate.c (output_inline_function): Pass dummies for them.
+	* final.c (final_start_function): For sdb, don't output a line number, 
+	just set last_linenum.
+
+	* c-parse.y (hash, is_reserved_word): New keyword __label__.
+
+	* stddef.h: Check _T_SIZE as well as _SIZE_T.
+
+Sun Jun 24 16:09:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr): Do preserve_temp_slots for TARGET_EXPR.
+
+Sat Jun 23 09:52:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genpeep.c (gen_peephole): Ignore USE and CLOBBER insn as well as
+	NOTE when matching peephole.
+
+Fri Jun 22 17:40:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (process_init_constructor): Set up TREE_PURPOSE
+	in record constructor elements.
+
+	* cexp.y (exp1): If pedantic, warn about commas.
+	(tokentab2): Add entries for ++ and --.
+	(yylex): Error if those are used.
+
+	* c-decl.c (lookup_tag): For wrong kind of type, just set flag.
+	(shadow_tag): Clear the flag.
+	(pending_xref_error): Print the error message here if flag set.
+	* c-parse.y (setspecs): Call that.
+
+	* calls.c (emit_call_1): Use call_pop and call_value_pop insns
+	to record when the called function pops its args.
+
+Fri Jun 22 16:43:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (wipe_dead_reg): Remove REG_DEAD note for unset reg.
+
+	* tm-sparc.h: Replace FIX_FRAME_POINTER_ADDRESS with
+	INITIAL_FRAME_POINTER_OFFSET.
+
+	* tm-vax.h (RTX_COSTS): Show shifts are relatively expensive.
+
+Fri Jun 22 15:05:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* Makefile.in (GEN): New variable.
+	(P): New variable.
+	(cc1, cc1plus, cc1obj): Use $(P).
+
+	* cccp.c (check_macro_name): New subroutine taken from do_define.
+	(do_define, do_undef): Use this.
+	(do_undef): Warn if junk follows name.
+	(handle_directive): Always ignore empty directive.
+	Warn if \f or \v in directive.	Error for malformed directive name.
+
+	* tree.h (BUILT_IN_NEXT_ARG): Define it.
+	* c-decl.c (init_decl_processing): Declare __builtin_next_arg.
+	* expr.h (current_function_arg_offset_rtx): Declare it.
+	* function.c (assign_parms): Set that variable at end.
+	* expr.c (expand_builtin): Implement __builtin_next_arg.
+	* stdarg.h (va_start): Use __builtin_next_arg.
+
+	* c-decl.c (grokdeclarator): Check for TRADITIONAL_RETURN_FLOAT.
+
+Fri Jun 22 07:07:53 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* final.c (final_scan_insn): Put label for jump table in same section
+	(read-only data) as jump table.
+
+	* loop.c: Allow tm.h to define ..._BENEFIT and COPY_PENALTY.
+
+Wed Jun 20 13:03:53 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-apollo68.h (FUNCTION_ARG_PADDING): Never pad.
+	(STACK_BOUNDARY): Make it 32.
+	(CPP_SPEC): Add spaces.	 Define _APOLLO_SOURCE if not -ansi.
+
+	* c-common.c (check_case_value): New function.
+	* c-parse.y (stmt, when parsing case): Use that.
+	Add new rule for case range.
+
+	* reload1.c (reload_inheritance_insn): New variable.
+	(reg_reloaded_insn): New variable.
+	(choose_reload_regs): Update those variables.
+	(emit_reload_insns): Use them to remove deaths from insns
+	that used input reloads.
+	(reload_as_needed): Clear reg_reloaded_insn when necessary.
+
+	* m68k.md (ashlsi3, lshlsi3): Use add to self to shift one bit.
+
+	* dbxout.c (STAB_CODE_TYPE): New macro defined as type for stab codes.
+	Use in place of enum __stab_debug_code.
+
+Tue Jun 19 22:56:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_increment): For preincrement, don't load value twice:
+	use TEMP as input to addition.
+
+Tue Jun 19 06:53:13 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* explow.c (adjust_stack, anti_adjust_stack): Use expand_binop instead
+	of gen_{add,sub}2_insn since the latter will abort if the constant is
+	out of range for the machine.
+
+Tue Jun 19 00:35:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* local-alloc.c (post_mark_life): Don't decrement DEATH
+	if it equals BIRTH.  Don't ever increment DEATH.
+
+	* varasm.c (output_constructor): Discard non_lvalue_expr, not nop_expr.
+	Handle missing values.	Use field in the tree_list, if any.
+	(output_addressed_constants): Don't die if value is missing.
+	* c-typeck.c (process_init_constructor): Handle index and field specs.
+	* c-parse.y (initlist): Parse them.
+
+Mon Jun 18 15:58:48 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c, cplus-decl.c (duplicate_decls):
+	Types don't "match" if one is error.
+
+	* c-parse.y (label_decl): Use new keyword __label__, not colon.
+
+	* c-parse.gperf (__label__): New keyword.
+
+	* mips.md (probe): Make a single insn, just a memref.
+
+Mon Jun 18 14:27:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (loop_optimize): Set max_luid to last luid + 1, as documented.
+
+	* local-alloc.c (qty_clobber): New variable.
+	(local_alloc): Allocate and initialize it.
+	(reg_is_set): Set qty_clobber for a clobber of a pseudo used only
+	in this insn.
+	(find_free_reg): Pass qty_clobber to post_mark_life.
+	(post_mark_life): If CLOBBER if non-zero, register isn't live after
+	its death insn.
+
+	* integrate.c (expand_inline_function): Don't call try_constants on
+	an insn that sets CC0 until we have processed the next insn.  Then
+	call it on both.  This is because the recognizer for these insns
+	may want to look at the user of CC0.
+
+Mon Jun 18 13:25:59 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* mips.md (ashlqi3, ashlhi3, one_cmplqi2, one_cmplhi2): Deleted.
+	(ashlsi3, ashrsi3, lshrsi3, neg*, one_cmplsi2): Simplified.
+	Don't output comments.	Use more specific predicates.
+
+	* mips.md (movsf, movdf): Use L, M codes to avoid #ifdef's.
+	Also simplify and don't output comments.
+	(anonymous patterns for those insns): Deleted.
+	(loading floating constant): New patterns added.
+	(move qi to si pattern): Deleted; ridiculous.
+	(movdi, movsi, movhi, movqi): No need to check for moving reg to self.
+
+	* mips.md (nop): Use .set noreorder to placate assembler.
+
+Sun Jun 17 20:01:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.c (set_spec): Don't use `name' for both old spec and name of
+	spec.  Use new var old_spec for the former use.
+	Don't use (char *) 0 for null spec; use a null string instead.
+
+	* jump.c (jump_optimize): Don't special-case deleting an ADDR_DIFF_VEC.
+	Merge code to detect trivial ADDR_VEC and ADDR_DIFF_VEC.
+	(mark_jump_label): Don't count the use of a vector table label in 
+	ADDR_DIFF_VEC.
+	(delete_insn): Can now handle ADDR_DIFF_VEC.
+	(delete_labelref_insn): New function.
+	(redirect_tablejump): Call new function to delete insn that references
+	the jump table.
+
+Sun Jun 17 01:19:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* genemit.c (gen_expand): Don't generate `operands' if size is 0.
+
+	* tm-i860.h (GO_IF_LEGITIMATE_ADDRESS): Displacement must be multiple
+	of the alignment of the operand.
+
+	* i860.md (signed bit field recognizers): Don't shift by >31 bits.
+
+	* out-i860.c (output_delayed_branch): Pass register properly to
+	load_opcode.
+
+	* mips.md (general/fp reg move patterns): Use codes L, M, D.
+	(movdi): Likewise.  And don't output useless comments.
+	Use the assembler temp reg for non-offsettable address.
+	(movsi, movhi, movqi): Output nothing for move from reg to itself.
+	Output li to load a constant.  Use `move' instead of `add'.
+	Don't output useless comments.
+	(load-address pattern): Deleted; handled by addsi3 pattern.
+
+	* mips.md (addsi3, mulsi3): Make both input predicates arith_operand
+	since they are commutative.
+	(andsi3, iorsi3, xorsi3): Likewise.
+
+	* tm-mips.h (MOST_SIGNIFICANT_WORD, LEAST_SIGNIFICANT_WORD): New.
+
+	* tm-mips.h (PRINT_OPERAND): New codes D, L, M.
+	* mips.md (anddi3, iordi3, xordi3): Use earlyclobber to stop overlap.
+	Use new print code D.
+
+	* mips.md (andsi3, iorsi3, xorsi3): Make predicates more specific.
+	(andhi3, ..., andqi3, ...): Patterns deleted.
+	(patterns for nor): New anonymous patterns.
+	* out-mips.c (uns_arith_operand): New function.
+
+	* mips.md (trunc*, zero_extend*, extend*, fix_trunc*, float*):
+	Use more specific predicates.
+
+	* mips.md (addhi3, ..., addqi3, ...): Patterns deleted.
+	(addsi3, subsi3, mulsi3, divsi3): Make predicates more specific.
+	Delete useless comments from assembler code.
+	Use more generic op codes rather than special cases such as addiu.
+	(divmodsi4, udivmodsi4, udivsi3, modsi3, umodsi3): New patterns.
+	(abssf2, absdf2): New patterns.
+
+Sun Jun 17 06:56:10 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (COST, rtx_cost, make_regs_eqv): Indicate that hard registers
+	in fixed_regs are even cheaper than pseudos.
+
+	* function.c (instantiate_virtual_regs_1): If valid, replace PLUS
+	whose second operand would be zero with its first operand.
+
+Sun Jun 17 00:17:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (sdbout_symbol): Get right regno for var-length object.
+
+	* combine.c (simplify_set_cc0_and): Strip SUBREGs, but only if
+	they truncate.	Handle ASHIFTRT like LSHIFTRT.
+	(try_combine): Call simplify_set_cc0_and in all those cases.
+	(subst): Handle (zero_extract (subreg (lshift (reg )))).
+
+Sat Jun 16 23:11:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.c (get_narrower, get_unwidened): Bit field test was backwards.
+
+Sat Jun 16 19:07:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold): Fix typo in test for distributing binary
+	operator over conditional and compound expressions.
+
+	* genoutput.c: Remove vestiges of obsolete and never used
+	INSN_MACHINE_INFO.
+
+	* rtl.def (MATCH_PARALLEL): Add new RTL code.
+	* genconfig.c (walk_insn_part): Support MATCH_PARALLEL.
+	* genemit.c (max_operand_1): Likewise.
+	(gen_exp): Just write operand for MATCH_PARALLEL.
+	(gen_expand, gen_split): Support MATCH_PARALLEL.
+	* genrecog.c (walk_rtx): Add support for MATCH_PARALLEL.
+	* genoutput.c (scan_operands): Suppport MATCH_PARALLEL
+	like MATCH_OPERATOR.
+	* genpeep.c (match_rtx): Add code to support MATCH_PARALLEL.
+	Don't write unnecessary cast to `rtx'.
+	* genrecog.c (add_to_sequence): Simplify handling of mode.
+	Support MATCH_PARALLEL.
+
+	* expr.c (move_block_{to,from}_reg): Support load/store multiple.
+	* function.c (instantiate_virtual_regs_1): If can't substitute
+	new pseudo for virtual register, try doing the substitution
+	globally throughout the entire insn.  This lets load/store multiple
+	insns refer to virtual registers in their addresses.
+	
+	* genrecog.c (write_split_tree, write_split_subroutine): Deleted.
+	(break_out_subroutines, write_subroutine, write_tree):	Accept
+	parameters that indicate whether we are making gen_split or gen_recog.
+	(main): Pass new parameters to break_out_subroutines and write_tree.
+
+	* final.c (final_scan_insn): Process insns that set CC whenever a
+	REG_CC_STATUS note is found; not only JUMP_INSNs can use CC.
+	When scanning REG_CC_STATUS insns, set cc_prev_status from cc_status
+	each time.
+
+	* recog.c (validate_replace_rtx): New function that tries to 
+	replace all occurrences of an object within an insn and see if the
+	resulting insn is valid.
+
+Thu Jun 14 06:58:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_no_conflict_block): Write REG_NO_CONFLICT notes all
+	all insns in the block that modify the output.	Write them on the
+	final insn even if we don't put a REG_EQUAL note there.
+
+	* stmt.c (expand_return): Only distribute return down a conditional
+	expression if tail recursion is possible in a branch.
+
+	* expr.c (expand_expr): Remove obsolete reference to when we had
+	a shared structure-value slot.
+
+	* jump.c (get_label_before, get_label_after, follow_jumps): No longer
+	static.
+	* rtl.h: Define them.
+
+Mon Jun 11 17:35:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (INSN_LUID): Check for INSN_UID above the area that we
+	know about.
+	(loop_optimize): Cannot use INSN_LUID as lhs.
+	(scan_loop): If first jump is to label made by loop, we can't
+	tell if it is in range or not, so reject loop.
+	Reject loop if SCAN_START was an insn previously made by loop since
+	we won't know its luid.
+	Only call loop_reg_used_before if argument has known luid.
+	Mark partial invariant as global if its insn was made by loop.
+	(ignore_some_movables): Don't assume all invariants have luids.
+	(strength_reduce): Use no_labels_between_p instead of
+	labels_in_range_p.
+	Don't look at luid of insns for which one doesn't exist.
+	(valid_initial_value_p): Reject initializations in insns whose
+	luid we don't know.
+
+	* loop.c (product_cheap_p): Put all our rtl into a separate obstack
+	and free memory from it.  If we use current_obstack, we may free
+	memory allocated by gen_reg_rtx, which must be preserved.
+
+	* c-common.c (rewrite_for_merged_ref): A non-zero one-bit signed field
+	is -1, not 1.
+	* c-typeck.c, cplus-typeck.c (build_binary_op_nodefault): If can't
+	merge comparisons, don't use result of rewrite_for_merged_ref;
+	comparisons with zero are more efficient.
+
+	* protoize.c (main): Don't declare as extern.
+
+	* c-aux-info.c (gen_aux_info_record): Don't declare extern.
+
+	* genemit (gen_split): Rework to fix numerous bugs and typos.
+
+	* function.c (assign_parms): Avoid generating (PLUS foo (const_int 0)).
+
+Wed Jun	 6 20:03:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gencodes.c (main): Count a code number for DEFINE_SPLIT.
+
+	* rtlanal.c (note_store): Pass SUBREG of a hard register to function.
+	(reg_overlap_mentioned_p): Handle receiving SUBREG of hard register.
+	* integrate.c (mark_stores): Likewise.
+	* local-alloc.c (reg_is_set, reg_is_born): Likewise.
+	* reload1.c (mark_not_eliminable): Likewise.
+
+	* loop.c (move_movables): Don't blow up if moving last real insn
+	in function.
+
+Wed Jun	 6 19:44:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gcc.c (default_compilers): Pass -traditional before -f*.
+	Delete -gg option.
+
+Sun Jun	 3 22:44:12 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Warn about extern with initializer.
+
+Sun Jun	 3 22:32:19 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genrecog.c (main): Don't call write_tree with null if no insns
+	were in file.
+
+Sat Jun	 2 21:49:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, cases ABS_EXPR, MAX_EXPR, MIN_EXPR): Use target
+	unless zero or safe_from_p rejects it.
+	(expand_expr, conditional cases): Likewise.
+
+Sat Jun	 2 14:46:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Handle const and volatile with parm
+	specified as function type.
+
+Fri Jun	 1 16:13:39 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.def (DEFINE_FUNCTION_UNIT): Change specifications so
+	it now is one per operation type, rather than one per
+	function unit.
+	* genattr.c (write_units): Write out new function names and
+	function unit table structure.
+	* genattrtab.c (struct function_unit_op): New structure.
+	(struct function_unit): Updated for new definition of
+	DEFINE_FUNCTION_UNIT.
+	(SIMPLIFY_TEST_EXP): New macro to reduce number of function calls
+	to simplify_test_exp.  Replace all call to the function with
+	uses of the macro.
+	(check_attr_test, make_alternative_compare): Show that EQ_ATTR with
+	attribute of "alternative", MATCH_OPERAND, and comparison cases can't
+	be simplified.
+	(expand_units, gen_unit, write_function_unit_info): Support new
+	meaning of DEFINE_FUNCTION_UNIT.
+	(simplify_test_expr): Rework AND and IOR cases to reduce rescans.
+	Once an expression has been simplified, set RTX_UNCHANGING_P so
+	we won't try simplifying it again.  Don't do this if INSN_CODE == -2.
+	(write_attr_set): Don't make a recursive call if we know that
+	the test we are writing will always be false.  Also clean up a bit.
+	(main): true_rtx and false_rtx don't need to be simplified.
+	Write gen_attr_... routines before special routines.
+
+Fri Jun	 1 14:17:48 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+	Round frame size to multiple of STACK_BOUNDARY.
+
+Fri Jun	 1 09:38:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_no_conflict_block): Place REG_NO_CONFLICT notes on
+	insn that contains REG_EQUAL note instead of insn doing computation.
+
+	* cplus-decl2.c, cplus-lex.c: Rename gettime to get_run_time.
+	Likewise for my_gettime to my_get_run_time.
+
+	* Makefile.in (varasm.o, calls.o, explow.o, integrate.o, loop.o):
+	These do not depend on insn-codes.h.
+	* function.c: Explicitly include insn-codes.h to make it clear that it
+	is needed for the values of the CODE_FOR_... macros.
+
+Thu May 31 12:59:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (__trampoline): New function.
+	* Makefile.in (LIB2FUNCS): Compile it.
+	* tm-m68k.h (TRAMPOLINE_ALIGN): Define it.
+	* function.c (trampoline_address): Handle extra alignment.
+	* tm-m68k.h (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): 
+	Redefine to transfer via __trampoline.
+	(TRANSFER_FROM_TRAMPOLINE): Define it, for gnulib2.c.
+
+	* fold-const.c (fold): Preserve sign on constant when other terms
+	cancel (after call to split_tree).
+
+Thu May 31 12:39:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (preexpand_calls): Ignore BLOCK to avoid infinite recursion.
+
+	* function.c (assign_parms): Fix typo getting mode of result.
+
+	* cse.c (cse_basic_block): Don't go past TO if it is target of
+	followed jump.
+
+Wed May 30 21:31:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-parse.y (fndef, nested_function, notype_nested_function):
+	Use YYERROR1 instead of YYERROR. 
+	(YYERROR1): New macro.
+	* cplus-parse.y, objc-parse.y: Likewise.
+
+Tue May 29 21:53:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* optabs.c (expand_float): Don't use hard reg as intermediate.
+
+	* c-parse.y, objc-parse.y (yylex): Fix typo checking for ERANGE.
+	* cplus-lex.c (yylex): Copy current code for ERANGE from c-parse.y.
+
+	* toplev.c (get_run_time): Renamed from gettime.
+
+Mon May 28 15:47:48 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (emit_push_insn): Don't push by pieces if alignment
+	forces use of small pushes that do problematical padding.
+
+	* tm-sparc.h (SELECT_SECTION): Use TREE_SIDE_EFFECTS.
+	(STACK_POINTER_OFFSET): Now 68; does not include REG_PARM_STACK_SPACE.
+	(REG_PARM_STACK_SPACE): Now takes arg and has value.
+	(ACCUMULATE_OUTGOING_ARGS): Define this.
+	(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE, EXIT_IGNORE_STACK): Use
+	current_function_outgoing_args_size, not ..._pretend_...
+	(INITIALIZE_TRAMPOLINE): Use size_int.
+
+	* varasm.c (make_decl_rtl, make_function_rtl): Run ENCODE_SEGMENT_INFO
+	if it is defined.
+
+	* tree.def (BIND_EXPR): Add operand, which holds the BLOCK.
+	* expr.c (expand_expr): When BIND_EXPR is seen, flag the BLOCK.
+	* dbxout.c (dbxout_block): Test the flag in the BLOCK.
+	* sdbout.c (sdbout_block): Likewise.
+	* symout.c (symout_function): Likewise.
+	* c-parse.y (stmt expr rule): Corresponding change.
+
+Sun May 27 20:53:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* caller-save.c (save_call_clobbered_regs): Correctly mark registers
+	live for multi-word pseudos.
+
+Sat May 26 13:42:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* sdbout.c (sdb_begin_function_line): Now -1 if not in use.
+	(sdbout_end_function): Set it to -1.
+
+	* tree.def: Rename EXIT_STMT to EXIT_EXPR and likewise for LOOP_STMT.
+	Also LET_STMT to BIND_EXPR, and GOTO_STMT, LABEL_STMT, RETURN_STMT
+	to ..._EXPR.
+	(struct tree_stmt, struct tree_if_stmt, struct tree_bind_stmt):
+	(struct tree_case_stmt): Types deleted.
+
+	* tree.c (make_node, copy_node): Treat 's' like 'e' for size of node.
+	In make_node, make BLOCK and BIND_EXPR savable.
+	* expr.c (expand_expr): Rename, and use TREE_OPERAND to get body.
+	* cplus-init.c (build_vec_delete): Likewise, and build appropriately.
+	* print-tree.c (print_node): No special handling for these and IF_STMT.
+	* stmt.c (warn_if_unused_value): Likewise.
+
+	* tree.def (BLOCK): New tree code for binding blocks.
+	* tree.h (BLOCK_VARS, BLOCK_TYPE_TAGS):
+	(BLOCK_SUBBLOCKS, BLOCK_SUPERCONTEXT): Renamed from STMT_...
+	(STMT_...): Except for those, all deleted.
+	(BLOCK_CONTROLLER): Points to corresponding BIND_EXPR, if any.
+	(BLOCK_CHAIN): New macro.
+	* tree.c (build_block): Renamed from build_let.
+	(decl_type_context, decl_function_context): Corresponding change.
+	* print-tree.c (print_node): Likewise.
+	* c-decl.c, cplus-decl.c (poplevel): Likewise.
+	* integrate.c (copy_decl_tree): Likewise.
+	* function.c (setjmp_protect, uninitialized_vars_warning):
+	(instantiate_decls_1): Likewise.
+	* c-parse.y, cplus-parse.y, objc-parse.y (stmt expr rule): Likewise.
+	* dbxout.c (dbxout_block): Expect only BLOCKs in this tree.
+	Ignore those with controllers that are not marked used.
+	* sdbout.c (sdbout_block): Likewise.
+	* symout.c (symout_function): Likewise.
+
+	* tree.def: Delete IF_STMT, COMPOUND_STMT, WITH_STMT.
+	* expr.c (expand_expr): Delete handling of IF_STMT.
+	* tree.c (build_if, build_loop, build_case, build_goto): Deleted.
+	(build_expr_stmt, build_asm_stmt, build_return, build_exit): Likewise.
+	(build_compound): Likewise.
+	* cplus-init.c (build_vec_delete): Use COND_EXPR instead of IF_STMT.
+
+Sat May 26 13:23:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* calls.c (struct arg_data): Add new fields slot_offset and stack_slot.
+	(expand_call): Compute both location of start of stack slot and	the
+	place in the stack slot where the first byte of the argument will be
+	placed.
+	Use stack_slot when loading a BLKmode object into registers.
+	When loading into registers, don't check reg_parm_seen, just look
+	at args[i].reg.
+	(expand_call, store_one_arg): Save and restore stack slot starting
+	from beginning of slot, not begining location where arg is stored.
+	(store_one_arg): After calling emit_push_insn, argument is really
+	at arg->stack_slot instead of arg->stack because if we want to
+	load it into registers, we include any padding.
+
+Sat May 26 01:37:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (struct tree_type): Rename sep=>minval, sep_unit=>precision.
+
+	* tree.c (init_obstacks, init_tree_codes): init_tree split in two.
+	* toplev.c (compike_file): Call them.
+
+Fri May 25 16:40:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_record): Nuke excess set of DECL_FIELD_BITPOS.
+	* varasm.c (output_constructor): Bitpos is zero for array (field == 0).
+
+Fri May 25 00:48:45 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* final.c (final_scan_insn): Restore inadvertent deletion in change
+	of May 24th.
+
+Fri May 25 00:13:12 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* print-tree.c (print_node): Print some missing fields for decls.
+	(print_node_brief): Always print value of integer or real constant.
+
+Thu May 24 21:28:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fold-const.c (real_zerop): Function deleted; was redundant.
+
+	* tree.h (DECL_OFFSET): Macro deleted.
+	(struct tree_decl): Field deleted.
+
+	* c-typeck.c (build_unary_op): For ADDR_EXPR of COMPONENT_REF,
+	use DECL_FIELD_BITPOS and handle non-constant values.
+	* stor-layout.c (layout_record, layout_union): Likewise.
+	* expr.c (expand_assignment, store_constructor, expand_expr): Likewise.
+	* dbxout.c (dbxout_type): Likewise.
+	* sdbout.c (sdbout_one_type): Likewise.
+	* c-common.c (merge_component_comparisons, make_merged_ref): Likewise.
+	* print-tree.c (print_node): Likewise.
+	* varasm.c (decode_addr_const, output_constructor): Likewise.
+	* objc-actions.c (build_ivar_list_initializer): Likewise.
+	* cplus-typeck.c (build_component_addr): Likewise.
+	And preserve TREE_CONSTANT flag.
+	(unary_complex_lvalue): Likewise.
+	
+	* tree.h (DECL_FUNCTION_CODE): Use the frame_size field, not `offset'.
+	Now meaningful only if function is built in.
+	(DECL_BUILT_IN): New flag macro.
+	* c-decl.c (builtin_function): Set the flag.
+	(pushdecl, duplicate_decls): Use and set it.
+	* c-typeck.c, cplus-typeck.c (build_function_call): Test it.
+	* cplus-decl.c (define_function): Set the flag.
+	(pushdecl, duplicate_decls): Use and set it.
+	* expr.c (expand_expr, preexpand_calls): Test it.
+
+	* tree.h (DECL_INCOMING_RTL): New macro.
+	* function.c (assign_parms): Set up that field.
+	* dbxout.c (dbxout_parms, dbxout_reg_parms): Don't try to use
+	DECL_OFFSET for a parm; it is not set.	Use DECL_INCOMING_RTL.
+	(PARM_PASSED_IN_MEMORY): New macro.
+	* sdbout.c (sdbout_parms, sdbout_reg_parms): Likewise.
+	(PARM_PASSED_IN_MEMORY): New macro.
+
+	* cccp.c (macarg): When popping frame, free via free_ptr, not buf.
+
+Thu May 24 18:04:06 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (next_cc0_user): New function.
+	* recog.c (next_insn_tests_no_inequality): Use next_cc0_user.
+	* rtl.h: Define next_cc0_user.
+
+	* cse.c (cse_insn): Make canon_reg calls in separate loop over the
+	SETs to avoid problems when MATCH_DUPs are present in an insn
+	pattern.
+	Don't canon CLOBBER in PARALLEL.  Instead, canon MEM of CLOBBER,
+	both within a PARALLEL and standalone.	Also, call note_mem_clobbered
+	only for MEM.
+
+Thu May 24 13:08:25 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* gnulib2.c (__negdi2): Make this inline for other functions.
+
+Thu May 24 07:15:04 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (no_labels_between_p, prev_real_insn, next_real_insn):
+	(prev_active_insn, next_active_insn, next_label): Delete from here.
+	* rtlanal.c (no_labels_between_p): Put here.
+	* emit-rtl.c (prev_real_insn, next_real_insn, prev_active_insn):
+	(next_active_insn, next_label): Add to here.
+
+	* c-common.c: Define NULL so NULL_TREE macro will work.
+
+	* cplus-typeck.c (common_parms): Use oballoc and obfree to
+	avoid external current_obstack.
+
+	* cse.c (fold_cc0, cse_insn): Use HASH macro instead of call to
+	canon_hash.
+	(cse_insn): When just recording jump insn, show it doesn't set CC0
+	and set it as previous insn.
+
+	* genoutput.c (gen_split): Fix typo in comment.
+
+	* reorg.c: No longer need define next_label and next_real_insn as
+	extern.
+
+	* toplev.c (rest_of_compilation): Use DELAY_SLOTS instead of
+	obsolete HAVE_DELAYED_BRANCH; include insn-attr.h.
+
+	* final.c (dbr_sequence_length): Now present #ifdef DELAYED_BRANCHES.
+	Eliminate references to obsolete DBR_INSN_SLOTS.
+	(get_attr_length): Support ADJUST_INSN_LENGTH.
+	(get_attr_length, shorten_branches): Handle a SEQUENCE built for an
+	insn with filled delay slots.
+	(final_scan_insn): Avoid unnecessary call to recog_memoized.
+	Use validate_change instead of assuming replacement of CC0 by
+	STORE_FLAG_VALUE or const0_rtx is valid.
+
+Wed May 23 16:32:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-m68k.c, out-alliant.c (output_btst):
+	Use next_insn_tests_no_inequality, not next_insns_test_...
+	* recog.c (next_insns_test_no_inequality): Function deleted.
+
+Wed May 23 13:26:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (store_bit_field): Don't bother making a SUBREG when we
+	call ourself recursively; the recursive call will just strip it off.
+
+	* reorg.c: Include insn-attr.h before testing DELAY_SLOTS.
+	(emit_delay_sequence): Assign new INSN_UID to the SEQUENCE.
+	Chain insns through the sequence via NEXT_INSN and PREV_INSN.
+	* emit-rtl.c (next_insn, prev_insn): Go inside a SEQUENCE to
+	find the next or previous insn.
+	(make_insn_raw): No longer static.
+	* rtl.h: Define make_insn_raw, prev_active_insn, next_active_insn,
+	next_insn, and previous_insn.
+
+	* genattrtab.c (write_eligible_delay): Always use "*delay_type";
+	annuling only applies to candidate insn, not insn needing slot.
+
+	* tree.c (init_tree): tree_node_counter doesn't exist any more.
+	(make_node, copy_node, make_tree_vec, build1): No longer set TREE_UID.
+
+Wed May 23 00:48:57 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* genemit.c, genextract.c: Add support for MATCH_OP_DUP and
+	DEFINE_SPLIT.
+
+	* cplus-init.c (build_delete): TREE_SIDE_EFFECTS can be
+	nonzero when address to be deleted is a cast of something
+	with side-effects (like a call).
+	(build_vec_delete): Simplify code now that `make_node' does the
+	right thing for _STMT nodes.
+
+Tue May 22 22:59:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_end_basic_block): Don't crash if NEXT_INSN of
+	our branch target is zero.
+	Don't skip scanning first insn after destination label of branch.
+
+	* expr.c (emit_move_insn): Abort if modes differ.
+	(expand_expr, comparison cases): Use TMODE when convenient.
+	(expand_expr, case COND): When optimizing (C ? 1 : 0), ensure
+	we return a result of the correct mode.
+
+	* integrate.c (expand_inline_function): Can't call try_constants for
+	JUMP_INSN since we may have changed RETURN to jump.
+
+Tue May 22 22:40:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.h (struct tree_common): Delete field `uid'.
+	(TREE_UID): Macro deleted.
+
+	* c-decl.c (finish_decl): Discard any variable sizes in the decl.
+
+	* calls.c (expand_call): When making reg_notes for const function,
+	don't test is_const twice, and take account of order of pushing.
+
+Tue May 22 21:41:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (eliminate_regs): Ensure we process pseudo that is first
+	operand of PLUS.
+
+	* expmed.c (store_bit_field): When stripping a SUBREG, adjust the
+	bit position to correspond to the change in modes.
+
+	* cse.c (rtx_cost): Use COSTS_N_INSNS macro.
+
+	* cse.c (qty_comparison_*): New vars.
+	(new_basic_block): Initialize qty_comparison_code.
+	(fold_rtx): If we see a comparison, check if we have seen the
+	same comparison before.	 If so, we know the result.
+	(record_jump_equiv): Save the comparison being passed in the
+	qty_comparison_* variables for possible later use by fold_rtx.
+	(cse_insn): If the current insn doesn't reference cc0, but the
+	previous insn sets it, delete the previous insn; presumably we
+	used to test it.
+	(cse_basic_block): Allocate new qty_comparison_* vars.
+
+	* reload1.c (eliminate_regs): Second arg is now mode of enclosing
+	MEM, if any, rather than simply flag indicating inside MEM.
+	Use this mode to determine amount that, e.g., PRE_DEC adjusts by.
+
+	* reload1.c (reload): Set regs_ever_live for a register that couldn't
+	be eliminated.
+	* final.c (only_leaf_regs_used): Don't do it here.
+
+	* reorg.c: Eliminate obsolete macros *_REORG_FUNCTION.
+	Entire file is conditional on #ifdef DELAY_SLOTS.
+
+	* Makefile.in: Use reorg.c instead of dbranch.c.
+
+Tue May 22 20:40:30 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-decl.c (complete_array_type): Get string elt size in bytes.
+
+Tue May 22 00:42:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* toplev.c (rest_of_compilation): Turn off VERBOSE arg to thread_jumps.
+
+	* objc-parse.y, objc-actions.c: Replaces uses of build with build1
+	when being used for 1-operand nodes.
+
+Mon May 21 23:59:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* global-alloc.c (hard_reg_full_preferences): New variable.
+	(global_alloc): Allocate and initialize it.
+	(prune_preferences): Include in regs_someone_prefers all words
+	of multi-word items that have preferences.  Don't includes registers
+	we also prefer unless they are prefered by an allocno that needs
+	more registers.
+	(set_preference): Set hard_reg_full_preferences also.
+
+Mon May 21 21:36:29 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tree.c (make_node): All ..._STMT nodes have side effects, type void.
+
+Mon May 21 16:03:23 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (expand_inline_function): Set insns_at_start before
+	processing parameters since it might be needed during that processing. 
+	Set RTX_INTEGRATED_P in all insns emitted, including labels and
+	barriers.
+	Ensure COPY is set correctly when replacing RETURN and avoid
+	duplicate barriers by calling emit_jump_insn instead of emit_jump.
+	Call note_stores for JUMP_INSNs and CALL_INSNs in case they have
+	side-effects we care about.
+	(copy_rtx_and_substitute): Convert (use (subreg FOO)) to (use FOO).
+	(subst_constants): Don't crash if we see a SUBREG replaced by a
+	REG or vice versa; we have no work to do in that case.
+	Fix typo in case MULT.
+
+	* recog.c (constrain_operands): Call reg_fits_class_p with original
+	mode of OP, not mode of SUBREG_REG (op) when OP is SUBREG.
+
+Mon May 21 14:25:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expmed.c (extract_bit_field): Use class of TMODE for simple reg case.
+
+	* flags.h (flag_pic): Declare it.
+	* tree.h (mode_for_size): Declare it.
+	* c-tree.h (merge_component_comparisons): Declare it.
+
+Mon May 21 07:27:12 1990  Michael Tiemann  (tiemann at cygnus.com)
+
+	* jump.c (thread_jumps): New function to optimize the case where one
+	conditional jump jumps to another testing the same condition.  This
+	function usefully optimzies code both before common subexpression
+	elimination (where it "finds" common subexpressions that cse won't
+	find) and after loop optimization (where the loop optimizer
+	introduces new conditional jumps after rearranging loops).
+	(rtx_equal_for_thread_p): cheaply builds equivalences between
+	register so that jump threading can be effectively run before cse.
+
+	* emit-rtl.c (init_emit_once): Initialize PIC_OFFSET_TABLE_RTX if
+	PIC_OFFSET_TABLE_REGNUM is defined.
+
+	* tree.c (build,build1,build_nt): Set TREE_RAISES in addition to
+	TREE_SIDE_EFFECTS.
+	({temp,saveable,perm}_tree_cons): Call `tree_cons' with arguments
+	instead of calling `make_node' directly.  Eventually, `tree_cons'
+	could be faster than `make_node'.
+	(get_identifier): Use `bcmp' instead of `strcmp', since it's
+	faster.	 Also, test the first letter of each string before calling
+	the string comparison function.
+
+	* toplev.c: Add new flags FLAG_THREAD_JUMPS and FLAG_PIC.  The
+	former gives better common sub-expression elimination while the
+	latter tells the compiler to emit position-independent code.
+	(rest_of_compilation): Thread jumps if requested.
+
+	* stor-layout.c (layout_{record,union}): For loop bodies meant only
+	for FIELD_DECLs, make sure we have a FIELD_DECL before proceeding.
+
+	* stmt.c (expand_end_case): Use ADDR_DIFF_VEC if FLAG_PIC is
+	nonzero.
+	@@ NOTE: This would look a lot nicer if CASE_VECTOR_PC_RELATIVE were
+	an expression (like zero/nonzero) instead of soley a #define.
+	(fixup_cleanups): If cleanups emitted no code, don't call
+	`reorder_insns'.
+	(expand_decl_cleanup): Return 0 in case we are not in a block
+	(but instead at top-level).
+
+	* stack.h: New GNU C++ file.
+
+	* rtl.c (REG_NOTE_NAMES): Add REG_CC_STATUS and REG_TAIL_CALL.
+	* rtl.h: Ditto.	 Also make external declaration of
+	pic_offset_table_rtx.
+	* rtl.def: Add the following new RTL codes: DEFINE_SPLIT,
+	MATCH_OP_DUP, LO_SUM and HIGH.
+
+	* reorg.c: New file.  Performs instruction reorganizations
+	(primarily branch scheduling) after register allocation.
+
+	* local-alloc.c (local_alloc): If defined, execute
+	ORDER_REGS_FOR_LOCAL_ALLOC.
+
+	* genrecog.c (struct decision): Extended to handle DEFINE_SPLITs.
+	(write_tree): Split into three subroutines: `write_tree_1' which
+	does the main work, `write_tree' which does the original job, and
+	`write_split_tree' which builds the recognizer for insn splitting.
+	(add_to_sequence): Handle MATCH_OP_DUP.
+	(main): Bui.Build both insn->insn_code and insn->insn_list
+	recognizers.
+	Also, fixed comment at the top of the file.
+	* genpeep.c (main): Handle DEFINE_SPLIT.
+	(match_rtx): Handle MATCH_OP_DUP.
+	* genoutput.c (main): Handle DEFINE_SPLIT.
+	* genconfig.c (main): Handle DEFINE_SPLIT and MATCH_OP_DUP.
+	* genattrtab.c (main): Handle DEFINE_SPLIT.
+
+	* fold-const.c (various places): Use `build1' constructor instead of
+	`build' constructor whenever possible.
+
+	* final.c (final_scan_insn): If we know the status of the condition
+	codes at a particular JUMP_INSN (by dint of the fact that it has a
+	REG_CC_STATUS note), set CC_STATUS to reflect that value.
+	(only_leaf_regs_used): @@ For some reason the frame pointer register
+	is not marked live, even when it is.  If FRAME_POINTER_NEEDED is
+	nonzero, set REGS_EVER_LIVE[FRAME_POINTER_REGNUM] to 1.
+
+	* expr.c (emit_library_call): Round ARGS_SIZE.CONSTANT up, not down.
+	Use new macro MAX to accomplish this.
+	(safe_from_p): Don't check that EXP is nonzero.	 Instead, make
+	caller check (only in one place) that argument to `safe_from_p' is
+	non-zero.
+	(expand_expr): In COND_EXPR case, make sure that the predicate is
+	safe from the two conditions.  Lossage occured in a construct of the
+	form (c = c < 0 ? d : -d).
+
+	* explow.c (plus_constant): Handle LO_SUM rtl.
+
+	* c-typeck.c (build_binary_op_nodefault): If optimizing, try merging
+	component refs and/or comparisons into larger operations.
+
+	* c-common.c (rewrite_for_merged_ref): New function.  Canonicallizes
+	expressions to be recognizable as candidates for merged
+	COMPONENT_REF operations.
+	(make_merged_ref): Builds custom FIELD_DECLs for accessing multiple
+	bits in a byte simultaneously.
+	(merge_component_comparisons): Optimize COMPONENT_REFs in
+	expressions that look like (x.p == y.p && x.q == y.q) or
+	(x.p != y.p || x.q != y.q).  Also optimize (x.p == c1 && x.q == c2),
+	where C1 and C2 are known constants.
+
+	* c-lang.c (print_lang_statistics): Added new hook function.
+	Currently does nothing for C.
+
+	* c-convert.c: Use `build1' constructor instead of `build'
+	constructor whenever possible.
+
+	* cplus-typeck.c (build_binary_op_nodefault): Call this function for
+	better applicability of the merged component ref optimization. 
+	Also, add more recognized cases.
+
+	* cplus-type2.c (merge_component_comparisons): Code improved, and
+	moved to c-common.c.
+
+	* cplus-parse.y (operator_name): Recognize `operator,'.
+	(expr): On parsing ',', call `build_x_compound_expr' instead of
+	`build_compound_expr'.
+	(various places): Call `note_decl_list_got_semicolon' instead of
+	`note_decl_got_semicolon' where object in question is a list instead
+	of a type.
+	(component_declarator0): Set CURRENT_DECLSPECS from the bitfield
+	type.
+
+	* cplus-method.c (hack_wrapper): Rename parameter TYPE to CNAME,
+	since it is a type name we pass in, not a type.
+
+	* cplus-lex.c (opname_tab): Add `operator,'.
+	(note_decl_list_got_semicolon): Make notation that a list of
+	declarations should be considered as having "gotten a semicolon".
+	(extract_interface_info,interface_strcmp): Commented.
+
+	* cplus-init.c (build_delete): Rest of changes to reimplement new
+	destructor mechanism.
+	(build_vbase_delete): Fix bug whereby arrays of length 0 and 1 were
+	not being correctly handled.  Also, where elsements were not being
+	deleted.  Use new destrouct calling convention.
+	(various places): Change TYPE_HAS_CONSTRUCTOR to
+	TREE_HAS_CONSTRUCTOR where appropriate.
+
+	* cplus-expr.c (cplus_expand_expr): Use `emit_block_move' to copy
+	data from RETURN_TARGET to CALL_TARGET in case they do not line up
+	normally.
+
+	* cplus-decl2.c (finish_file): No need to call `build_vbase_delete'
+	on top-level objects anymore, since destructors now do the right
+	thing.
+
+	* cplus-decl.c (finish_function): Implement new destructor
+	mechanism: destroy virtual baseclass objects if (in$charge & 2) is
+	nonzero.  Deallocate if (in$charge & 1) is nonzero.
+
+	* cplus-cvt.c (build_up_reference): Use TREE_HAS_CONSTRUCTOR, not
+	TYPE_HAS_CONSTRUCTOR on non-TYPE tree nodes.
+	(build_up_reference): Only build up references between compatible
+	types.	I.e., don't build a char& to an int object.
+	(convert_to_aggr): Set the TREE_SIDE_EFFECTS bit if the result is a
+	CALL_EXPR.
+
+	* cplus-class.c (build_vbase_path): Recover from bad parse errors.
+	(build_method_call): Implement new ctor/dtor semantics to allow
+	differentiation between tearing an object down and deallocating it.
+	This also means that ctors and dtors can now aviod going through the
+	virtual function table mechanism as they construct/destruct their
+	objects.
+
+	* ALL GNU C++ files: Use new macro IDENTIFIER_TYPE_VALUE to lookup
+	type value of an identifier.  Also implement related macros
+	IDENTIFIER_HAS_TYPE_VALUE, and IDENTIFIER_TYPEDECL_VALUE.
+
+	* cplus-cadillac.c (cadillac_switch_source): Change Prototype
+	declaration to non-prototype declaration.
+	(readable_p): Ditto.
+
+Sun May 20 20:23:39 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (c_sizeof): For incomplete type, warn and return 0.
+	(c_sizeof): Similar.
+
+Sun May 20 17:20:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (gen_highpart): Support SUBREG like gen_lowpart.
+
+Sun May 20 16:59:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* c-typeck.c (build_c_cast): Warn about pointer-integer casts 
+	where size differs.
+
+	* stor-layout.c (layout_type): Multi-word field doesn't force BLKmode.
+
+	* expmed.c (extract_bit_field): Use mode_for_size for lsb-aligned
+	fields in regs.	 No longer knows explicit modes for this.
+
+Sun May 20 15:12:38 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in: (reload1.o): Now depends on output.h.
+
+	* calls.c (expand_call): No need to set frame_pointer_needed.
+
+	* emit-rtl.c (gen_rtx): If reference to sp, ap, or fp, use
+	appropriate already-made rtx (e.g., stack_pointer_rtx).
+
+	* expr.c (expand_builtin, case BUILT_IN_ALLOCA): No need to set
+	frame_pointer_needed.
+
+	* final.c (final_start_function): No longer round size of frame here.
+	(final_scan_insn): Call constrain_operands with new operand.
+
+	* flow.c (life_analysis): Change test on whether sp is live or
+	not to depend on FRAME_POINTER_REQUIRED and -fomit-frame-pointer.
+	(This code may not be relevant any more.)
+
+	* function.c (push_function_context, pop_function_context): No need
+	to save and restore frame_pointer_needed.
+	(assign_{outer_,}stack_local): No need to set frame_pointer_needed.
+	(assign_parms): Likewise.
+	(init_function_start): Don't initialize frame_pointer_needed here.
+
+	* function.h (frame_pointer_needed): Deleted.
+
+	* genattrtab.c (write_attr_case): Write call to constrain_operands
+	with new second argument (reload_completed).
+
+	* global-alloc.c (global_alloc): Don't left fp be allocated if we
+	already know we can't eliminate it.
+	(find_reg): Argument LOSERS is now a HARD_REG_SET instead of an	array.
+	Precompute HARD_REG_SETs before loop over registers to speed up
+	allocation.
+	(retry_global_alloc): Argument FORBIDDEN_REGS is now a HARD_REG_SET.
+	(check_frame_pointer_required): Deleted; no longer needed.
+
+	* integrate.c (save_for_inline, output_inline_function): No longer
+	need to save and restore frame_pointer_needed.
+
+	* local-alloc.c (block_alloc): No longer have to worry that having
+	a stack variable might cause a frame pointer to be needed when it
+	might otherwise not be.
+	(find_free_reg): Don't allocate into registers that may be eliminated
+	later even if they are not FIXED_REGS.
+
+	* output.h: Define reload_completed.
+
+	* recog.c (constrain_operands): Add new argument, STRICT.  If zero
+	and the constraints could not be matched, try again with a less
+	strict view (i.e., assume that reload will fix those things that
+	it can).  This allows attribute values to be obtained prior to
+	reload.
+	Don't call alter_subreg or assume it has been called.  Instead,
+	look inside SUBREGs.
+
+	* reload.c (find_reloads_address{,_1}): Handle an address that
+	is a MEM; it may have been produced by register elimination.
+	(find_reloads_address): sp can also be the base register for a
+	stack slot.
+	(form_sum): No longer static.
+
+	* reload1.c: Rewrite code that performs frame pointer elimination.  Do
+	it during reload to ensure that all addresses and operands remain
+	valid; also generalize to support more than one pair of eliminations.
+	(reg_equiv_stack_slot, bad_spill_regs): New vars.
+	(forbidden_regs): Now a HARD_REG_SET.
+	(struct elim_table): New structure to describe register eliminations.
+	(reload): Start scanning registers after virtual registers.
+	Initialize reg_equiv_stack_slot for each register.  Compute
+	reg_equiv_{mem,address} during register scan only if not eliminating
+	registers.
+	Compute initial default value of frame_pointer_needed.
+	Round frame size to BIGGEST_ALIGNMENT.
+	Create obstack for scratch rtl created by register elmination.
+	Initialize elimination table and spill registers that we know can't
+	be eliminated.
+	On each scan of the insns: Reset all elimination entries to initial
+	offsets, compute reg_equiv_{mem,address}, and see if any potentially
+	eliminable register changed status.
+	Try to eliminate registers from each insn unless we know that none
+	can be eliminated.
+	Don't complete groups for spill registers from registers that
+	shouldn't be used as spill registers.
+	Call reload_as_needed if register eliminations can be done, even if
+	no reloads are needed.
+	(new_spill_reg): Don't allow spilling an eliminable register.
+	Don't set forbidden_regs here.
+	Indicate something changed if a register that wasn't ever used before
+	was made a spill register.
+	(eliminate_frame_pointer, {alter,fix}_frame_pointer_address): Deleted.
+	(delete_dead_insn): New function.
+	(alter_reg): Call it.
+	Always set reg_equiv_stack_slot; if not eliminating registers, also
+	set reg_equiv_{mem,address}.
+	(eliminate_regs, eliminate_regs_in_insn): New functions.
+	(spill_hard_reg): Add new argument, CANT_ELIMINATE.
+	Set bit for register being spilled in forbidden_regs.
+	Use new argument instead of seeing if we are spilling fp.
+	No longer need to have frame pointer just because a reg needs a
+	stack slot.
+	(order_regs_for_reload): Set bad_spill_regs to contain those registers
+	that can't be used for spill registers.
+	Consider any eliminable register as bad to use as a spill register.
+	Rework initialization of potential_reload_regs.
+	(reload_as_needed): Handle register elimination in a similar manner
+	as function reload.
+	(gen_input_reload): When generating a reload for a PLUS, first try to
+	use a three-operand add insn.  If that fails, emit two two-operand
+	insns.
+
+	* rtl.h (FUNCTION_FLAGS_FRAME_POINTER_NEEDED): Deleted; all others
+	renumbered.
+
+	* stmt.c (expand_decl): No longer have to set frame_pointer_needed
+	for variable-sized decl.
+
+	* stupid.c (stupid_find_reg): Don't try to allocate an eliminable
+	register.
+
+	* tm-vax.h (INITIAL_FRAME_POINTER_OFFSET): Add definition.
+
+	* recog.c (next_insn_tests_no_inequality): If no next insn, return 0.
+
+	* print-tree.c (print_node): Set length for TREE_VEC.
+
+	* calls.c (store_one_arg): Set arg->value to location where argument
+	was placed (either register or stack).
+
+	* recog.c: Needs flags.h (for flag_pretend_float):
+	* Makefile.in (recog.o): Likewise.
+
+	* expr.c (convert_move): Add missing RETURN statements.
+
+Sat May 19 14:26:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case EXIT_STMT): Return rather than falling
+	out of switch statement (and into `binop').
+
+	* cse.c (cse_insn): Allow conditional branches to be turned into
+	noops when the condition is known false by not calling validate_change.
+
+	* cse.c (fold_rtx): Add LABEL_REF to list of fast RTL codes.
+
+Sat May 19 12:41:44 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i386gas.h (ASM_OUTPUT_ALIGN): Use log as arg to .align.
+	(ASM_OUTPUT_ALIGN_CODE): Likewise.
+
+	* gcc.c (default_compilers): For .cc, pass -g* to cc1.
+
+Sat May 19 06:51:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tree.c (push_obstacks, pop_obstacks): Put struct obstack_stack
+	in obstack instead of using xmalloc/free.
+	(init_tree): Initialize new obstack for {push,pop}_obstacks.
+
+	* tree.c (simple_cst_list_equal): No longer static.
+
+Fri May 18 19:38:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.h (MUST_PASS_IN_STACK): Refine test for case where padding
+	requirement prohibits passing in register.
+
+Fri May 18 18:14:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Fix CAT macro in memvar.h.
+
+Fri May 18 16:13:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (do_jump): Don't explicitly copy item being tested from
+	MEM to REG.  If needed, this will be done later.
+
+Thu May 17 14:33:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (bootstrap): Pass LANGUAGES to inner makes.
+
+Thu May 17 13:57:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* fixincludes: Handle _CTRL like CTRL.
+
+Wed May 16 21:09:42 1990  Richard Kenner  (kenner at vlsi1.ultra.edu)
+
+	* fold-const (fold): Two conversions in a row are needed if from an
+	integer type to a pointer type of a different precision.
+
+Wed May 16 16:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* expr.c (expand_expr): Make sure a volatile value is referenced
+	even if value is ignored.
+
+	* c-typeck.c (truthvalue_conversion): Result COND_EXPR gets type int.
+	(invert_truthvalue): Simplify COND_EXPR.
+
+Tue May 15 00:25:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* stor-layout.c (layout_record): Do set TYPE_SIZE if size is var.
+
+	* reload.c (push_reload): If insn is an asm, verify that CLASS
+	is at least possible for the specified mode.
+
+	* c-decl.c (complete_array_type): Compensate for wide string constant.
+
+	* final.c (leaf_function_p): Reject everything if profiling.
+
+	* function.c (optimize_bit_field): Adjust OFFSET if
+	BITS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
+
+	* expmed.c (store_bit_field, extract_bit_field): Rework the code
+	to adjust XBITPOS for the size within which to count.
+	(extract_bit_field): When converting MEM to REG, don't make SUBREG
+	immediately; fall through and let this happen in the code that
+	handles original registers of the wrong mode.
+
+Mon May 14 16:01:13 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* cexp.y (yylex): Ignore carriage return.
+	* cccp.c (initialize_char_syntax): Likewise.
+	(newline_fix, name_newline_fix): Likewise.
+
+	* c-common.c: New file.
+	(combine_strings): Moved here.	Fix errors for wide string length.
+	* c-parse.y, objc-parse.y, cplus-lex.c: Function deleted here.
+
+Sun May 13 08:08:41 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (subst_constants): Fix typo in case 'E'.
+
+Sat May 12 17:14:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* combine.c (subst): Don't change -(y-x) to x-y for IEEE floats.
+	Include real.h.
+
+	* cse.c (fold_rtx): Don't simplify float+0, float-0, float*0
+	if using IEEE floating point.
+	Don't simplify float-self even if not IEEE.
+	* fold-const.c (fold): Likewise.
+
+	* i386.md (trunc**): Use long move if source is constant.
+	* out-i386.c (PRINT_REG): Handle CODE == 'k'.
+
+	* fixincludes: Use rm -fr to delete before making link.
+
+	* optabs.c (init_optabs): Support MULDI3_LIBCALL, etc.
+
+Sat May 12 17:04:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (find_best_addr): Don't modify constant address MEMs; they
+	are shared.
+
+Sat May 12 15:17:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* ns32k.md (signed bitfield extract): Don't output assembler comment.
+
+Fri May 11 15:23:55 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in: Don't use $(libsubdir) as a target since it involves
+	shell `...` constructs.
+
+	* genattr.c (fatal, main): Remove relics of old program name.
+	* genattrtab.c: Likewise.
+
+	* expr.c (expand_expr, case COND_EXPR): Add missing argument to
+	operand_equal_p.
+
+	* reload.c (form_sum): Handle case where second operand is
+	(plus foo (const_int ...)).
+
+	* c-typeck.c (c_sizeof{,_nowarn}, c_alignof): Don't blow up for
+	ERROR_MARK.
+	* cplus-typeck.c (c_sizeof{,_nowarn}, c_alignof): Likewise.
+
+	* cplus-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
+	since c defines sizeof (char) as 1.
+
+	* loop.c (mark_loop_jump): RETURN, SIGN_EXTEND, and ZERO_EXTEND can
+	also occur in JUMP_INSN's.
+
+	* reload.c (find_reloads, find_reloads_address): Correct errors where
+	an arg to find_reloads is "VOIDmode" instead of "0" and vice versa.
+	(find_reloads_address_1): Likewise.
+
+	* global-alloc.c (global_alloc): Avoid divide-by-zero for allocnos
+	where all regs have reg_live_length == -2.
+
+Fri May 11 14:45:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* tm-i860.h (ASM_OUTPUT_CASE_LABEL): Align to multiple of 4.
+
+Thu May 10 23:43:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
+
+	* out-i860.c (single_insn_src_p, strict_single_insn_src_p):
+	Correct conditions for needing multiple instructions.
+	(output_delayed_branch): Likewise.
+
+See file ChangeLog.1.
+
+Local Variables:
+mode: indented-text
+left-margin: 8
+fill-column: 76
+version-control: never
+End:
diff --git a/gcc/ChangeLog.3 b/gcc/ChangeLog.3
new file mode 100644
index 0000000..346311a
--- /dev/null
+++ b/gcc/ChangeLog.3
@@ -0,0 +1,8063 @@
+Fri Jul 19 18:56:14 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (canon_reg): Allow for recursive call returning 0 (if we had
+	an EXPR_LIST).
+	* sched.c (init_aliases_analysis): Ignore REG_EQUAL note when its value
+	is an EXPR_LIST.
+	* unroll.c (loop_iterations): Likewise.
+
+	* rs6000.md (andsi3): Fix typo in and-with-cc pattern.
+
+Fri Jul 19 11:23:22 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* toplev.c (set_target_switch): For TARGET_OPTIONS, set the
+	variable to the variable part of the actual option.
+	* tm-m88k.h, out-m88k.c: Change the use of m88k_short_data.
+
+	* varasm.c (output_constant_def): Merge get_or_assign_label and
+	delete it.  Ensure that ENCODE_SEGMENT_INFO is evaluated before
+	SELECT_SECTION.
+
+Thu Jul 18 19:57:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.h (MUST_PASS_IN_STACK_BAD_PADDING): Definitions were backwards.
+
+Thu Jul 18 17:52:46 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* unroll.c: Fix typos in comments.
+	(splittable_regs_updates): New static global variable.
+	Indicates the number of instructions that modify a split biv
+	remaining during the last iteration of a loop, so that the last one
+	can be handled specially.
+	(unroll_loop): Allocate and clear it.
+	(copy_loop_body): Use it to determine how to rewrite an insn
+	modifying a split iv.
+	(find_splittable_regs): When a splittable biv is identified, set it
+	equal to the number of insn modifying the biv.
+	(find_splittable_givs): When a splittable giv is identified, set
+	it to one if this giv is a reg.
+	
+	* unroll.c (copy_loop_body): Instead of trying to special case
+	insns that use start_label, use the label_map to map the start
+	label to the appropriate label for all insns except those that
+	must be inverted and redirected.  The former code did not handle
+	tablejumps that used the start_label correctly.
+
+	* integrate.c (copy_rtx_and_substitute): Don't legitimize an
+	address inside of an ADDRESS rtx.  This fails, because this need
+	not be a validate address, but it is always valid in the context
+	it appears in.
+
+Thu Jul 18 08:13:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* toplev.c (set_target_switch): Support TARGET_OPTIONS for command
+	options with values.
+
+	* varasm.c (output_constant_def): Set flags with
+	ENCODE_SEGMENT_INFO for strings and constructors.
+	* tm-mips.h (ENCODE_SEGMENT_INFO): Must be a VAR_DECL.
+
+	* out-m88k.c, tm-m88k.h, m88k.md: Implement a global pool approach
+	to short addressing.
+
+	* m88k.md (extendsfdf2, truncdfsf2): Use fsub rather than fadd.
+	This conforms to IEEE 754 in all rounding modes except round to
+	negative infinity whereas fadd conforms only in that mode.
+
+Thu Jul 18 01:01:37 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Add command line to compile reg-stack.c, and add
+	reg-stack.obj to the list of files passed to the VMS linker.
+
+Thu Jul 18 00:11:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (enquire.o): Need not depend on gnulib.
+	(gnulib2): Renamed from gnulib2.portable.
+	Don't do ranlib.
+	(gnulib2.portable): Just refers to gnulib2.
+	(gnulib1.portable): Don't do ranlib.
+
+Wed Jul 17 11:19:09 1991  Michael Meissner  (meissner at geech.gnu.ai.mit.edu)
+
+	* Makefile.in (gcc): Do a -dumpspecs after building gcc so that -B./
+	will override any installed specs in /usr/local/lib.
+	(mostlyclean): Delete *.cpp files which are left if you use
+	-save-temps.
+
+Wed Jul 17 06:08:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): When putting I2 and/or I1 into NEWPAT,
+	check for a PARALLEL; if so, just put in the relevant SET instead
+	of making a PARALLEL containing a PARALLEL.
+
+Tue Jul 16 18:58:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (record_value_for_reg): Show we haven't seen the death
+	of a register once we have seen it modified.
+
+	* reload1.c (reload): If we decide to put a pseudo which used to have
+	a MEM equiv onto the stack, set SOMETHING_CHANGED and reprocess all
+	eliminations and pseudos without scanning the insns.
+
+Tue Jul 16 13:17:14 1991  Michael Meissner  (meissner at wookumz.gnu.ai.mit.edu)
+
+	* cplus-decl.c (sigsegv): Make signal handler void for full
+	prototyping systems.
+
+Tue Jul 16 12:25:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): Ignore types with no names of any kind.
+
+Tue Jul 16 07:12:52 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (pushcase, pushcase_range): Return label in *DUPLICATE,
+	not integer value.
+
+	* rtlanal.c (reg_referenced_p, reg_overlap_mentioned_p): Allow X to
+	be (cc0) or (pc).
+
+	* combine.c (subst, case SET): Delete code to remove "unnecessary"
+	SUBREG; code was incorrect and this is done (corrected below) in
+	simplify_comparison.
+	(simplify_comparison): Can only remove SUBREG for equality comparisons.
+
+	* expr.c (expand_expr, case COND_EXPR): If condition has side effects,
+	ensure we evaluate it before evaluating an arm of the COND_EXPR.
+
+Mon Jul 15 21:59:36 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* rtl.h (FUNCTION_FLAGS_RETURNS_STRUCT): Fix typo in value.
+
+Mon Jul 15 22:18:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (main): Ignore CPATH if -nostdinc.
+
+Mon Jul 15 22:00:02 1991  Michael Meissner  (meissner at churchy.gnu.ai.mit.edu)
+
+	* reload.c (find_reloads): Fix typo (reg_sets_p instead of
+	reg_set_p).
+
+Mon Jul 15 21:49:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (stmt): Emit the nop for the start of a loop
+	only after the line number.
+
+Mon Jul 15 16:50:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edn)
+
+	* rtlanal.c (reg_set_p): If we are passed an insn, only pass the
+	pattern to note_stores.
+
+	* local-alloc.c (validate_equiv_mem): A CALL_INSN invalidates all
+	memory.
+
+Sun Jul 14 06:34:47 1991  Richard Kenner  (kenner at vlsi1.ultra.hyu.edu)
+
+	* cse.c (last_jump_equiv_class): New variable.
+	(record_jump_equiv): Set it.
+	(cse_insn): Clear it.
+	(cse_around_loop): Invalidate all entries in last_jump_equiv_class.
+	(cse_set_around_loop): Ensure our replacement is cheaper.
+
+Sat Jul 13 17:15:30 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* cplus-decl.c (finish_enum): Fix typo in arguments for finish_decl.
+	* cplus-class.c (finish_struct): Likewise.
+
+Fri Jul 12 16:45:02 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): Don't crash when DECL_NAME is 0.
+
+Fri Jul 12 15:38:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (do_tablejump): Don't write BARRIER between jump and table
+	if they must remain adjacent.
+
+	* varasm.c (make_decl_rtl): Set REG_USERVAR_P when register name
+	is specified.
+	* integrate.c (subst_constants): Don't substitute for a user
+	variable assigned to a hard register.
+
+	* reload.c (find_reloads): Add new vars no_{input,output}_reloads to
+	indicate when the corresponding reload type is not permitted; reject
+	an alternative that would try such a reload.
+	* rs6000.md (decrement-and-branch): No longer need kludges to
+	avoid output reloads.
+	Use '0' instead of 'c' for input 1 in alternative 0.
+	Allow operand 0 to be in non-general register.
+	
+Fri Jul 12 10:54:39 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* c-decl.c (finish_struct, finish_enum): Fix typo in arguments for
+	finish_decl.
+
+	* i386.md (bit test patterns): Delete bit tests using implicitly
+	masked bit number operand: the hardware doesn't work like that.
+
+Fri Jul 12 09:50:43 1991  Michael Meissner  (meissner at spiff.gnu.ai.mit.edu)
+
+	* tm-hp9k2bsd.h (toplevel): Remove RCS HISTORY log.
+
+Thu Jul 11 00:46:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (yylex): Do try signed int for ANSI nondecimal constants.
+
+	* c-typeck.c (record_format_info): The first time, use xmalloc.
+
+Wed Jul 10 18:54:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Fix typo in "if (...) x = a; else x = b;"
+	case: had temp3 instead of temp4.
+
+	* cplus-lex.c (lineno, end_of_file): Move definition to before
+	first use.
+	(reinit_parse_for_block): Variable `c' must be int to ensure EOF fits.
+	* cplus-input.c (getch): Remove extraneous declaration of end_of_file.
+
+	* reload1.c: Include insn-flags.h.
+	(emit_reload_insns): Handle the case where we reload an entire
+	address; use "reload_load_address" pattern, if it exists.
+	Remove explicit SImode reference; should have been Pmode, but
+	IN can be used instead of rebuilding it.
+	* Makefile.in (reload1.o): Includes insn-flags.h.
+
+	* reload.c (find_reloads): If replacing an output REG with a MEM,
+	write a CLOBBER for the REG after the insn.
+	* reload1.c (eliminate_regs): Add new arg INSN; if nonzero, add a
+	CLOBBER when replacing a REG in SET_DEST with a MEM.
+	(reload, eliminate_regs_in_insn): Add new arg to eliminate_regs.
+	* dwarfout.c (output_bound_representation, location_attribute):
+	Likewise.
+	
+	* reload1.c (reload): If a reg_equiv_memory_loc isn't strictly valid
+	and isn't sufficiently simple, use a stack slot instead.
+	(alter_regs): Don't delete reg_equiv_init insns here.
+	(reload_as_needed): Do it here.
+
+	* stor-layout.c (get_best_mode): Correct test for alignment.
+
+	* loop.c (move_movables): Don't get confused by NOTE insns in gnulib
+	call sequence.
+
+Wed Jul 10 18:40:32 1991  Matthew Self  (mself at geech.gnu.ai.mit.edu)
+
+	* cccp.c (enum node_type):  Added T_WARNING.
+
+	* cccp.c (directive_table):  Added #warning.
+
+	* cccp.c (do_warning):  Print warning message and continue.
+
+Wed Jul 10 18:38:28 1991  Matthew Self  (mself at geech.gnu.ai.mit.edu)
+
+	* c-parse.y, objc-parse.y (attrib):  Pass "format" attribute
+	through.  Takes one identifier and two constants as args.
+	identifier must be either printf or scanf.
+
+	* c-common.c (decl_attributes):  Process "format" attributes.
+	Call new routine record_format_info().
+
+	* c-typeck.c (struct function_info):  Changed function_ident field;
+	store identifier node rather than char * to speed lookup.
+	Renamed arg_num field to format_num.  Replaced is_varargs field
+	with new first_arg_num field.
+
+	* c-typeck.c (check_format):  Modified to use new arg_num and
+	first_arg_num fields.
+
+	* c-typeck.c (record_format_info):  New routine.  Replaces static
+	table of functions to check.
+
+	* cplus-typeck.c (record_format_info):  New stub routine so c++
+	will link.  Someone should implement format checking for c++.
+
+	* c-typeck.c (init_format_info_table):  New routine to add
+	entries for ANSI functions to table.
+
+	* c-decl.c (init_decl_processing):  Call init_format_info_table().
+
+	* c-typeck.c (build_function_call):  Modified to use dynamic table
+	rather than static one.  Compare identifier nodes rather than
+	using strcmp().
+
+	* gcc.texinfo ():  Document "format" attribute.
+
+	* c-typeck.c (check_format):  Call warning() directly rather than
+	returning the warning string.  This way we can give multiple warnings
+	by continuing.  Several changes to make continuing safe.
+
+	* c-typeck.c (build_function_call):  Incorporated changed return
+	value of check_format().
+
+	* c-typeck.c (check_format):  Check for NULL format string.
+
+Wed Jul 10 16:40:54 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_tags): Delete this and use the TYPE_DECL
+	representation of tagged types.  Types are now output in their
+	original lexical order.
+	(sdbout_symbol): Return early (only using sdbout_one_type) when a
+	tagged type is encountered.
+	(sdbout_block, sdbout_symbol): Don't use sdbout_tags.
+	* toplev.c (compile_file): Don't use sdbout_tags.
+	* varasm.c (assemble_function): Don't use sdbout_tags.
+
+Wed Jul 10 15:13:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_tags): Function deleted.  Calls deleted too.
+	(dbxout_tagged_type): New function.
+	(dbxout_symbol): Call that.
+	* toplev.c (compile_file): Call to dbxout_tags deleted.
+
+	* c-parse.y (yylex): Simplify choice of type for integers.
+	When traditional, all integers are signed unless explicitly unsigned.
+
+Wed Jul 10 13:35:27 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* configure (m88k-svr4): Needs make-m88ksvr4.
+	* make-m88ksvr4: New file.
+
+Wed Jul 10 13:18:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): Warn if `inline' is not consistent.
+
+	* cccp.c (hack_vms_include_specification): Fix typos.
+
+Tue Jul  9 22:21:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (find_and_verify_loops): RETURN insns aren't listed in
+	loop_number_exit_labels, so don't try to remove JUMP_LABEL of a
+	RETURN from that list.
+
+	* rtlanal.c (reg_referenced_between_p): New function.
+	* jump.c (jump_optimize): Use it instead of reg_used_between_p when
+	checking for "if (...) x = a; else x = b;" case.
+
+Tue Jul  9 13:03:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (move_block_to_reg): Don't force_const_mem on non-constant.
+
+Tue Jul  9 09:13:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* c-decl.c (finish_struct): Record tagged types as a TYPE_DECL
+	with a NULL DECL_NAME.
+	(finish_enum): Ditto.
+	* cplus-decl.c (finish_enum): Ditto.
+	* cplus-class.c (finish_struct): Ditto.
+
+	* dbxout.c (dbxout_symbol): Ignore TYPE_DECLs for tagged types.
+	* cplus-dbxout.c (dbxout_symbol): Ditto.
+	* sdbout.c (sdbout_symbol): Ditto.
+
+	* toplev.c (compile_file): DECL_NAME may be null.
+
+	* dwarfout.c (output_symbol): Use output_dies_for_tagged_type for
+	TYPE_DECLs of tagged types.
+	(dwarfout_output_tagged_type): Deleted.
+	(output_dies_for_tagged_type): Mark TREE_ASM_WRITTEN early.
+
+Mon Jul  8 19:36:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* jump.c (jump_optimize): Check for extra labels when detecting
+	"if (...) x = a; else x = b;".  Include the insn for "x = a;" when
+	testing for data conflict.
+
+Mon Jul  8 19:34:14 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (copy_for_inline, case MEM): Must copy a MEM even if
+	it has a constant address if that address involves a LABEL_REF.
+
+	* rtlanal.c (reg_set_p): Only check for REG_INC notes and a CALL_INSN
+	if we are passed an insn.
+	* local-alloc.c (optimize_reg_copy): Remove tests now done in
+	reg_set_p.
+
+Mon Jul  8 16:38:49 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (yylex): Pedantic warning here for `asm'.
+	No warning for `__asm__'.
+	(maybe_type_qual, maybeasm, extdef): No warning here.
+
+	* objc-actions.c: Rename OBJC_SELS_R_INTS to OBJC_INT_SELECTORS.
+	Rename OBJC_UNIQUE_SELS to OBJ_NONUNIQUE_SELECTORS, reversing sense.
+	Eliminate OBJC_SELS_R_STRUCT_PTRS.
+
+Mon Jul  8 06:37:00 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (reg_{used,set}_between_p): Allow FROM_INSN == TO_INSN;
+	return 0 in that case.
+
+	* jump.c (mark_jump_label): Fix typo in use of GET_RTX_LENGTH.
+
+	* reload.c (reload_strict_low): Change comment to say that this is
+	always zero; we don't use it any more.
+
+Sun Jul  7 22:14:13 1991  Michael Meissner  (meissner@churchy.gnu.ai.mit.edu)
+
+	* tm-mips.h (FRAME_POINTER_REQUIRED): Fix typo that required a frame
+	if alloca was not called, instead of the reverse.
+
+Sun Jul  7 17:14:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (struct file_buf): New field system_header_p.
+	Everything that pushes on instack now initializes this field.
+	(finclude): New arg to set that field.  Callers changed.
+	(do_include): Pass that arg as 1 for <...>, else 0.
+
+	* cccp.c (do_include): Warn for first use of #import
+	except in system header files.
+	(handle_directive): Support #import if compiling for Next.
+
+	* cccp.c (do_pragma): For #pragma once, warn it is obsolete.
+
+Sun Jul  7 14:29:04 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* tm-att386.h (NO_DOLLAR_IN_LABEL): Define this here,
+	* tm-i386sco.h (NO_DOLLAR_IN_LABEL):    not here.
+
+Sun Jul  7 06:20:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (reg_set_p): Return 1 if REG is found in a REG_INC
+	note or if INSN is a CALL_INSN and REG is a hard reg.
+	(reg_set_last): Only return a register or constant; if returning a
+	register, ensure it isn't modified between the SET we found and INSN.
+
+	* jump.c (jump_optimize): If SMALL_REGISTER_CLASSES, don't make a
+	store-flag insn if any register involved is a hard reg.
+
+Sat Jul  6 14:51:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_assignment): Don't abort for volatile structure field
+	even if the structure is in a register.
+	NOTE: This leaves the problem of implementing whatever meaning
+	a volatile field should actually have.
+
+	* fold-const.c (div_and_round_double): Make lnum and lden unsigned.
+	Use the small-denominator algorithm only for denom < 2**24.
+	Fix backward conditionals in ?: operators in general case.
+	Change i + j to i - 1 + j when indexing num.
+
+Fri Jul  5 21:36:57 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* genpeep.c (match_rtx, case MATCH_OP_DUP): Output semicolon after
+	"goto" statement.
+
+Fri Jul  5 09:45:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (andsi3): Bias alternatives so we always prefer constants.
+	(define_splits of DImode, SFmode, and DFmode): Don't split
+	unless after reload.
+	(ashldi3, lshrdi3): Fix bugs in instruction order; use & in
+	output constraint so can't conflict with operand 2; use '0'
+	constraint to allow operands 0 and 1 to be the same register.
+
+	* regclass.c (reg_n_sets): Move definition before use.
+
+	* reorg.c (fill_simple_delay_slots): Candidate for delay slot cannot
+	set anything set between it and the delay insn.
+
+	* jump.c (jump_optimize): In "if (...) x = a; else x = b;", correctly
+	specify range to check if X is used or set.
+	Use rtx_equal_p to check for matching X.
+
+Thu Jul  4 15:55:45 1991  Tom Wood  (wood at geech.gnu.ai.mit.edu)
+
+	* cccp.c (default_include): Add /usr/mach/include for MACH systems.
+
+	* configure (m88k-luna): Needs make-m88kluna.
+	* make-m88kluna: New file.
+
+	* dwarf.h: New file derived from the UNIX International
+	Programming Languages Special Interest Group DWARF specification.
+	* dwarfout.c (includes): Include "dwarf.h".
+	(subscript_data_attribute): Use FMT_CODE to encode array subscripts.
+	(languagribute): LANG type no longer provided by dwarf.h.
+	(output_source_file_die): Determine proper language attribute.
+
+Thu Jul  4 12:14:16 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* cplus-xref.c: define rindex if USG
+
+Thu Jul  4 12:36:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (process_command): Correctly split -L from its arg.
+	* SWITCHES_NEED_SPACES: New host machine option.
+	This really ought to be defined now for certain hosts,
+	but I don't know which ones they are.
+
+Wed Jul  3 23:31:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-m68k.h (ASM_OUTPUT_FLOAT): Check CROSS_COMPILE (there was a typo).
+
+Wed Jul  3 22:05:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_binary_operation, case MINUS): Fix typo in op number.
+
+	* cse.c (cse_basic_block): Correctly handle the case where TO
+	was a label with zero uses at the end of the function.
+
+	* combine.c (significant_valid): New variable.
+	(combine_instructions): Turn significant_valid off until after
+	we finished computing reg_significant.
+	(significant_bits): Ignore reg_significant when significant_valid
+	is zero.
+
+	* rtlanal.c (reg_set_last): Go past CALL_INSN as long as we are not
+	looking for a hard register.
+
+Wed Jul  3 21:07:18 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c (schedule_block): When computing what registers are dead
+	at the end of the current block, correctly handle REG_DEAD notes
+	that refer to multi-word hard registers.
+
+	* loop.c (mark_loop_jump): When invalidating loops with multiple
+	entries, must invalidate every nested loop containing the target
+	of a loop entry jump, except for those that also contain the jump
+	itself.
+
+	* loop.c (record_giv): When computing whether a giv is
+	replaceable, check whether the biv update has a valid luid, and
+	mark it as not replaceable if not.
+
+	* combine.c (gen_rtx_combine): Call rtx_alloc instead of gen_rtx,
+	because it is much faster, especially on some RISC machines.
+
+	* fixincludes: Add optional argument which indicates where to put
+	the fixed include files.  Echo the directory name where the
+	include files will be put.
+
+	* cccp.c (struct default_include): Don't examine
+	STANDARD_INCLUDE_DIR or /usr/local/include when
+	NO_STANDARD_INCLUDE_DIR is defined.  This is useful when building
+	cross compilers. 
+	(main): Only send SIGPIPE signal if the SIGPIPE signal exists on
+	the host.
+	(rescan, handle_directive, skip_if_group, validate_else,
+	skip_to_end_of_comment, macarg1, discard_comments): Accept '//' as
+	a comment in Objective-C as well as C++.  The Objective C language
+	specifies that '//' starts a comment.
+
+	* .gdbinit (ptn): Define new macro to print out the name of a type
+	node.
+
+	* stab.def: Correct errors in table for values of DSLINE and
+	BSLINE.  Document the conflict between BROWS and BSLINE.  Document
+	the value of the BROWS field.
+
+Tue Jul  2 23:26:20 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
+
+	* mips-tfile.c (toplevel): Add a comment explaining the MIPS ECOFF
+	file format at the start of the file.
+
+Tue Jul  2 14:00:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_array_ref): Report error here if the "array"
+	is not an array or pointer.  Don't leave this for the PLUS_EXPR.
+
+	* cccp.c: Inlcude containing file names/lines in error messages.
+	(print_containing_files): New function.
+	(error*, warning): Call it.
+	(finclude): Increment input_file_stack_tick when file changes.
+
+	* cccp.c: Include descrip.h.
+
+Tue Jul  2 07:44:19 1991  Tom Wood  (wood at geech.gnu.ai.mit.edu)
+
+	* tm-m88k.h (ASM_OUTPUT_SOURCE_LINE): Define only for SDB.
+	* tm-m88kdgux.h (AS_BUG_*): Support these for now.
+
+	* c-decl.c (finish_struct): Invoke dwarfout_output_tagged_type
+	only when producing DWARF debugging info.
+	* cplus-class.c (finish_struct): Ditto.
+
+Mon Jul  1 23:03:34 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (compile_file): Close stack_reg_dump_file iff STACK_REGS.
+
+Mon Jul  1 15:17:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (set_significant): Ignore CLOBBERs.
+	(simplify_and_const_int, case SUBREG): Only ignore paradoxical SUBREGs
+	if BYTE_LOADS_ZERO_EXTEND.
+	(record_value_for_reg): Fix typo; had I for REGNO.
+
+Mon Jul  1 08:28:09 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* final.c (output_source_line): Output DWARF line numbers.
+
+	* dwarfout.c (dwarfout_output_tagged_type): New function.
+	* c-decl.c (finish_struct): Call it.
+	* cplus-class.c (finish_struct): Call it.
+
+	* dwarfout.c (includes): Need insn-config.h and reload.h.
+	(location_attribute): Use eliminate_regs for correct expression.
+	(output_bound_representation): Use SAVE_EXPR_RTL to get rtl and
+	then use eliminate_regs.
+
+	* reload1.c (reload): When finished, indicate reg_equiv_constant
+	and reg_equiv_memory_loc are no longer valid.
+	(eliminate_regs): Don't attempt use of reg_equiv_constant or
+	reg_equiv_memory_loc if they aren't valid.  No longer static.
+	* reload.h: Declare eliminate_regs.
+
+	* toplev.c (compile_file): Only call dwarfout_file_scope_symbol
+	for VAR_DECLs. 
+
+Sun Jun 30 15:49:39 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* expr.c (expand_builtin, case BUILT_IN_MEMCPY): If alignment test
+	fails, and function was really BUILT_IN_STRCPY, zero out length
+	parameter before expanding call.
+
+Sun Jun 30 18:27:14 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu)
+
+	* jump.c (jump_optimize): In "if (...) x = a; else x = b;", don't
+	move the "x = b;" if the test modifies X or if X is a hard register
+	and SMALL_REGISTER_CLASSES is defined.
+	Turn "if (...) x = 1; else {...} if (x) ..." code on when we have cc0.
+
+Sun Jun 30 13:49:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gnulib2.c (__builtin_saveregs):
+	For i860, make data structure fit in with va-i860.h.
+
+	* tree.c (gcc_obstack_init):
+	Support OBSTACK_CHUNK_ALLOC and OBSTACK_CHUNK_FREE.
+
+	* calls.c (prepare_call_address): 3rd arg now address of chain var.
+	(expand_call): Call changed.
+	* expr.c (emit_library_call): Call changed.
+
+	* function.c (fix_lexical_addr): In recursive call, pass slot address.
+
+	* Makefile.in (cse.o): Added deps.
+
+	* Makefile.in (GNULIB2_CFLAGS): Use -O2.
+
+	* gnulib1.c, gnulib2.c (abort): Undefine only if defined.
+
+	* genattr.c (main): Fix typo in comment end.
+
+Sat Jun 29 21:57:28 1991  Torbjorn Granlund  (tege at zevs.sics.se)
+
+	* longlong.h (__sparc8__ umul_ppmm): Insert 3 nop:s for wr delay.
+	* longlong.h (___IBMR2__): Define umul_ppmm, add_ssaaaa, sub_ddmmss..
+	* longlong.h (__sparc__): Don't call .umul; expand asm instead.
+	  Don't define __umulsidi3 (i.e. use default definition).
+
+Sat Jun 29 06:25:19 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-vax.h (CPP_SPEC): New macro.
+	(LIB_SPEC): Handle -mg.
+
+	* cccp.c (install_builtins): Fix backward test of objc.
+
+	* fold-const.c (size_int): No need to test sign of NUMBER.
+
+	* gcc.c (process_command): Split -L from its arg.
+
+	* gcc.c (S_ISREG): Define if not defined.
+	(delete_temp_files): Use it.
+
+	* limits.h (UCHAR_MAX, CHAR_MAX, USHRT_MAX): Delete `U'.
+	(LONG_MAX, ULONG_MAX): Add `L'.
+
+Fri Jun 28 22:22:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile (realclean): Delete stage1, stage2, stage3.
+
+	* gcc.c (fatal) [HAVE_VFPRINTF]: Do print program name.
+
+Fri Jun 28 15:34:08 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c (output_block_move): Correctly handle the case where
+	the size is not a CONST_INT, and has a value of 0.
+
+	* flags.h (flag_no_inline): Modify comment to match the one in
+	toplev.c.
+
+	* integrate.c (copy_rtx_and_substitute): When creating new rtx,
+	make sure all of the new bitfields are copied, e.g.
+	REG_LOOP_TEST_P, LABEL_OUTPUT_LOOP_P, etc.
+
+	* loop.c (loop_optimize): Call reg_scan after
+	find_and_verify_loops, because it may change register lifetimes.
+	(find_and_verify_loops): After moving a block of code outside the
+	loop, must readjust the loop_number_exit_label and
+	LABEL_OUTSIDE_LOOP_P data of the modified jump and the moved jump.
+	toplev.c (rest_of_compilation): Delete reg_scan call before
+	loop_optimize.
+
+Fri Jun 28 13:16:37 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (toplevel): Add target_flags to externals declared.
+	(toplevel): Add dslots_number_nops, mips_load_reg{,2},
+	mips_fill_delay_slot external declarations for delay slot reorg.
+	(CC1PLUS_SPEC): By default, pass -fno-gnu-binutils to cc1plus.
+	(TARGET_FLAGS): Add -mwc8, -mwc16, -mwc32 to set size of wchar_t,
+	though the switches are not used right now.
+	(TARGET_FLAGS): Add -msoft-float code from rfg@ncd.com to compile
+	on systems w/o floating point.
+	(TARGET_FLAGS): -mdebugf suppresses filling load delay slots.
+	(HARD_REGNO_OK): Relax constraints, allow anything in GP
+	registers, anything in even FP registers, int's only in multiply
+	and divide registers, int/CC in the FPSW register.
+	(FRAME_POINTER_REQUIRED): Require frame if alloca is called for
+	now.
+	(REG_CLASS_FROM_LETTER): Index from an array (mips_char_to_class)
+	instead of having lots of ?:'s.  Also, allow 'd' to signify GP
+	registers.
+	(ENCODE_SEGMENT_INFO): Only record things being in small data/bss
+	if -mgpOPT (-O sets by default), -O, and -G xx where xx > 0.
+	(FINAL_PRESCAN_INSN): Rework to automatically not fill the
+	previous instruction's load delay slots with nop's if it is safe.
+	(ASM_OUTPUT_LABEL): If compiling collect, don't use assemble_name.
+	(ASM_GLOBALIZE_LABEL): If compiling collect, don't use
+	assemble_name.
+	(ASM_OUTPUT_LABELREF_AS_INT): Define this for collect.
+	(ASM_OUTPUT_INT): If collect, don't use output_addr_const.
+
+	* mips.md (all floating point): If -msoft-float, don't allow any
+	floating point builtin operations.
+	(all patterns): Use 'd' constraint to limit things to GP
+	registers, rather than 'r'.  This allows unions of
+	float/int/double to occupy any registers.
+	(*extend*): Call mips_move_1word to handle loads, which in turn
+	sees if we can omit the load nop.
+	(fix_trunc*): Redo, since register allocator can handle moving to
+	the appropriate register set.
+	(movdf_xfer*): Use explicit return's instead of falling through
+	and having the appropriate value in a register from the previous
+	call.
+	(movsf_xfer*): New patterns to accomidate unions of floats and
+	int's.
+	(movsi_unaligned): New define_expand to call either movsi_ulw or
+	movsi_usw.  Also, if not a memory operation, use movsi.
+	(movsi_ulw): Set up to omit load delay nop if we can.
+	(movsi_usw): Use memory_operand instead of simple_memory_operand.
+	Also, allow storing 0 to an unaligned location.
+	(various move patterns): mips_move_1word now takes a third
+	argument to specify whether a load should sign or zero extend.
+	(call_value): Use register_operand on return value.
+	(probe): Turn into define_expand, and set a register to the
+	contents of memory pointed to by the stack pointer with volatil
+	set.
+
+	* out-mips.c (toplevel): Add new global variables:
+	dslots_number_nops, mips_load_reg{,2}, mips_regno_to_class,
+	mips_char_to_class.
+	(simple_memory_operand): If not optimizing, no global memory
+	reference is assumed to be in the GP area.
+	(mips_fill_delay_slot): New function to tell FINAL_PRESCAN_INSN
+	the current insn is a load and may need a nop.
+	(mips_move_1word): Take a third argument to say whether load byte
+	and load half-word sign extend or zero extend.  Change all
+	callers.  If this is a load, call mips_fill_delay_slots to
+	schedule the nops.  Change all return's to setting a variable, and
+	falling through to the end.
+	(mips_move_2words):  If this is a load, call mips_fill_delay_slots
+	to schedule the nops.  Change all return's to setting a variable,
+	and falling through to the end.
+	(function_arg): if -msoft-float, floating point is passed in GP
+	registers.
+	(override_options): Initialize mips_char_to_class.
+	(print_operand): %( and %) no longer do .set nomacro.
+	(print_operand): %# prints #nop if gas or -mstats.
+	(print_operand): Check for too many %), %], and %>'s.
+	(compute_frame_size): Allocate space in stack to hold FP, just in
+	case we later need a FP and previously thought we could eliminate
+	it.
+	(save_restore): Take a string to indicate the 2word load/store to
+	use, but don't use it at present.  Change all callers.  Home
+	varargs registers with sd if we can.
+	(function_epilogue): Deal with one or more outstanding nop's from
+	FINAL_PRESCAN_INSN.
+	(function_epilogue): Revamp -mstats output format.
+	(function_epilogue): Zero new global variables.
+
+	* make-decrose (toplevel): Sort make variables.
+	(CLIB): Add -lld library.
+	(LANGUAGES): Add build of collect-osf and g++.
+	(ULTRIX_DIR): Change internal work directory location.
+	(cplus-lex.o): Don't optimize to avoid problem with 1.39 compiler.
+	(collect-osf): Add rules to build OSF/rose version of collect.
+
+	* make-mips (LANGUAGES): Add build of g++.
+
+	* tm-decrose.h (SIZE_TYPE): Specify to be long unsigned int.
+	(PTRDIFF_TYPE): Specify to be long int.
+	(WCHAR_TYPE): Specify to be long unsigned int.
+
+	* sdbout.c (plain_type_1): Add support for unknown tags if
+	SDB_ALLOW_UNKNOWN_REFERENCES is defined.  The MIPS ECOFF support
+	needs this, but standard COFF typically doesn't allow unknown
+	references.
+
+	* gcc.texinfo (Debugging Info): Document
+	SDB_ALLOW_UNKNOWN_REFERENCES and SDB_ALLOW_FORWARD_REFERENCES.
+
+	* collect-osf.c (whole file): New file to provide collect support
+	on OSF/rose.
+
+Fri Jun 28 09:20:18 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* configure (m88k-luna): New target.
+	* tm-m88kluna.h: New file for the Omron Luna/88k.
+	* xm-m88k.h: Don't use USG for the luna88k.
+
+	* tm-m88kdgux.h: DG/UX implements coff and elf.  Currently elf is
+	a strange variant of coff that's non-standard (it uses SDB
+	debugging info for example).  Soon, the DG/UX elf will support
+	DWARF.  These changes provide transitional support for all three.
+	(DWARF_DEBUGGING_INFO, SDB_DEBUGGING_INFO): Define both.
+	(VERSION_0300_SYNTAX): True when -msvr4 and -mversion-03.00.
+	* tm-m88ksvr4.h (ASM_FILE_END, ASM_OUTPUT_DWARF_LINE): Move these
+	to tm-m88k.h.  They are dwarf specific.
+	* tm-m88k.h (TARGET_SWITCHES): Add -mversion-03.00 and -mdwarf.
+	(OVERRIDE_OPTIONS): If using version 03.00 syntax, assume DWARF_DEBUG.
+
+	* tm-m88k.h (REG_ALLOC_ORDER): Adapt slightly for using r26-r29.
+
+	* out-m88k.c (m88k_debugger_offset): Don't complain if the base
+	register is optimized away.
+
+Thu Jun 27 21:43:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (memref_referenced_p, memref_used_between_p):
+	New functions.
+	(update_equiv_regs): Call memref_used_between_p.
+
+Thu Jun 27 19:59:36 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* print-tree.c (print_node): Changed the various "lang_#" strings to
+	indicate which of several possible fields are being examined; new
+	strings are "tree_#", "decl_#", "type_#".
+
+Thu Jun 27 15:05:43 1991  Michael Meissner  (meissner at churchy.gnu.ai.mit.edu)
+
+	* xm-mips.h (ONLY_INT_FIELDS): Define if not compiling with GCC
+	since the MIPS compiler treats enum bitfields as signed.
+
+Wed Jun 26 19:48:16 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c (memrefs_conflict_p): Explicitly handle case where both
+	X and Y are CONST.
+	(sched_analyze_2): Do create dependencies for insns with REG_EQUIV
+	notes.
+	(sched_note_set): Correctly handle the case where the destination
+	register is a multi-word hard register.
+	(attach_deaths): Don't add a REG_DEAD note to an insn with a
+	REG_UNUSED note that mentions the same register.  Correctly handle
+	the case where the destination register is a multi-word hard
+	register.
+	(schedule_block): Also call sched_note_set for CLOBBERs when
+	computing which registers are dead at the end of the basic block.
+	Also call sched_note_set for USEs when computing what registers
+	are still live after a just scheduled insn.
+	(regno_use_in): New function, subroutine of split_hard_reg_notes.
+	Searches an rtx for any reference to the given register, and
+	returns the register rtx used if any.
+	(split_hard_reg_notes): New function.  Handles the case where a
+	multi-word hard register with a REG_DEAD note gets split.  Creates
+	a new REG_DEAD note for each part of the original hard register
+	used by the split insns.
+	(new_insn_dead_notes): Don't add a REG_DEAD note to an insn with a
+	REG_UNUSED note which mentions the same register.
+	(update_links): Add call to new function split_hard_reg_notes.
+	Correctly handle the case when the dest of the original insn was a
+	multi-word register which was split in the split insns.  In this
+	case, the dest is no longer killed here, so must remove the
+	REG_DEAD on the last previous insn in this basic block which used
+	dest, if any such exists.
+
+	* unroll.c (reg_dead_after_loop): Check that a CODE_LABEL which is
+	the target of a JUMP_INSN has a non-zero PREV_INSN field before
+	trying to derefence it.  Fail if there is no previous insn.
+
+	* loop.c (scan_loop): Fix typo.
+	* local-alloc.c (optimize_reg_copy): Likewise.
+	* global-alloc (hard_reg_copy_preferences): Likewise.
+	* gcc.texinfo (REG_LOOP_TEST_P): Likewise.
+	* optabs.c (expand_float): Likewise.
+	* tm-vaxv.h (ASM_OUTPUT_ASCII): Likewise.
+
+	* out-sparc.c (output_move_double): Sign extend CONST_INTs that
+	feed DImode targets.
+	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept a LABEL_REF
+	as a legal address.  Also, delete obsolete parts of preceeding
+	comment.
+
+	* reload1.c (alter_reg): Only try to delete the reg_equiv_init
+	insn if it hasn't already been deleted by a previous call to
+	delete_dead_insn.
+
+	* toplev.c (main): Handle -gdbx in addition to -gsdb for
+	orthogonality.
+	* gcc.texinfo: Document -gdbx.
+
+Tue Jun 25 09:57:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (casesi): Don't emit a barrier; the dispatch code must
+	adjoin the table.
+	* tm-m88k.h (DONT_REDUCE_ADDR): Don't use this.
+	(CONDITIONAL_REGISTER_USAGE): The PIC register is also call-used.
+	* out-m88k.c (m88k_layout_frame): Save the PIC register.
+
+Tue Jun 25 07:40:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (expand_function_end): FNDECL should
+	be CURRENT_FUNCTION_DECL.
+
+	* combine.c (find_split_point): If we see an AND operation as the
+	first operand of some non-AND operation, use it as a split point.
+	(subst): Add counter to limit restarts, go to restart more often.
+	(subst, case AND): If we get (ior (and (X C1) C2)) and can't
+	restart more than once, rewrite with C1 as small as possible and exit.
+
+	* cse.c (cse_end_of_basic_block): Don't put branch in our path more
+	than once.
+	(cse_main): Clear PATH_SIZE when skipping a block.
+	(cse_basic_block): Use GET_RTX_CLASS.
+
+Tue Jun 25 07:39:29 1991  Matthew Self  (mself at next.com)
+
+	* varasm.c (const_hash, compare_constant_1, record_constant_1):
+	For ADDR_EXPR's, don't hash address of SYMBOL_REF.  Only use
+	offset and name of symbol.  This allows constructors which
+	contain pointers to identical string literals to be uniqued.
+
+	* loop.c (loop_optimize, init_loop):  Moved call to
+	gcc_obstack_init() from loop_optimize() to init_loop().
+
+	* reload1.c (reload, init_reload):  Moved call to
+	gcc_obstack_init() from reload() to new function init_reload().
+
+	* toplev.c (compile_file):  Call new function init_reload().
+
+Mon Jun 24 16:05:57 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* stmt.c (expand_end_stmt_expr): Fix typo in comment.
+
+	* reload1.c (modes_equiv_for_class_p): Only fail if registers in
+	CLASS that can hold ALLOCATE_MODE can't also hold OTHER_MODE.  Do
+	not fail for the reverse test.  ALLOCATE_MODE is always a larger
+	or same size mode as OTHER_MODE, and will be the mode that reload
+	uses when allocating spill registers.  Rewrite comments to explain
+	new behaviour.
+	(reload): Change call to modes_equiv_for_class_p to match new
+	semantics.
+
+	* combine.c (simplify_shift_const): When simplifying (ashiftrt
+	(ashift inner_const_int) const_int), was checking the wrong number of
+	high order bits of inner_const_int.  Also correct typos in comments.
+
+	* c-convert.c (convert_to_integer): Must also check ARG1 for
+	unsignedness, because ARG0 could be a constant when EXPR is a
+	MINUS_EXPR.
+
+	* combine.c (try_combine): When splitting, it is not safe to use
+	I2DEST if it is referenced by NEWPAT.
+
+	* combine.c (distribute_notes): After converting REG_DEAD notes to
+	REG_UNUSED notes, clear PLACE if it already has a REG_UNUSED note,
+	to prevent adding a duplicate REG_UNUSED note.
+
+	* gcc.texinfo (SIGNED_CHAR_SPEC): Document.
+
+Mon Jun 24 10:02:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_set_around_loop): Ensure the insn we find in front
+	of the loop does the set in the proper mode.
+
+	* optabs.c (expand_float): Always do conversions to FMODE in the
+	signedness of the input.
+
+	* reload.c (find_reloads, find_reloads_toplev): If reg_equiv_address
+	is not a constant address, copy it in case it is shared.
+
+	* reload1.c (eliminate_regs): Copy reg_equiv_memory_loc in case
+	it is shared and we make a reload inside it.
+
+	* stupid.c (stupid_mark_refs): Registers that aren't used must die
+	in the insn after their birth so they conflict with other outputs.
+
+	* vax.md: Replace patterns to convert (and (ashiftxx))
+	into (and (rotatexx)) with the patterns that are actually made
+	by combine.
+	We can allow offsettable addresses for operand 0 and it is not
+	early-clobber.
+
+	* out-rs6000.c (secondary_reload_class): Correctly interpret result of
+	true_regnum.
+
+	* out-rs6000.c (output_toc): Write FP constants in TOC.
+	* tm-r6000.h (TARGET_FP_IN_TOC): New flag.
+	(TARGET_SWITCHES): Add -mfp-in-toc and -mno-fp-in-toc.
+	(TARGET_DEFAULT): -mfp-in-toc is the default.
+	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): FP constants may be put in the TOC.
+
+Mon Jun 24 00:52:44 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* out-i386.c (output_fix_trunc): If the dest operand mentions the
+	stack pointer, then we must adjust it to account for the temporary
+	space we allocate on the stack here.
+
+Sat Jun 22 07:24:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_set_around_loop): Fix typo in call to note_mem_written.
+
+	* emit-rtl.c (reorder_insns): Correctly handle case when AFTER is last
+	insn.
+
+	* expr.c (expand_expr, case COND_EXPR): Correctly handle X ? A : X + 1.
+	Previous change called invert_truthvalue which can modify EXP; we now
+	call it a second time to undo its action if do_store_flag fails.
+
+Sat Jun 22 02:37:59 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* cse.c (cse_set_around_loop): Don't try to initialize an
+	automatic structure.
+
+	* reg-stack.c (compare_for_stack_reg): If both operands to a
+	compare are the same stack reg, don't process death on the second.
+
+	* i386.md (all float patterns): Don't allow constants in the
+	operand predicates.
+	(all patterns using convert_387_op): Split patterns into one using
+	FLOAT and another using FLOAT_EXTEND.
+
+Fri Jun 21 20:37:03 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sched.c (line_note, line_note_head): New vectors for use when
+	dealing with line-number notes.
+	(unlink_notes): Put line-number notes in LINE_NOTE for reuse.
+	(schedule_block): Just before reordering the insns, walk the insns
+	and record the line-number note in effect for each one.  When
+	reordering is complete, restore the line-number notes as needed.
+	(schedule_insns): When debugging information is present, allocate
+	and initialize line_note and line_note_head.  After scheduling,
+	walk the insns to delete redundant line-number notes.
+
+Fri Jun 21 19:54:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* old-sparc.c, out-old-sparc.c, tm-old-sparc.h: Delete obsolete
+	files.
+
+	* loop.c (loop_number_exit_labels): Expand comment.  Mention that
+	returns are not included because all bivs and givs are pseudos and
+	hence must be dead after a return.
+
+Fri Jun 21 07:10:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst, case PLUS, MINUS): Remove cases for things like
+	(x-y)+y; now done in simplify_binary_operation.
+	* cse.c (simplify_unary_operation): Handle (sign_extend (truncate ..))
+	as used in casesi patterns.
+	(simplify_binary_operation, case PLUS, MINUS): Don't do most
+	simplifications if IEEE floating-point.
+	Add cases for things like (x-y)+y.
+	(fold_rtx): Replace PC with LABEL_REF if we are immediately in
+	front of a jump table.
+	Move code to apply associative law to after we have folded the
+	operands.
+	(fold_rtx, case MEM): Fix errors in checking for index of jump
+	table being out of range.
+	For ADDR_DIFF_VEC, return a MINUS or (truncate (minus L1 L2)).
+	(fold_rtx, case PLUS): If we have (plus X (label_ref L)), see
+	if X is equivalent to (minus L1 L2).
+	(cse_insn): Put (minus L1 L2) in `src_const' so it gets in a
+	REG_EQUAL note and gets put in the hash table.
+	If we are branching to a jump table, we are really branching to
+	immediately after the jump table
+	Remove special-case kludge for ADDR_DIFF_VEC; now handled properly.
+
+	* vax.md (casesi): Make pattern agree with machine instruction;
+	specifically, index is multiplied by two and the comparison is LEU,
+	not LE.
+
+	* cse.c (equiv_constant): If X is a one-word SUBREG of a larger
+	quantity, use `lookup_as_function' to see if it is equivalent
+	to a CONST_INT.
+
+	* jump.c (squeeze_notes): No longer static.
+	* loop.c (find_and_verify_loops): Need to call squeeze_notes when
+	moving block of code (see last change).
+
+	* reload.c (find_reloads): When forcing constant to memory,
+	set recog_operand to the result of find_reloads_toplev.
+
+	* combine.c (subst, case PLUS): Add (c1 - a) + c2 -> (c1+c2) - a.
+	(subst, case MINUS): Use simplify_binary_operation rather than
+	making CONST_INT from subtraction of two INTVAL's to ensure it
+	gets truncated as appropriate for its mode.
+	Add (c1 - (c2 - a)) -> (c1-c2) + a.
+
+	* a29k.md (negdf2): Use operand_subword_force, not operand_subword.
+	(movsf): Use operand_subword, not gen_lowpart.
+
+	* out-rs6000.c (u_short_cint_operand): New function.
+	(print_operand): Support auto-decrement.
+
+	* tm-rs6000.h (OVERRIDE_OPTIONS): Force profiling off.
+	(PREFERRED_RELOAD_CLASS): Return NO_REGS for real CONST_DOUBLE.
+	(HAVE_PRE_DECREMENT): Define this.
+	(GO_IF_LEGITIMATE_ADDRESS, GO_IF_MODE_DEPENDENT_ADDRESS):
+	Support PRE_DEC.
+
+	* rs6000.md (zero_extendxx): Use rlinm, not andil so we avoid
+	clobbering cr0.
+	(arith-and-record patterns): Correct some bad operand numbers.
+	Put SImode output as operand 0 to improve register tying.
+	(andsi): Prefer rlinm over andil and andiu.
+	(load/store-with-update): Add patterns for these instructions.
+	(allocate_stack): New, replaces stack probe.
+	(add-and-compare): New patterns, with define_split.
+	(subtract-one-and-jump): Allow outputs anywhere; handle with
+	match_scratch and define_split.
+
+	* stmt.c (expand_end_stmt_expr): If `last_expr_value' is 0, set it
+	to const0_rtx.
+
+	* regclass.c (reg_n_sets): Move definition to before use.
+
+	* jump.c (find_cross_jump): Don't try to substitute REG_EQUAL
+	values unless they are constants.
+
+Fri Jun 21 02:37:59 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reload1.c (reload): Don't clear after_call for each insn.
+
+Sun Jun 16 17:28:43 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reload1.c (reload, reload_as_needed, choose_reload_regs): Enable
+	code to avoid return register when SMALL_REGISTER_CLASSES defined.
+
+	* final.c (final_scan_insn): Don't look for no-op moves if
+	processor has STACK_REGS.
+
+	* hard-reg-set.h (GO_IF_HARD_REG_EQUAL): New macro.
+
+	* jump.c (cross_jump_death_matters): New variable.
+	(find_cross_jump): If processor has STACK_REGS, compare death
+	notes if they matter.
+
+	* toplev.c (compile_file, rest_of_compilation): Support new
+	stack-regs conversion pass.
+	(main, compile_file, rest_of_compilation): Add support for -dk to
+	dump after stack-regs conversion.
+	* reg-stack.c: New file.  Implements stack-regs conversion pass.
+	* Makefile.in (reg-stack.o): New file.
+
+	* tm-i386.h (STACK_REGS): New macro.
+	(all register macros): Define all eight float point registers.
+	(HARD_REGNO_NREGS): Only one float reg is needed for any mode.
+	(HARD_REGNO_MODE_OK): Move code here from out-i386.c.
+	(FIRST_STACK_REG,LAST_STACK_REG): New macros.
+	(ARG_POINTER_REGNUM): Move to reg 16.
+	(FP_REGNO_P): Recognize all float regs.
+	(QI_REG_P): New macro.
+	(STACK_REG_P,NON_STACK_REG_P,STACK_TOP_P): New macros.
+	(PRESERVE_DEATH_INFO_REGNO_P): Delete.
+	(OVERLAPPING_REGNO_P): Delete.
+	(CONST_OK_FOR_LETTER_P): Recognize constant mask for byte or word.
+	Recognize constant 0..3 for `lea' shifts.
+	(CONST_DOUBLE_OK_FOR_LETTER_P):
+	(PREFERRED_RELOAD_CLASS): Don't put CONST_DOUBLE in float regs.
+	QImode must go in class Q_REGS.  Float regs can't hold MODE_INT.
+	(MOVE_RATIO): New macro.
+	(SHIFT_COUNT_TRUNCATED): Delete.  Bit opcodes don't truncate.
+	(RTX_COSTS): New macro.
+	(CONST_COSTS): Make constants cheaper.
+	(QI_HIGH_REGISTER_NAMES): Renamed from QI_REGISTER_NAMES_TOP.
+	(INSN_CLOBBERS_REGNO_P): Delete.
+	(FP_TOP,RETCOM,POP_ONE_POP,FP_CALL1,FP_CALL): Delete.
+
+	* out-i386.c (fp_pop_level): Delete.
+	(fp_call_internal, output_asm_insn_double_reg_op, via_memory,
+	fp_store_sf,fp_pop_sf,fp_store_df,fp_pop_df,fp_pop_int,
+	fp_push_sf,fp_push_df,output_movsf,output_movdf,output_movf,
+	top_dead_p,call_top_dead_p,fp_top_dead_p1,mentioned_fp_top): Delete.
+	(hard_regno_mode_ok): Moved to tm-i386.h.
+	(qi_high_reg_name): New variable.
+	(output_op_from_reg, output_to_reg): New function.
+	(singlemove_string,output_move_const_single): No longer static.
+	(singlemove_string): Use correct operand number	in `push' string.
+	(standard_80387_constant_p): Use recommended method to extract
+	float from CONST_DOUBLE.
+	(PRINT_REG): Add 'h' for "high" register names, 'y' for "st(0)".
+	(print_operand): Code 'z' prints no size suffix for stack regs.
+	Print DImode suffix as "ll", not just "l".
+	(output_fix_trunc): New argument `insn'.  Generalize to output to
+	MEM or REG.  Return "char *" like other output routines.
+	Generalize for SImode or DImode output.
+	(binary_387_op,convert_387_op,float_op,fix_op,shift_op): New
+	match_operator predicates.
+	(output_387_binary_op,output_float_compare): New functions.
+
+	* i386.md (all MODE_FLOAT patterns): Replace with new code to use
+	all FPU registers.
+	(all patterns): Use AS2 and AS1 macros where possible, for
+	eventual support of Intel syntax output.
+	(tstM): Don't initialize operands unless we need to.
+	(cmpM): Choose operange order in output for speed on i386.
+	(logical test patterns): The operands commute.  If possible,
+	SImode tests should use just QImode.
+	(movstrictM): New patterns.
+	(movqi): Don't allow a constant of unknown value into Q_REGS.
+	(`lea' pattern): Move after addsi3.
+	(addsi3): Do three operand adds with `lea'.
+	(divsi3,divhi3,udivsi3,udivhi3): Delete in favor of u?divmodM4.
+	(divqi3,udivqi3): Remove earlyclobber for operand 0.
+	(andM3): Define three operand ANDs for 255 and 65535 using zero
+	extend opcode.  Also directly do an AND in the second byte of a
+	register.
+	(iorM3,xorM3): Do byte ior instead of word where possible.
+	(xorqi3): Allow operands[2] from MEM.
+	(ashlsi3): Allow three-operand shift of 0..3 with `lea' opcode.
+	(lshlM3): Redundant, delete.
+	(shift & rotate patterns): Print %0 as destination operand.
+	(bit recognizers): New patterns to set, clear and compliment.
+	(call insns): Use "%P" code for targets to support Intel syntax.
+	(movstrsi): Express changes to the operands instead of just
+	clobbering them.  Don't accept non-constant move count, as our
+	code isn't as efficient as a library call.
+
+Thu Jun 20 13:51:02 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): If we fold a conditional or computed branch to an
+	unconditional branch, it is now not in the normal format for an
+	unconditional branch, and it only has one set, delete it and
+	re-emit it.
+	Whenever we make an unconditional branch, set `cse_skip_to_next_block'
+	and do nothing else.
+	(cse_basic_block): Increment LABEL_NUSES on TO if it is a label
+	so it won't go away while we are using it as a stopping point.
+	If we are done with this block (`cse_skip_to_next_block' nonzero),
+	pretend we just did the insn before TO.
+	Decrement LABEL_NUSES of TO if it is a label; if it became zero,
+	delete it and try to extend the basic block.
+
+	* reload.c (find_reloads): Fix typo in check for no alternatives
+	found.
+
+	* combine.c (reg_significant, significant_mode): New vars.
+	(combine_instructions): Allocate and initialize reg_significant.
+	(set_significant): New function.
+	(significant_bits, case REG): Use reg_significant, if non-zero
+	as the significant bits of a register.
+
+	* loop.c (n_times_set): Define -2 to mean that a register is
+	an candidate to be moved and is a constant.
+	(scan_loop): Set n_times_set to -1 or -2 as appropriate.
+	(regs_match_p): No need to check REG_FUNCTION_VALUE_P.
+	A register and a constant can be equal if the register is known	
+	equivalent to the constant.
+	(invariant_p): Check n_times_set < 0, not == -1.
+
+	* rtl.h (REG_LOOP_TEST_P): New macro.
+	* jump.c (duplicate_loop_exit_test): Mark registers used only in
+	loop exit test.
+	* cse.c (cse_around_loop, cse_check_loop_start, cse_set_around_loop):
+	New functions.
+	(cse_end_of_basic_block): Add new arg to say if we are being called
+	after loop.c has run; if we are being called after loop.c, we can
+	ignore NOTE_INSN_LOOP_ENDs.
+	(cse_main): Accept new AFTER_LOOP arg; pass to cse_end_of_basic_block.
+	If we are called before loop.c, see if we can cse around to the
+	start of a loop.  
+	* toplev.c (rest_of_compilation): Tell cse_main if it is being called
+	before or after loop.c.
+
+	* rtl.h (LABEL_OUTSIDE_LOOP_P): New macro.
+	* loop.h (uid_loop_num): Renamed from luid_loop_num and now
+	maps INSN_UID to loop number instead of INSN_LUID.
+	* loop.c (loop_optimize): Modifications for the above.
+	(find_and_verify_loop): Change luid_loop_num to uid_loop_num.
+	Look for blocks of code ending in an unconditional branch out
+	of the loop surrounded by a conditional branch and try to move
+	such a block out of the loop.
+	(mark_loop_jump): Change luid_loop_num to uid_loop_num.
+	Mark all LABEL_REFs that are outside the current loop, for
+	branch prediction.
+	(strength_reduce, check_dbra_loop): Change luid_loop_num to 
+	uid_loop_num.
+	* unroll.c (unroll_loop, find_splittable_{regs,givs}): Likewise.
+	(reg_dead_after_loop, final_{biv,giv}_value): Likewise.
+
+	* flow.c (reg_n_sets): Don't define this here.
+	* regclass.c (reg_n_sets): Define it here.
+	(reg_scan): Allocate and initialize reg_n_sets.
+	(reg_scan_mark_refs): Count sets of a register in reg_n_sets.
+
+	* sched.c (reg_known_value_size): New variable.
+	(canon_rtx): Don't look in reg_known_value outside its allocated space.
+	(init_alias_analysis): Initialize reg_known_value_size.
+
+	* loop.c ({unknown,fixed}_aggregate_altered): Deleted.
+	(loop_store_mems): Replaces loop_store_addrs and loop_store_widths.
+	(loop_optimize): Call init_alias_analysis.
+	(prescan_loop, note_addr_stored): Save all MEMs stored into, rather
+	than just those that appear fixed; save MEMs rather than addresses
+	and widths.
+	(invariant_p): Use true_dependence to see if a MEM is invariant;
+	compare it with all MEMs stored during the loop.
+
+	* sched.c (memrefs_conflict_p): If XSIZE or YSIZE is zero
+	the object conflict if they have the same base, irregardless
+	of the offsets.
+
+	* reorg.c (dbr_schedule): Reallocate unfilled_firstobj after
+	freeing memory from the obstack.
+
+	* reload.c (push_reload): Always reload object inside SUBREG if
+	STRICT_LOW_PART is present.
+	Always set RELOAD_STRICT_LOW to zero; maybe we should get rid of it.
+
+	* reload.c (make_memloc): Copy the address if it varies to avoid
+	potential sharing problems.
+
+	* global-alloc.c (hard_reg_copy_preferences): New var.
+	(global_alloc): Allocate and initialze it.
+	(prune_preferences): Prune it.
+	(find_reg): Try preferences in hards_reg_copy_preferences first,
+	then hard_reg_preferences.
+	(set_preference): Set bit in hard_reg_copy_references, if appropriate.
+
+	* emit-rtl.c (try_split): If we are splitting a JUMP_INSN, copy	
+	JUMP_LABEL from the old to new insn update the count of that label.
+
+	* cse.c (lookup): Always call exp_equiv_p unless we have a REG.
+
+	* cse.c (insert): If we are making a register equivalent to a
+	constant that was already equivalent to a constant, update
+	qty_const_insn.
+	(cse_insn): Don't do it here.
+	* cse.c (fold_rtx): Always call simplify_unary_operation.
+
+	* cse.c (record_jump_equiv): Don't get primary elements for OP0 and
+	OP1 since they might not be valid.
+
+	* loop.c (get_condition): Accept new arg, EARLIEST that is a pointer
+	to where we place the earliest insn used to form the condition.
+	Check for comparison with CC0 in main loop, not earlier.
+	Never return condition involving CC0.
+	(get_condition_for_loop): Call get_condition with new arg.
+	* jump.c (jump_optimize): When we make store-flag insn, put new
+	insns before earliest insn used to form condition and use new
+	psuedo as target, which we copy into VAR immediately after the insn
+	that currently sets VAR.
+	Turn off "if (...) x = 1; else {...} if (x) ..." code; it is not
+	correct and can't be easily fixed.
+	(get_label_{before_after}): Use {prev,next}_nonnote_insn.
+
+	* jump.c (jump_optimize): Don't interpret NOOP_MOVES as meaning
+	"after_reload"; check reload_completed instead.  Don't pass NOOP_MOVES
+	to functions that aren't actually trying to noop moves.
+	(follow_jumps, tension_vector_labels):  Don't accept AFTER_RELOAD arg;
+	check reload_completed instead.
+
+	* combine.c (try_combine): Don't check that we don't have a
+	single_set when trying to replace a SET_DEST in a PARALLEL in I2.
+	(simplify_and_const_int): Always do the AND in the mode passed.
+	(significant_bits, case DIV and UDIV): Nothing special known
+	about low-order bits here.
+	(simplify_shift_const, shift cases): Don't go into infinite loop if
+	we combine two shifts in the same direction.
+
+	* c-parse.y, cplus-parse.y, objc-parse.y (set_yydebug): Move to
+	end of file so we don't have a reference to yydebug after its
+	definition; also delete duplicate declaration.
+
+Thu Jun 20 09:08:21 1991  Tom Wood  (wood at geech.gnu.ai.mit.edu)
+
+	* local-alloc.c (block_alloc): Fixed typo in last edit.
+
+Wed Jun 19 17:05:52 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* reload.c (push_reload): Verify reload_in[i] exists before using
+	GET_CODE on it.
+
+	* m88k.md: USE insns must be immediately before CALL_INSNs to work
+	properly, otherwise sched.c and reorg.c will not associate them will
+	the CALL.
+
+	* unroll.c (calculate_giv_inc): Accept constant increments
+	represented as a LO_SUM.
+
+	* flow.c (mark_used_regs): Don't put a REG_DEAD note on insns that
+	already have a REG_UNUSED note.  This makes it consistent with
+	combine.c.
+	* combine.c (distribute_notes): If a REG_UNUSED reg is no longer
+	set by an insn, but is still used by the insn, then must convert
+	the REG_UNUSED note to a REG_DEAD note.
+
+	* gcc.c (SIGNED_CHAR_SPEC): Put ifndefs around it, so that it can
+	be overriden by a definition in the tm.h file.
+
+	* cse.c (cse_insn): Add missing third parameter to find_reg_note calls.
+
+	* tm-arm.h (INIT_CUMULATIVE_ARGS): Take LIBNAME as third argument.
+
+	* combine.c (can_combine_p): Remove extra argument in call to
+	find_reg_note.
+
+	* rtlanal.c (find_regno_note): Verify that the note contains a
+	REG before checking its REGNO.
+
+	* cse.c (canon_reg): Fix spacing/punctuation error.
+	* recog.c (constrain_operands): Likewise.
+	* tree.h: Likewise.
+	* varasm.c (Assemble function): Likewise.
+
+Wed Jun 19 13:14:22 1991  Tom Wood  (wood at geech.gnu.ai.mit.edu)
+
+	* local-alloc.c (block_alloc): When counting instructions, abort if
+	a loop is detected.  Improperly threaded insns are easy to produce
+	when working on the scheduler.
+
+Sat Jun 15 06:13:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_and_const_int, case ASHIFTRT): Avoid infinite
+	loop if simplify_shift_const doesn't do anything.
+
+Thu Jun 13 09:05:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (decrement_and_branch_until_zero): Add this insn.
+	
+Thu Jun 13 07:32:37 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* explow.c (plus_constant): Fix error in last change; CONST case
+	wasn't handled correctly.
+
+	* tm-m68k.h (CONST_CONSTS): Constants between -7 and -1 are cheap
+	because of subq.
+
+	* m68k.md (dbra): Operand 0 should have '+' constraint, not '='.
+
+	* expmed.c (store_fixed_bit_field): Clean up some confusion between
+	targets and results in expand_binop calls.
+
+	* local-alloc.c (optimize_reg_copy): Fix several typos relating to
+	status updating.
+	Correctly handle the case where DEST dies before SRC.
+	Fix some comments that had SRC and DEST backwards.
+
+	* combine.c (can_combine_p): Swap order of args of && to avoid
+	unnecessary calls to use_crosses_set_p.
+	(simplify_and_const_int, case SUBREG): Make code agree with comment.
+
+	* emit-rtl.c (operand_subword): Avoid compilation warning.
+
+	* expmed.c (store_fixed_bit_field): Don't use OP0 as SUBTARGET
+	if it is a MEM and -fforce_mem was specified.
+
+	* expmed.c (emit_store_flag): After scc insns, convert to wider
+	mode using unsigned conversion if STORE_FLAG_VALUE is positive.
+
+	* expmed.c (init_expmed): Use mode of size BITS_PER_WORD instead
+	of SImode.
+	(store_bit_field, extract_bit_field): Replace references to SImode
+	with MAXMODE.
+	(store_fixed_bit_field, extract_fixed_bit_field): Don't use explicit
+	modes; use get_best_mode instead.
+	(store_split_bit_field, extract_split_bit_field): Use operand_subword
+	and mode_for_size instead of making SUBREGs and using SImode.
+
+	* stor-layout.c (get_best_mode): Allow LARGEST_MODE to be VOIDmode,
+	in which case we can use any appropriate mode.
+
+Wed Jun 12 16:32:37 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* cplus-decl.c (init_decl_processing): Compensate for tm-sparc.h
+	change to WCHAR_TYPE handling.
+
+Wed Jun 12 10:19:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+        * tm-sparc.h (WCHAR_TYPE): Must be "short unsigned int".
+
+	* combine.c (subst, make_extraction, simplify_shift_const): Don't
+	change mode of volatile MEM; replaces similar change of June 1st.
+	* function.c (fixup_var_refs_1, optimize_bit_field): Likewise.
+	* recog.c (validate_replace_rtx_1): Likewise.
+
+Tue Jun 11 22:09:28 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* expr.c (expand_expr, case COND_EXPR): Expressions of both the form
+	X ? A + 1 : A and X ? A : A + 1 were being done, but only the former
+	was being handled correctly.
+
+Tue Jun 11 12:13:53 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (validate_replace_rtx_1): If putting a CONST_INT in a
+	ZERO_EXTEND or SIGN_EXTEND, try to simplify the operation or fail;
+	the semantics of the operation require a non-VOIDmode argument.
+
+	* cse.c (delete_dead_from_cse): Don't delete last insn in a libcall.
+
+	* explow.c (allocate_dynamic_stack_space): Don't clobber SIZE when
+	rounding it.
+
+	* fold-const.c (fold, case COND_EXPR): Ensure we always return an
+	expression in the correct type.
+
+	* expr.c (emit_push_insn): Don't need to put X in register if it
+	is constant; operand_subword_force can do so if needed.
+
+	* reload.c (find_reloads): Simplify nested `if' statements.
+	* recog.c (constrain_operands): Likewise.
+
+	* jump.c (mark_jump_label): Fix typo (extra paren) in last change.
+
+Tue Jun 11 10:03:08 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* collect2.c: New file.
+
+	* sched.c (memrefs_conflict_p): Finish removing ASHIFT case.
+
+	* emit-rtl.c (operand_subword): Change test of BITS_PER_WORD <
+	HOST_BITS_PER_WORD from compile-time to run-time.
+	* expr.c (emit_push_insn): Ditto.
+	* recog.c (constrain_operands): Ditto.
+	* reload.c (find_reloads): Ditto.
+
+	* jump.c (jump_optimize): Add `continue' after deleting INSN in case
+	where further attempts to optimize the insn are invalid.
+	(mark_jump_label): Don't crash if NEXT == 0.
+
+Tue Jun 11 09:14:05 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* out-m88k.c (legitimize_operand): New function to convert
+	CONST_DOUBLE to SFmode when possible.
+	* m88k.md (cmpdf, adddf3, subdf3, muldf3, divdf3): Use it.
+	* tm-m88k.h: Declare it.
+
+	* xm-m88k.h (OBSTACK_CHUNK_SIZE): For DG/UX at least, the default
+	value results in a perfect checkerboard.
+
+Tue Jun 11 07:23:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case FLOAT_EXPR, FIX_EXPR): Don't try to
+	do any partial conversions here; expand_fix and expand_float now
+	handle all modes.
+	* optabs.c (fixtab, fixtrunctab, floattab): Table now contains
+	all modes.
+	(can_fix_p, can_float_p): Use mode as index in tables.
+	(init_fixtab, init_floattab): Likewise.
+	Add support for QImode and HImode operations.
+	(expand_float): Rework to remove dependendence on specific modes.
+	Can only use REAL_VALUE_LDEXP in certain configurations.
+	(expand_fix): Likewise.
+	If can't do operation unsigned, or signed into wider mode, emit a
+	sequence that compares operand with 2**(N-1) and, if larger,
+	subtracts 2**(N-1), converts, and adds it back.	
+	Protect from queue and force not memory at start.
+	* m88k.md (fixuns_truncdfsi2, fixuns_truncsfsi2): Deleted; now done
+	in expand_fix in optabs.c.
+
+	* combine.c (expand_field_assignment): Convert SET_SRC to mode of
+	INNER.
+	(simplify_shift_const, case ASHIFTRT): Don't use undefined initial
+	value of MASK.
+
+	* explow.c: Include insn-config.h, recog.h, and insn-codes.h.
+	(allocate_dynamic_stack_space): Rework to be more precise in required
+	alignment.  Must maintain alignment of stack to STACK_BOUNDARY at
+	all times (it must not be momentarily misaligned) and must align
+	returned address to BIGGEST_ALIGNMENT. 
+	* Makefile.in (explow.o): Show new includes.
+
+Tue Jun 11 07:22:54 1991  Matthew Self  (mself at next.com)
+
+	* m68k.md:  Change incorrect reference to -m68040-fp to -m68040-only.
+	Fix several spelling errors.
+
+	* m68k.md (fix_trunc*f*i2):  New insn's to replace fintrz on the
+	'040.  These emit a sequence of insn's to change the rounding mode
+	to round-to-zero, perform the truncation, and restore the rounding
+	mode. 
+
+Mon Jun 10 09:57:31 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* c-lang.c (GNU_xref_{begin,end}): Add stub functions for xref info.
+
+	* cplus-decl.c (record_builtin_type): Add support for handling
+	builtin types' nicknames (e.g. "unsigned long" for "long unsigned
+	int").
+
+	* expmed.c (struct algorithm): Change array size from BITS_PER_WORD
+	to MAX_BITS_PER_WORD.
+	gcc.texinfo: Document MAX_BITS_PER_WORD.
+
+Mon Jun 10 07:45:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): When making an I1 from an I2 that is
+	a PARALLEL, give the new I1 the same INSN_UID as I2.
+
+	* recog.c (constrain_operands, case 'p'): Pass operand mode
+	(from match_operand) to strict_memory_address_p.
+
+	* m68k.md (andsi3): bclr does not set the condition codes in the
+	standard way.
+
+Sun Jun  9 11:16:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads): Swap preferred_class and pref_or_nothing
+	when we swap commutative operands.
+
+	* combine.c (subst, simplify_shift_const): Treat UDIV and MULT
+	with a second operand of a constant that is a power of two as the
+	appropriate shift if it feeds or is fed by a shift.
+
+	* expmed.c (expand_divmod): When searching for the best mode to
+	perform the computation, take into account the fact that we sometimes
+	do a shift, not a divide.
+
+	* expmed.c (emit_store_flag): Correctly handle "a = b < 0;" if A
+	is narrower than B.
+	Don't check for STORE_FLAG_VALUE equal to just the sign bit of
+	OP0 if the width of its mode is larger than HOST_BITS_PER_INT.
+	Use switch rather than if/elseif/elseif.
+
+	* combine.c (simplify_shift_const, shift cases): We were not forming
+	the mask correctly when VAROP is a LSHIFTRT and narrower than X;
+	simplify the mask formation by using significant_bits and
+	simplify_binary_operation.
+
+	* reload.c (make_memloc): Copy RTX_UNCHANGING_P from REG to MEM.
+	(find_reloads_address, find_reloads_address_1): Don't shortcut
+	reloading the address in reg_equiv_address; always call
+	find_reloads_address on it.
+
+	* recog.c (constrain_operands, case 'p'): Validate address if
+	testing strictly.
+
+	* out-alliant.c, out-m68k.md (output_move_double): Extraction of
+	parts of CONST_INT was backwards; these machines are words-big-endian.
+
+Sat Jun  8 12:19:26 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* sparc.md: Remove special-case shift insns which load and shift
+	memory-based operands.  Combine now does this for us.  Also change
+	abs patterns so that they consistently print the negation followed
+	by the mov on a single line.
+
+	* reload1.c (choose_reload_regs): Cast `enum reg_class' values to
+	`int' when using them as array indicies.
+
+	* gnulib2.c (LONG_TYPE_SIZE): Don't inherit the definition of
+	LONG_TYPE_SIZE from tm.h, since that may be target_flag-specific.
+	Instead synthesize the value from `sizeof (long)'.
+
+	* cplus-gc.c (build_m_desc): Figure out whether the i_desc should
+	constitute a defn of its type or not.  Analogous to May 26 change
+	for instance variables.
+
+Sat Jun  8 07:11:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_and_const_int): Detect and remove redundant
+	alignment operation.
+	(significant_bits, case REG): Realize that the stack pointer might
+	be aligned.
+	(significant_bits, case PLUS, MUNUS, MULT, DIV, UDIV): Track low-order
+	bits of zero as well as high-order zero bits (so we detect alignment
+	operations).
+	(record_value_for_reg): If updating a register, try to substitute its
+	old value into the expression for better tracking of values.
+
+	* a29k.md (fmac/dmac): Delete incorrect patterns.
+
+Thu Jun  6 19:08:29 1991  Sean Fagan  (sef at cygint.cygnus.com)
+
+	* final.c (output_source_line): Say we are on line number 1 if
+	sdb_begin_function_line is -1, not 0.
+
+Thu Jun  6 08:01:05 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (get_best_mode): Don't assume GET_MODE_SIZE (SImode)
+	is UNITS_PER_WORD; if SLOW_BYTE_ACCESS defined, try to return the
+	mode whose size is UNITS_PER_WORD.
+
+	* sparc.md (floatsisf2, floatsidf2): Add missing mode for
+	operand 1; use const_int_operand as predicate.
+
+	* cse.c (canon_reg): Add arg INSN; if replacing a pseudo with a hard
+	register or vice versa, use validate_change to ensure the insn
+	remains valid.
+	All callers changed; most pass zero since they validate replacement.
+	(cse_insn): Use validate_change on result of canon_reg when
+	required.
+
+	* c-common.c (combine_strings): Use WCHAR_BYTES instead of
+	UNIT_PER_WORD for the size of a wide char.
+
+	* emit-rtl.c (gen_lowpart_common): Always extract integral modes
+	from integer CONST_INTs and CONST_DOUBLEs.
+
+	* integrate.c (copy_for_inline, copy_rtx_and_substitute): Don't
+	try to extract a float from a fixed-mode CONST_DOUBLE.
+	(copy_for_inline, copy_rtx_and_substitute, restore_constants):
+	Declare target of REAL_VALUE_FROM_CONST_DOUBLE to be REAL_VALUE_TYPE.
+
+	* local-alloc.c (update_equiv_regs): Fix typo in testing
+	reg_basic_block.
+
+Wed Jun  5 09:15:09 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* Eliminate unneeded binding levels when overloading template class
+	names:
+	* cplus-pt.c (overload_template_name): Accept second argument
+	classlevel, indicating that new decl should be pushed into current
+	class binding level; otherwise, assume current level is okay to use.
+	Callers changed.
+	(undo_template_name_overload): New second argument classlevel
+	indicates where binding for variable was made.  Callers changed.
+
+	* cplus-parse.y (structsp): Call undo_template_name_overload in all
+	appropriate cases.
+
+	* Get interface/implementation flags set properly on methods in
+	class templates, and use it:
+	* cplus-lex.c (store_pending_inline): If inside a class, walk up
+	through nested classes to top level looking for template parameters.
+	For class methods, use current interface flag settings rather than
+	flags for class.
+	(extract_interface_info): No longer static.
+	(do_pending_inlines, process_next_inline): Call
+	extract_interface_info to get interface flags set properly after
+	changing file names.
+	* cplus-pt.c (instantiate_class_template): Ditto.
+	(end_template_instantiation): Ditto.
+	(do_pending_expansions): If interface/implementation flags of
+	containing class are set, use them.
+	* cplus-tree.h (interface_unknown): Added declaration.
+
+Wed Jun  5 07:36:44 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads_address): Unshare a MEM if its address is
+	the address of a constant pool location.
+
+	* optabs.c (expand_binop): Fix typos in multi-word addition; had
+	MODE for SUBMODE.
+
+	* reload1.c (alter_reg): Correctly delete insn that makes a REG
+	equivalent to a MEM in the case where the MEM is the SET_DEST.
+
+	* a29k.md (negdf2): Add missing alternative in operands 2.
+	(movdi): Change "i" constraint to "n".
+	Split for constant integer as input; split cannot fail.
+	Correct typo in DEFINE_SPLIT (DFmode for DImode).
+	* out-a29k.c (gen_reg_or_integer_constant_operand): New function.
+
+	* configure: Fix typo in reference to tm-sun3-nfp.h.
+
+Wed Jun  5 06:56:10 1991  Matthew Self  (mself at next.com)
+
+	* c-parse.y, objc-parse.y (attrib): Always pass aligned attribute
+	through.  Return $1 on failure rather than NULL_TREE for consistency.
+
+	* c-common.c (decl_attributes): Warn if requested alignment is not
+	a power of two.  Also warn if decl is not a VAR_DECL or a FIELD_DECL,
+	since specifying alignment makes no sense for a TYPE_DECL, and is
+	not implemented for a FUNCTION_DECL.
+
+	* c-parse.y, objc-parse.y (initdcl, notype_initdcl): Call
+	decl_attributes before finish_decl in order for alignment attribute
+	to take effect.
+	
+	* varasm.c (assemble_variable): Warn if DECL_ALIGN is greater than
+	MAX_OFILE_ALIGNMENT, if defined.  This allows errors to be
+	detected with formats like a.out which support a maximum alignment
+	of 4.
+
+	* c-parse.y, objc-parse.y (component_declarator): Call decl_attributes
+	with correct args.
+
+	* stor-layout.c (layout_record, layout_union): Do not clamp struct
+	alignment at BIGGEST_ALIGNMENT, since individual fields may have
+	requested greater alignment than this.  This check shouldn't have
+	done anything anyway.
+
+	* c-parse.y (unary_expr):  When alignof is applied to an expression,
+	call c_alignof_expr so that we can check DECL_ALIGN instead of calling
+	c_alignof (TYPE_ALIGN (TREE_TYPE (expr))).
+
+	* c-typeck.c (c_alignof_expr):  New function to compute alignof for
+	expr's.  Returns DECL_ALIGN for VAR_DECL's and FIELD_DECL's.  Also
+	return 1 after reporting error about applying alignof to bitfields.
+
+	* c-tree.h (c_alignof_expr): Add declaration.
+
+	* varasm.c (assemble_variable):  MAX_OFILE_ALIGNMENT defaults to
+	BIGGEST_ALIGNMENT if not defined in config.h.
+
+Wed Jun  5 06:55:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (mov*): Change the interface to emit_move_sequence.
+	* out-m88k.c (emit_move_sequence): Similar to the sparc version.
+
+	* tm-m88k.h (SIZE_TYPE): Specify as unsigned int.
+
+	* xm-m88k.h (HOST_BITS_PER_LONGLONG): Define.
+
+Wed Jun  5 01:45:07 1991  Sean Fagan  (sef at cygint.cygnus.com)
+
+	* sdbout.c (sdbout_symbol):  don't output definition information for
+	a nested function inside the parent function; this makes COFF
+	assemblers upset.
+
+Tue Jun  4 17:35:13 1991  Sean Fagan  (sef at cygint.cygnus.com)
+
+	* function.c (trampoline_address): make the RTL_EXPR node temporary,
+	not momentary, so that the trampoline_list doesn't become garbage.
+	Fix made by jim wilson (wilson@cygnus.com).
+
+Tue Jun  4 09:40:59 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (move_block_to_reg): Fix typo in last change.
+
+	* local-alloc.c (update_equiv_regs): Check for reg_n_refs == 2,
+	not loop_depth * 2.
+
+	* reorg.c (fill_simple_delay_slots): Clear INSN_DELETED_P on insns
+	placed in current_function_epilogue_delay_list.
+
+	* make-rs6000 (ALLOCA_FLAGS, ALLOCA_FINISH): Add override to
+	compensate for the fact that the RS/6000 C compiler has no -S.
+
+	* out-rs6000.c (easy_fp_constant): Use operand_subword.
+	(print_operand): Use INT_P and INT_LOWPART to allow accepting both
+	CONST_INT and CONST_DOUBLE for integers.
+
+	* rs6000.md (floatsidf2, floatunssidf2): Rework these to emit only
+	two insns, each of which has DImode or DFmode operands.  Then
+	split the funny DImode insn to generate it.
+	(fix_truncdfsi2, fixuns_truncdfsi2): Surround our call with
+	REG_LIBCALL/REG_RETVAL notes.
+	Use operand_subword.
+	(movsf, movdf): Correctly handle a pseudo passed during reload.
+	Use operand_subword.
+	Split moves involving "easy" FP constants.
+	(subtract-and-branch): Disable for now, to avoid output reload in jump.
+
+	* tm-rs6000.h (WCHAR_TYPE): Add definition.
+	(INT_REGNO_P): Fix typo; register 31 is a normal register.
+	(LEGITIMATE_CONSTANT_P): The only FP constants that are valid are
+	the "easy" ones.
+
+	* a29k.md (negdf2): Use XOR when not involving accumulator.
+	Add SCRATCH so we dont use gr122.
+	Handle case where input and output are same register.
+	(negsf2): Use SCRATCH.
+	(DImode operations): Use operand_subword, not gen_{low,high}_part.
+	(movsf, movdf, movdi): Always split if we can look inside CONST_DOUBLE.
+	Use operand_subword.
+	Don't split into separate words in DEFINE_EXPAND.
+	* out-a29k.c (in_operand): Account for fact that integer CONST_DOUBLE
+	is VOIDmode.
+	(extract_subword): Deleted.
+	(print_operand): Add macros INT_P and INT_LOWPART so we can accept
+	either CONST_INT or CONST_DOUBLE.
+
+	* romp.md (movdi, movdf, negsf2, negdf2): Use operand_subword and
+	operand_subword_force, instead of gen_{high,low}part.
+	Use force_const_mem instead of force_const_double_mem.
+
+	* m88k.md (movdi): Remove 'F' constraint; 'n' now includes integer
+	CONST_DOUBLE.
+	(anddi3, iordi3, xordi3): Likewise.
+	Use operand_subword to extract individual words.
+	* out-m88k.c (output_load_const_{float,double,dimode}):	Use
+	operand_subword.
+
+	* Makefile.in (emit-rtl.o): Now includes expr.h.
+	* calls.c (expand_call): Pass mode to move_block_to_reg.
+	* combine.c (subst, case SUBREG): Simplify SUBREG of hard register
+	and some SUBREGs of constants.
+	(gen_lowpart_for_combine): If object is desired mode, always return it.
+	Use gen_lowpart_common for most cases; just support MEM and
+	surrounding with a SUBREG here.
+	* cse.c (insert): CONSTANT_P includes CONST_DOUBLE.
+	(fold_rtx): Use MODE for GET_MODE (X).
+	(fold_rtx, case SUBREG): Handle simple cases of folding SUBREGs.
+	(fold_rtx, case MEM): Use operand_subword and gen_lowpart_if_possible
+	to get parts of constant instead of gen_lowpart and gen_highpart.
+	(gen_lowpart_if_possible): Use gen_lowpart_common for most cases.
+	* expr.c: Include expr.h.
+	(gen_lowpart_common): New function, from gen_lowpart.
+	(gen_lowpart): Use gen_lowpart_common for most cases; just handle MEM.
+	(gen_highpart): Deleted.
+	(subreg_lowpart_p): Test WORDS_BIG_ENDIAN in `if', not `#if'.
+	(operand_subword, operand_subword_force): New functions.
+	* explow.c (plus_constant): Handle adding CONST_INT to CONST_DOUBLE.
+	Rework to use switch statement.
+	Remove obsolete OLD_INDEXING code.
+	(plus_constant_for_output): Use plus_constant for most cases.
+	(break_out_memory_refs): Refine which constants get broken out.
+	* expmed.c (store_bit_field, extract_bit_field): Don't use
+	gen_highpart for multi-word fields; instead, loop and use
+	operand_subword.  We now support fields more than two words long.
+	(mask_rtx, lshift_value): Just pass high and low words to
+	immed_double_const; it will mask and choose CONST_INT vs. CONST_DOUBLE.
+	* expr.c (convert_move): Use operand_subword instead of gen_highpart.
+	Don't assume GET_MODE_SIZE (DImode) > UNITS_PER_WORD.
+	(move_block_to_reg): Add MODE arg.
+	Use operand_subword_force.
+	(move_block_from_reg): Use operand_subword.
+	(move_block_from_reg, move_block_to_reg, use_rgs):
+	Don't assume GET_MODE_SIZE (SImode) == UNITS_PER_WORD.
+	(emit_move_insn, emit_push_insn): Likewise.
+	Use operand_subword and operand_subword_force.
+	(expand_expr, case INTEGER_CST): Just call immed_double_const.
+	(expand_expr, cases FIX_TRUNC_EXPR, FLOAT_EXPR): Don't assume
+	GET_MODE_SIZE (SImode) == UNITS_PER_WORD.
+	(expand_builtin): Likewise.
+	(do_jump_by_parts_{greater,equality): Likewise.
+	Use operand_subword_force.
+	* expr.h (operand_subword): Remove declaration from here.
+	(validize_mem): Add missing declaration.
+	* final.c (final_scan_insn): If assembler code string is "#",
+	try to split insn.
+	Ignore insns with INSN_DELETED_P set.
+	(alter_subreg): Remove erroneous code for CONST_DOUBLE.
+	(output_addr_const): Integer CONST_DOUBLEs are now VOIDmode.
+	* fold-const.c (add_double): No longer static.
+	* integrate.c (copy_for_inline, copy_rtx_and_substitute):
+	Use validize_mem to validate force_const_mem's result.
+	(subst_constants, case SUBREG): Use operand_subword and
+	gen_lowpart_common instead of gen_lowpart and gen_highpart.
+	(restore_constants): Don't assume all CONST_DOUBLEs are floating.
+	Use validize_mem to validate force_const_mem's result.
+	* optabs.c (expand_binop,, expand_unop): Don't assume
+	GET_MODE_SIZE (SImode) == UNITS_PER_WORD.
+	Use operand_subword_force.
+	(operand_subword): Deleted from here.  New version in emit-rtl.c.
+	* recog.c (validate_replace_rtx_1): Check for any constant,
+	not just CONST_INT.
+	(constrain_operands, case 'm', 'o'): Any constant OK if strict < 0.
+	(constrain_operands, case 'E'): Must have host and target word sizes
+	the same.
+	(constrain_operands, case 's', 'n'): CONST_DOUBLE can be integer.
+	* reload.c (find_reloads, case 'm', 'o', 'E', 's', 'n'): Likewise.
+	Don't call force_const_double_mem; use force_const_mem instead.
+	(find_reloads_toplev): Likewise.
+	Use gen_lowpart_common to get low part of constant.
+	* rtl.h (gen_highpart, force_const_double_mem): Deleted.
+	(gen_lowpart_common, operand_subword, operand_subword_force):
+	New declarations.
+	* varasm.c (const_double_chain): Renamed from real_constant_chain.
+	(immed_double_const): For integer constants, perform any needed
+	masking and make either CONST_INT or CONST_DOUBLE.
+	(force_const_double_mem): Deleted; would need a mode arg added
+	which would make it almost identical to force_const_mem.
+	* out-vax.c (split_quadword_operands): Use operand_subword instead
+	of gen_lowpart and gen_highpart.
+
+	* function.c (find_replacement): New function.
+	(fixup_var_refs_insns): Pass pointer to listhead of (new)
+	fixup_replacement structures; if any entries were pseudos, copy from
+	memory to the pseudo.
+	(fixup_var_refs_1): New arg REPLACEMENTS; provide that arg in
+	recursive calls.
+	Use find_replacements to ensure we don't break any MATCH_DUPs.
+
+Tue Jun  4 05:07:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* stmt.c (pushcase, pushcase_range): Take new parameter DUPLICATE.
+	Use this to store existing LABEL_DECL if LABEL is a duplicate.
+	* c-parse.y, cplus-parse.y, objc-parse.y, stmt.c: All callers
+	changed.
+
+Mon Jun  3 17:19:40 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-expr.c (decl_in_memory_p): New function.
+	* cplus-typeck.c (mark_addressable): Test `decl_in_memory_p' instead
+	of testing memory_operand, since the DECL_RTL of a decl may be a
+	(MEM ...) by not a valid memory address.
+
+	* cplus-typeck.c (mark_addressable): When we decide that a static
+	const variable must go to memory, make sure that its rtl is
+	allocated from the correct obstack.
+
+	* cplus-decl.c (grokdeclarator): Replace undocumented BREAK_C_TAGS
+	#define control with comments explaining why or how it is correct
+	for GNU C++ to break C's notions of what a tag is.
+
+	* cplus-call.c (convert_harshness): Replace undocumented #if
+	AMBIGUOUS_WORKING control with a comment explaining the actions
+	where this control used to be.
+
+Mon Jun  3 15:07:47 1991  Sean Eric Fagan  (sef at kithrup)
+
+	* tm-i386.h (TRAMPOLINE_TEMPLATE):  Changed a 040 to 0xe0;
+	this is the proper code for a jmp [%eax] instruction.
+
+Mon Jun  3 08:07:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cccp.c (initialize_builtins): Install __SIZE__TYPE__,
+	__PTRDIFF_TYPE__, and __WCHAR__TYPE__ as builtins.
+
+Sun Jun  2 18:18:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (mark_set_1): Don't set LAST_MEM_SET from a MEM that has any
+	side-effects (such as auto-inc), not just volatile MEMs.
+
+	* rtlanal.c (reg_referenced_p): New function.
+	* combine.c (try_combine): Correct test for added_sets_1 to account
+	for case where I1 and I2 both feed I3.
+	(distribute_notes): Don't interpret setting a reg as a use of the
+	reg; use new reg_referenced_p and simplify code.
+
+	* flow.c (propagate_block): Ensure that LOOP_DEPTH is correct at all
+	insns in a basic block, otherwise reg_n_refs will be set incorrectly.
+
+	* recog.c (validate_replace_rtx_1): Don't change mode of memory
+	reference that is mode-dependent.
+	Don't make a MEM with a larger mode than original.
+
+	* combine.c (try_combine): Disable code to check MODES_TIEABLE_P
+	added May 20th and 22nd; this should not be needed now that
+	LIMIT_RELOAD_CLASS has been added to reload.
+
+	* flow.c (mark_set_1): Allow for the fact that stack pushes don't have
+	REG_INC notes.
+	* local-alloc.c (optimize_reg_copy): Likewise.
+	Don't change lives of hard registers #ifdef SMALL_REGISTER_CLASSES.
+	A USE of a register must not be changed.
+	(validate_equiv_mem): Don't make an equivalence to volatile MEMs.
+
+	* reorg.c (mark_set_resources): #ifdef PUSH_ROUNDING, mark SP as always
+	set since the insn might have a (pre_dec sp).
+
+Sun Jun  2 16:03:31 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (libg_dir): Variable deleted.
+	(install-gnulib): Don't bother creating libg.a.
+
+	* cccp.c (size_type_string, etc.): Variables deleted.
+	(special_symbol): Use macros SIZE_TYPE, etc., directly.
+
+Sat Jun  1 12:54:05 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Let tm.h specify types for size_t, ptrdiff_t and wchar_t.
+	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): New params.
+	* cccp.c, c-decl.c: Provide default definitions of the new params.
+	* cccp.c (__SIZE_TYPE__, __PTRDIFF_TYPE__, __WCHAR_TYPE__): Builtins.
+	(special_symbol): Implement them based on new params.
+	* stddef.h (size_t, ptrdiff_t, wchar_t): Declare using those builtins.
+	* c-tree.h (ptrdiff_type_node): Declare variable.
+	* c-decl.c (init_decl_processing): Use *_TYPE params
+	to control setting of sizetype, wchar_type_node and ptrdiff_type_node.
+	* c-typeck.c (pointer_diff): Take result type from ptrdiff_type_node.
+
+	* configure (target1): Really change / to -.
+
+Sat Jun  1 02:49:04 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-lex.c (extract_interface_info): Now non-static.  Called
+	whenever INPUT_FILENAME changes.
+	* cplus-pt.c (instantiate_class_template): Call
+	`extract_interface_info' when switching files.
+	* cplus-input.c (getch): Ditto.
+
+	* combine.c (subst): Don't change the mode of memory access for
+	volatile memory.
+
+	* tm-sparc.h (CONST_COSTS): Fix typo in computing cost of
+	CONST_DOUBLE for DImode integers.
+
+Fri May 31 16:11:57 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-lex.c (process_next_inline): Set line number and filename if
+	more inline data is to be processed.
+	(store_pending_inline): Treat FUNCTION_TYPE like METHOD_TYPE.  Use
+	current_class_type instead of extracting it from method type; the
+	two should be the same, and the latter doesn't work for statics.
+
+	* cplus-decl.c (start_decl): When constructing templates, use
+	original name of function rather than "mangled" name.  Look for
+	FUNCTION_DECL, not FUNCTION_TYPE, when deciding how to push the
+	new decl.
+	(start_method): Default inlining does not apply to template
+	expansions.
+
+	* cplus-pt.c (pending_template_expansions): Moved declaration to
+	start of file.
+	(tsubst): For FUNCTION_DECL, use original name of source, not
+	mangled name.
+	(instantiate_template): Local variables now non-static.  Fill in
+	pending-inline field of new decl, rather than template-info, and
+	chain into either pending-inlines or pending-template-expansions.
+
+	* cplus-typeck.c (build_x_function_call): If a template is found,
+	treat it as an overloaded declaration.
+
+Fri May 31 14:20:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (all.cross): New target.
+	* configure: If cross-compiling, change `ALL' to use all.cross.
+
+Fri May 31 11:43:31 1991  Matthew Self  (mself at next.com)
+
+	* tm-next.h (EXTRA_SECTION_FUNCTIONS):
+	Add new constructor and destructor sections.
+	(MAX_OFILE_ALIGNMENT): Define as 2^15 for Mach-O.
+	(ASM_OUTPUT_ALIGN): Use .align, not .even.  Allow alignments > 2.
+	(CPP_PREDEFINES): Added -Dm68k since some code expects this.
+
+Fri May 31 05:41:51 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-class.c (pushclass): New argument value for MODIFY accepted.
+	* cplus-decl2.c (build_push_scope): Call `pushclass' with MODIFY == 3.
+
+	* cplus-decl.c (finish_function): Set TREE_PUBLIC and TREE_EXTERNAL
+	bits on functions according to #pragma interface/implementation,
+	regardless of whether or not the function's inline.  This fixes the
+	bug of needless code replication with -fno-inline.
+
+Thu May 30 17:39:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_expr):
+	Don't lose volatility of fields in COMPONENT_REF.
+
+Thu May 30 17:36:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (count_reg_usage, delete_dead_from_cse): New functions.
+	* toplev.c (rest_of_compilation): Call delete_dead_from_cse immediately
+	after the first cse pass.
+
+	* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem):
+	New functions, to find cases where a REG is equivalent to a MEM.
+	(optimize_reg_copy): New function.
+	(update_equiv_regs): Call these new functions.
+	Look for a register used in only one basic block being stored into
+	memory.
+	Keep track of loop depth so we can find regs used only once, but
+	inside a loop.
+	* reload1.c (reload): Use single_set when looking for an insn
+	that initializes a register.
+	If making a REG equivalent to a MEM, the insn with SET_DEST being
+	the register isn't always the one making the equivalence, since the
+	equivalence might be occurring due to a store into MEM; in that
+	case set reg_equiv_init to the latter insn.
+
+Thu May 30 14:23:01 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* Pending expansions processed at end-of-file can be processed out
+	of order, so freeing the associated data from the obstacks is not
+	possible.
+	* cplus-tree.h (struct pending_inline): New field can_free
+	indicates whether to free the text after processing it.
+	* cplus-lex.c (do_pending_inline, process_next_inline): If
+	can_free flag is set, specify inline-text obstack, otherwise null
+	pointer.
+	(cons_up_default_function): Clear flag.
+	(reinit_parse_for_method): Set it.
+	(store_pending_inline): Clear it when changing obstacks.
+	(pending_template_obstack): Deleted.  References changed to use
+	permanent_obstack.
+
+	* cplus-lex.c (store_pending_inline): Set DECL_PENDING_INLINE_INFO
+	value after swapping obstacks, not before.
+
+Thu May 30 07:23:18 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* va-sparc.h: Has to be a char * to be compatible with Sun.
+	i.e., we have to pass a `va_list' to vsprintf.  Also, fixed
+	bug in passing vararg structs.
+
+Thu May 30 00:32:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure: Delete Makefile.tem before writing it.
+
+	* stor-layout.c (layout_record):
+	Ignore PCC_BITFIELD_TYPE_MATTERS for incomplete type.
+
+	* fixincludes (stdtypes.h): Handle wchar_t like the other types.
+
+	* function.c (assign_parms): Don't declare args_so_far register.
+
+Wed May 29 15:13:05 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-tree.def (TEMPLATE_PARM_IDX): Deleted.
+	(TEMPLATE_TYPE_PARM): New node type, looks like a type node.
+	(TEMPLATE_CONST_PARM): New node type, looks like a const node.
+
+	* cplus-tree.h (IDENTIFIER_TYPE_VALUE_PTR): Inlined under gcc.
+	(TYPE_IDENTIFIER_PTR): Ditto.
+	(DECL_NESTED_TYPENAME_PTR): Ditto.
+	(struct lang_type): New bitfield `use_template'.
+	(CLASSTYPE_USE_TEMPLATE): Accessor macro for above.
+	(struct lang_decl): New field `template_info'.
+	(DECL_TEMPLATE_INFO): Accessor macro for above.
+	(TEMPLATE_EXPANSION_NAME_P): Deleted.
+	(push_overloaded_decl_top_level): Added declaration.
+	(TEMPLATE_TYPE_TPARMLIST, TEMPLATE_TYPE_IDX,
+	TEMPLATE_TYPE_SET_INFO, TEMPLATE_CONST_TPARMLIST,
+	TEMPLATE_CONST_IDX, TEMPLATE_CONST_SET_INFO): New macros for
+	accessing fields of TEMPLATE_..._PARM nodes.
+	(struct pending_inline): New fields for names and values to bind
+	to them while processing.
+	(struct template_info): Definition moved here from cplus-pt.c.
+	(instantiate_template): Added declaration.
+	(instantiate_class_template): Ditto.
+	(processing_template_{decl,defn}): New variable declarations.
+
+	* print-tree.c (print_node): Provide missing argument to
+	print_node for `bitpos' field.  Display `virtual' flag, and (for
+	function and method types) `class' field; these are only used by
+	C++ that I'm aware of, but are defined in common code, so they
+	should be displayed here.
+
+	* cplus-parse.y (template_def): Separate set of derivations, for
+	class and function templates.  Template_def is a type of extdef;
+	extern_lang_string before template_def is not permitted.
+	(fn_tmpl_end): New nonterminal, anything that signals the end of
+	the portion of a template that we should parse.
+	(yyprint): Define only if YYDEBUG.  Handle TYPESPEC.
+	(datadef): Complain at class template override declaration if that
+	specialization has already been produced by expansion.  Template
+	definitions no longer belong here.
+	(tmpl.2): Always call instantiate_class_template; let it decide
+	whether or not to go through with it.
+	(template_instantiation): Put decl in global scope only if not
+	already there.
+	(typespec, scoped_typename): Scoped typename inside template type
+	should be a scoped_typename, not a typespec.  However, a
+	template_type should be allowed as a typespec.
+	(structsp): Don't undo template name overload here.  Deleted
+	derivation from template_type.
+	(named_class_head_sans_basetype): Don't overload template name.
+	(LC): Do it here.
+	(notype_declarator): For scoped_id derivations, don't call
+	build_push_scope if the scoped_id is a SCOPE_REF.
+	(scoped_id): Moved old typespec-from-template_type rule here.
+	Call resolve_scope_to_name only if template parms aren't involved.
+
+	* cplus-pt.c (struct template_info): Definition deleted.
+	(templates, current_template_info): Variables deleted.
+	(processing_template_{decl,defn}): New variables.
+	(push_template_decls, pop_template_decls): Accept parmlist and
+	arglist as separate arguments, instead of deriving both from the
+	template.  If class_level is non-zero, push and pop a level,
+	making it transparent to tags.  Removed some pointless checks from
+	pop_template_decls that are only needed in push_template_decls,
+	and some assertions from both.  Callers changed.
+	(uses_template_parms): Return non-zero iff argument refers to any
+	TEMPLATE_*_PARM nodes.
+	(tsubst): Walk tree, substituting for template parms, returning
+	new tree.
+	(type_unification): Rewritten a bit, to make it work.  New
+	argument nsubsts is pointer to place to record number of
+	substitutions made when matching.
+	(unify): Renamed from unify1.  Rewritten completely, to work.
+	Still may need extending for some tree node types.
+	(do_pending_expansions): At end-of-file, expand any templates not
+	yet expanded which were actually needed.  Needs work to accomodate
+	latest specs.
+	(process_template_parm): Simplified slightly.  Non-type parms
+	should be marked read-only; aggregate types are not allowed, since
+	equality checks don't work.
+	(end_template_parm_list): Moved to after process_template_parm.
+	Push a level, and push decls for TEMPLATE_*_PARMs.  Set
+	processing_template_decl flag.
+	(end_template_decl): For non-class templates, build a
+	TEMPLATE_DECL and store the regular decl in its result field.
+	Context and other values get copied over too.  Call poplevel to
+	get rid of the TEMPLATE_*_PARM decls, and call
+	dont_forget_overload to avoid losing the declaration later.  Clear
+	processing_template_decl flag.  Call get_pending_sizes, so later
+	function compilation doesn't try to evaluate sizes of templates.
+	(mangle_class_name_for_template): Convert type/non-type check from
+	switch to if test.  Added support for ENUMERAL_TYPE, REAL_TYPE,
+	and POINTER_TYPE parms.
+	(instantiate_class_template): Renamed from old
+	instantiate_template.  Don't expand if type size is set, or if
+	being-defined flag is set, or use-template flag is non-zero.  If
+	other-template parms are used in the parm list, construct a simple
+	RECORD_TYPE node and return it.  Catch case of template declared
+	but not defined before use.  Renamed argument from class to
+	classname.  Set processing_template_defn flag.
+	(instantiate_template): New routine; constructs new decl node
+	given TEMPLATE_DECL node and template arg vector.
+	(end_template_instantiation):  Set use-template field to 2 ("did
+	use template").  Clear processing_template_defn flag.
+	(reinit_parse_for_template): Get template-info ptr from decl node.
+	Store template parm vector in it.
+	(pending_template_expansions): List of templates that may need
+	expanding later for function or class data definitions.
+
+	* cplus-method.c (build_overload_value): Ensure tree code is
+	PARM_DECL.  Handle ENUMERAL_TYPE like INTEGER_TYPE.  For DImode
+	values, compare against integer_zero_node instead of constructing
+	another one.  Added support for POINTER_TYPEs.  If not
+	REAL_IS_NOT_DOUBLE, support real values as well.
+	(build_overload_name): Accept TEMPLATE_*_PARM nodes, but generate
+	a string that should cause some assembler errors.
+
+	* cplus-ptree.c (print_lang_decl): Retrieve template-info from its
+	new place.
+	(print_lang_type): For TEMPLATE_TYPE_PARM, print its (short) info
+	and return.  For RECORD_TYPE, print use-template and interface-*
+	fields.
+
+	* cplus-search.c (push_class_decls): Don't call
+	push_template_decls; the bindings of template parameter names
+	should be associated with the template body, not with the class.
+	Do overload the template name, however.
+	(pop_class_decls): Don't call pop_template_decls.
+
+	* cplus-call.c (build_method_call): Changed to recognize
+	constructor of template class.
+	(build_overload_call): Add in number of template substitutions as
+	extra cost of a candidate function.  For template decls, try
+	unification and instantiation before evaluating cost of result.
+	This too is incorrect in terms of the spec, but it's a starting
+	point for later work.
+
+	* cplus-class.c (finish_struct): If structure is named, undo
+	overload of its name as a template.
+	(pushclass): If prev_class_type was a template class, pop it; the
+	decls are handled wrong and should be re-entered.
+
+	* cplus-decl.c (poplevel): Assert that the current level is not
+	global.
+	(push_to_top_level): Include global scope when looking for old
+	values, because class bindings aren't listed in any other one
+	place.
+	(push_overloaded_decl_top_level): New function; like
+	push_overloaded_decl, but places decl in global binding level.
+	(dont_forget_overload): New function; removes decl from list of
+	overloads to be forgotten when scope is exited.
+	(start_decl): If template parms are used, construct a
+	TEMPLATE_DECL node referencing the current decl.  For function
+	templates, call push_overloaded_decl; for class template members,
+	chain them into the class template definition.
+	(grokdeclarator): Don't try determining size of a
+	TEMPLATE_CONST_PARM node.  For template class-data decls,
+	construct a phony VAR_DECL node and return it.
+
+	* cplus-decl2.c (grokfield): For static class data, use
+	build_overload_name result, instead of copying class name, since
+	the latter could be a human-readable template class name.  (If
+	NEW_OVERLOAD_SCHEME is not defined, do this only if the class has
+	a template-derived name.)
+
+	* cplus-lex.c (pending_template_obstack): New variable; obstack
+	for pending-template stuff to be saved to end-of-file.
+	(init_lex): Initialize it.
+	(default_def): New variable; used for default definition of copy
+	constructors and destructors.
+	(do_pending_inlines): Figure out whether text is in an obstack,
+	and which one, for calling feed_input.  Push template decls if
+	needed, as specified in pending_inline data.  Pass current
+	pending_inlines pointer back in PRE_PARSED_FUNCTION_DECL instead
+	of next.
+	(process_next_inline): Ditto.  Pop pending inline data if needed.
+	(store_pending_inline): New function.  Decides which obstack to
+	store a pending definition on, and which list to chain it into.
+	(reinit_parse_for_method): Call it.
+	(reinit_parse_for_block): If character passed in is '=', look for
+	a semicolon to end the block; don't require a {} block.  Don't pad
+	to 8 bytes on USG, since we aren't feeding input via stdio any
+	more.  Also, use newlines instead of # directives for advancing
+	line number only a few lines.
+	(cons_up_default_function): Punt padding for USG stdio, since we
+	aren't using it any more.  Use default_def for definition.  Call
+	store_pending_inline to save it away.
+	(identifier_type): For TEMPLATE_DECL, DECL_RESULT field non-null
+	indicates a non-type template, so don't return PTYPENAME.
+	(yylex): If end-of-file and input isn't redirected, call
+	do_pending_expansions and maybe start yylex over.  Don't check
+	TEMPLATE_EXPANSION_NAME_P; a proper name transformation system
+	will eliminate conflicts.  Try for SCOPED_TYPENAME with PTYPENAME
+	too.
+
+Wed May 29 11:48:34 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (do_include): Check that ->control_macro is non-zero.
+
+	* gcc.c (process_command): Use `error' in last change.
+
+Wed May 29 11:10:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (movdi): Accept CONST_INT.
+	* out-m88k.c (output_load_const_dimode): Accept CONST_INT.
+	(output_call): Don't use #plt for jsr.
+
+Wed May 29 00:51:36 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-type2.c (build_functional_cast): Give error if functional
+	cast is missing argument.
+
+	* cplus-tree.h (interface_unknown): Add a declaration for this
+	variable.
+
+	* cplus-type2.c (store_init_value): Normally initialized PIC data
+	must be laid into the text segment and then copied into the data
+	segment.  But cecause of special things we do for ctors and dtors
+	(the only things that can reference such things), we can leave
+	vtables in initialized data space.
+
+	* cplus-decl.c (finish_decl): Use #pragma interface knowledge if
+	available for processing initialized variables of type const.
+
+Tue May 28 18:39:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* sched.c ({true,anti,output}_dependence): Correct MEM_IN_STRUCT_P
+	code; only avoid conflict if MEM_IN_STRUCT_P ref has varying address.
+
+	* protoize.c (stat): Remove declaration of stat; it is defined
+	differently (no const in arg 1) on some machines.
+
+	* combine.c (simplify_shift_const): Avoid infinite loops by quitting
+	when COUNT becomes zero; delete now-unnecessary tests on COUNT.
+
+	* flow.c (last_mem_set): New variable.
+	(propagate_block): Initialize it.
+	Show calls can change memory.
+	(insn_dead_p): Remove unneeded arg STRICT_LOW_OK; don't treat
+	STRICT_LOW_PART differently than ZERO_EXTRACT.
+	All callers changed.
+	If insn stores into the same, nonvolatile, MEM as recorded in
+	last_mem_set, it is dead.
+	(mark_set_1): If writing into register mentioned in last_mem_set or
+	writing into memory, clear last_mem_set.
+	Record last MEM written.
+	(find_auto_inc): New function, from mark_used_regs.
+	Add support for pre-increment and pre-decrement.
+	(mark_used_regs, case MEM): Clear last_mem_set.
+	Call find_auto_inc; move code to there.
+	(mark_used_regs, case SET): Don't call recursively on MEM if it is
+	SET_DEST, instead call find_auto_inc ourselves.
+
+Tue May 28 17:29:52 1991  Micheal Tiemann  (tiemann at wookumz.gnu.ai.mit.edu)
+
+	* gnulib1.c (__fixsfsi, __cmpsf2, __extendsfdf2): Add declarations
+	for intify.
+
+	* gcc.c (default_compilers): Accept `.cxx' as a C++ extension.
+
+Tue May 28 17:05:28 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (movstrsi): Pass original MEM expressions.
+	* out-m88k.c (expand_block_move, block_move_{sequence,no_loop,loop}):
+	Use original MEM expressions to set RTX_UNCHANGING_P, MEM_VOLATILE_P,
+	and MEM_IN_STRUCT_P.
+
+	* out-m88k.c (emit_bcnd): Use bxx when optimizing so jump_optimize
+	will work on more cases.  Change this back when jump_optimize uses
+	get_condition to find the values being compared.
+
+	* m88k.md: Don't use operand0 or operand1.
+
+Tue May 28 16:00:56 1991  Micheal Tiemann  (tiemann at wookumz.gnu.ai.mit.edu)
+
+	* emit-rtl.c (try_split): Make sure `after' exists before checking
+	to see if it is a BARRIER.
+
+Tue May 28 15:08:44 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (process_command): Warn if -x follows last input file.
+
+	* cccp.c: Don't include file twice if a #ifndef would make it a no-op.
+	(struct file_name_list): New field, control_macro.
+	Initialize it where these structures are created.
+	(struct if_stack): Likewise.
+	(do_include): If file already known, check its control macro if any.
+	Don't include the file if the macro is now defined.
+	(do_xifdef): Detect case of successful #ifndef at start of file.
+	(condition_skip): Accept macro name as new arg.  Record in if_stack.
+	(do_endif): Detect being effectively at end of file.
+	(record_control_macro): New function.  Called from do_endif.
+
+	* calls.c (store_one_arg): Set used after calling push_rounding.
+
+	* sparc.md (floating move peepholes): Allow `r' for operand 2.
+
+	* arm.md, tm-arm.h, out-arm.c, xm-arm.h: New files.
+	* configure (arm): New alternative.
+
+Tue May 28 11:53:21 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-decstatn.h (CPP_PREDEFINES): Add Ultrix 4.2 support.
+
+	* tm-mips.h (cmp_type, branch_cmp, branch_type): Global variables
+	and type to record what type of comparison is being done.
+	(mips_print_operand_punct): New array to specify whether a
+	character is valid for print_operand as punctuation.
+	(set_nomacro, set_noat, set_noreorder): New variables to record
+	whether a .set nomacro, .set noat, or .set noreorder has been
+	done.
+	(dslots_{filled,total}_{load,jump}): New global variables to
+	remember how many delay slots exist and are filled for the -mstats
+	option.
+	(CC1_SPEC): Combine %{O:...} %{O*:...} cases.  For -G32, pass -G
+	32.  Add dummy pattern for -save-temps to avoid error message.
+	(DBX_DEBUGGING_INFO): Define this all the time.
+	(SDB_ALLOW_FORWARD_REFERENCES): Define this for MIPS ECOFF support.
+	(SDB_ALLOW_UNKNOWN_REFERENCES): Define this for MIPS ECOFF support.
+	(TARGET_SWITCHES): Add -mstats to print interesting statistics.
+	Add -mmemcpy to force memcpy to be called.  Add -mdebug[fghij].
+	Add -mno- version of switches.
+	(DATA_ALIGNMENT): Align all char/short arrays/unions/structures,
+	rather than just char arrays.
+	(BYTE_LOADS_ZERO_EXTEND): Define this.
+	(CONST_OK_FOR_LETTER_P): 'N' returns true if power of 2.
+	(EXTRA_CONSTRAINT): Redefine 'Q' to be 1 word memory references,
+	'R' to be multiword memory references.
+	(struct frame_info): Add initialized field.
+	(current_frame_info): New global structure to hold frame info.
+	(INITIAL_FRAME_POINTER_OFFSET): Use current_frame_info.
+	(INIT_CUMULATIVE_ARGS): Pass LIBNAME to init_cumulative_args.
+	(DELAY_SLOTS_FOR_EPILOGUE): Define this to fill j $r31 delay slot.
+	(ELIGIBLE_FOR_EPILOGUE_DELAY): Ditto.
+	(ENCODE_SEGMENT_INFO): Don't flag references to 0-sized arrays as
+	being in the small data segment.
+	(CONST_COSTS): Reword to be more accurate.
+	(RTX_COSTS): Define this.
+	(ADDRESS_COST): Define this.
+	(CLASS_CMP_OP, CLASS_EQUALITY_OP, CLASS_UNS_CMP_OP): New bits for
+	rtx_classify to classify various comparison operators.
+	(FINAL_PRESCAN_INSN): Define this to collect info for -mstats.
+	(NOTICE_UPDATE_CC): Only do CC_STATUS_INIT if the insn is a
+	comparison.
+	(EXTRA_CC_MODES): Define new modes CC_EQmode, CC_FPmode, CC_0mode.
+	(EXTRA_CC_NAMES): Define this.
+	(SELECT_CC_MODE): Define this.
+	(PRINT_OPERAND_PUNCT_VALID_P): Redefine this to index into
+	mips_print_operand_punct.
+	(DBR_OUTPUT_SEQEND): Reset .set reorder, .set macro as appropriate.
+
+	* out-mips.c (branch_cmp, branch_type): New Global variables
+	and type to record what type of comparison is being done.
+	(mips_print_operand_punct): New array to specify whether a
+	character is valid for print_operand as punctuation.
+	(set_nomacro, set_noat, set_noreorder): New variables to record
+	whether a .set nomacro, .set noat, or .set noreorder has been
+	done.
+	(dslots_{filled,total}_{load,jump}): New global variables to
+	remember how many delay slots exist and are filled for the -mstats
+	option.
+	(reg_or_0_operand): Rewrite to add support for CONST_DOUBLE.
+	(mips_const_double_ok): Allow normal FP constants (not Infinity,
+	Nan, etc) to be used as operands when using the MIPS assembler.
+	(simple_memory_operand): Combine GP memory references from
+	gp_memory_operand.  Delete gp_memory_operand.
+	(equality_op): Return true if EQ or NE.
+	(cmp_op): Return true if comparison operator.
+	(uns_cmp_op): Return true if unsigned comparison.
+	(mips_move_1word): New name for mips_move_instructions.  Also, loads
+	of HImode/QImode use unsigned loads, rather than signed loads, so
+	that BYTE_LOADS_ZERO_EXTEND can be defined.  Use %z to get name of
+	$0, instead of hardwiring it.  Explicitly use lui where appropriate.
+	(mips_move_2words): New name for mips_move_2words_instructions.  Use
+	%z to get name of $0, instead of hardwiring it.
+	(mips_address_cost): New function to define ADDRESS_COST macro.
+	(gen_conditional_branch): New function to generate all of the tests
+	and branches.
+	(block_move_sequence): New function to generate straight line code
+	for block moves.
+	(block_move_call): New function to set up a call to memcpy/bcopy as
+	appropriate for block moves.
+	(expand_block_move): New function which is called from the movstrsi
+	define_expand, to set up block moves.  At present, unless -mmemcpy
+	is used, moves of less than 32 bytes, get straight line code, all
+	others get a call.
+	(init_cumulative_args): Take libname as third argument.
+	(function_arg_partial_nregs): Fix bug, to not return a negative
+	number when passing small structs in registers.
+	(compare_collect, compare_restore): Remove these functions, since
+	they are no longer called.
+	(override_options): Initialize mips_rtx_classify for all of the
+	comparison operator bits.  Initialize mips_print_operand_punct to
+	return TRUE for each of the valid punctuation characters used in
+	print_operand.
+	(print_operand): %X now prints 32 bit ints in hex format.  %z now
+	prints $0 if the operand is the constant integer 0.  %(, %) now turn
+	on/off both .set noreorder/.set nomacro.  %<, %> turns on/off .set
+	nomacro.  %* turns on both .set noreorder and .set nomacro if
+	filling delay slots.  %! turns on .set nomacro if filling delay
+	slots.
+	(compute_frame_size, save_restore, function_prologue,
+	function_epilogue): Change the calling sequence of
+	compute_frame_size to save everything in a global structure, which
+	has an initialized field to indicate that compute_frame_size needs
+	to be called.
+	(function_prologue): INIT_CUMULATIVE_ARGS now takes 3 args.
+	(function_epilogue): If current_function_epilogue_delay_list is
+	non-null, use that to fill the final delay slot.  Also, make sure
+	the various asm .set's are reset properly.  Write interesting
+	statistics out to stderr if -mstats.
+	(mips_epilogue_delay_slots): New function to return # of delay slots
+	the epilogue needs.
+	(null_epilogue):  Return true if the function has a null epilogue,
+	which allows the optimizer to omit jumps to the final j $31 if no
+	stack was created.
+
+	* mips.md (type attribute): Redo how the type attributes work, and
+	change some names.
+	(mode attribute): New attribute to describe the insn's result mode.
+	(length attribute): New attribute to give insn length in words.
+	(dslot attribute): New attribute to return whether an insn needs a
+	delay slot.
+	(define_delay): Use dslot and length attributes to determine if a
+	delay slot is needed.
+	(define_function_unit): Define all of the function units now.
+	(all patterns): Provide new attribute definitions.
+	(all memory reference patterns): modify alternatives to use 'Q' for
+	1 word instructions, 'R' for multiword instructions.
+	(unnamed patterns): Provide names for all patterns, so that -dp will
+	pinpoint exactly which pattern is used.
+	(*divsi3, *divmodsi4, *modsi3): If optimizing and not -mdebugc, use
+	the *divmodsi4 patterns, so that the opimizer will only use 1 divide
+	if doing a = b / c; d = b % c;  This replaces the peepholes, which
+	previously were used for this.  If not optimizing, use the normal
+	div/mod patterns.
+	(zero_extendqihi2, extendqihi2): Allow zero/sign extending from
+	memory.
+	(fixuns_trunc{df,sf}si2): Use generator patterns to generate
+	appropriate branches.
+	(movsi_ulw, movsi_usw): New patterns to generate the appropriate
+	unaligned load/store for use in the block move expansion.
+	(mov*): Provide all possible combinations of moves.
+	(movstrsi): New pattern to generate block moves.
+	(negsi2): Change to a define_expand, which uses minus.
+	(one_cmpsli2): Change to a define_expand, which use the nor pattern.
+	(cmp*, b*): Redo comparison/branch completely to save things in
+	global variables, call the common C code to expand the branch, and
+	provide match_operators to do the actual branch.
+	(s*): Provide for the ability to set a register with an integer
+	comparison, without using a branch.
+
+	* make-decrose (AUX_OUTPUT2): Delete macro, since aux-output.c is
+	always compiled separately now.
+	(LANGUAGES): Suppress G++, Objc temporarily.
+	(cse.o): Rebuild cse if the config files change, to get new cost
+	functions, no longer rebuild calls/function since the FUNCTION_ARG
+	macros just call functions in out-mips.c.
+	(SRCS): Change $(AUX_OUTPUT2_SRC) to aux-output.c.
+
+	* make-mips (AUX_OUTPUT2): Delete macro, since aux-output.c is
+	always compiler separately now.
+	(CONFIG2_H): Add rules to rebuild selected modules when the
+	tm-mips.h file changes.
+	(mips-tfile): Rules to build mips-tfile.
+	(mips-tdump): Rules to build mips-tdump.
+	(LANGUAGES): Suppress G++, Objc temporarily, build mips-tfile.
+
+	* mips-tfile.c (whole file): New file to put the MIPS specific debug
+	information into the object file, after the assembler has been run.
+	This is needed because the MIPS assembler provides no method of
+	setting up the debug information for local variables.  This is
+	enabled by the make-mips Makefile modifier.
+
+	* mips-tdump.c (whole file): New file to dump the contents of the
+	MIPS ECOFF symbol table in a symbolic format.  This is not currently
+	built by default, but make-mips contains rules to build it.
+
+	* tm-decrose.h (MD_EXEC_PREFIX): Change to use the test prefix
+	/usr/ccs/gcc-2.00/gcc- instead of the release prefix /usr/ccs/gcc.
+	(WCHAR_TYPE_SIZE): Define as 16.
+	(WCHAR_UNSIGNED): Define as 1.
+	(DBX_DEBUGGING_INFO): Define moved to tm-mips.h.
+
+
+Tue May 28 06:26:44 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (store_bit_field, extract_bit_field): If -fforce-mem
+	specified, copy OP0 into register (and back again, for store).
+
+	* sched.c (memrefs_conflict_p, {true,anti,output}_dependence): Add
+	missing parens.
+
+	* reload.c (find_reloads): Turn usage of reg_preferred_class back on
+	now that the code has been refined.
+
+Mon May 27 12:41:14 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault): Set converted for shifts,
+	so op1 is not converted to the result type.
+	Clean up some warning messages.
+
+	* expr.c (expand_expr): Use temp stack slot for BLKmode SAVE_EXPR.
+
+	* Makefile.in (alloca.o): Use new vars ALLOCA_FLAGS and ALLOCA_FINISH.
+
+Mon May 27 05:42:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* sched.c ({read,true,anti,output}_dependence): Remove unused arg INSN.
+	All callers changed.
+
+	* combine.c (subst, case PLUS): Fix typo in (plus (plus X C) Y) case.
+	(subst, case MULT): Distribute MULT over PLUS to try to simplify it.
+
+Mon May 27 05:15:16 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept a SYMBOL_REF
+	sum if FLAG_PIC is not 1.  This forces the -fPIC to take effect,
+	even when the optimizer knows how to stitch together HIGH and LO_SUM
+	combinations.
+	(PRINT_OPERAND): Move body to out-sparc.c.
+	* out-sparc.c (print_operand): New function, implementing actions of
+	old PRINT_OPERAND macro.  Comments written for all cases.
+	(reg_unused_after): Don't do anything special with JUMP_INSNs.  Only
+	do something special with CALL_INSN if REGNO is a call-used reg.
+
+	* cplus-type2.c (store_init_value): Back out 23 Feb change, which
+	was completely backward.
+
+	* dbxout.c, cplus-dbxout.c (dbxout_parms): Also test that TREE_TYPE
+	(PARMS) is not ERROR_MARK_NODE.
+
+	* cplus-init.c (build_up_reference): Check FLAGS parameter to see if
+	we can accept building a reference to a constructor-generated
+	temporary.
+	(various places): Change calls to `build_up_reference' that used to
+	use an explicit `1' to use LOOKUP_PROTECT instead.
+	(build_offset_ref): Use IDENTIFIER_TYPE_VALUE macro to the the type
+	associated with CNAME.
+
+	* cplus-class.c (build_vbase_path): Fix 11 May change by only
+	changing TREE_TYPE (EXPR) if NULL_EXPR.  We might build different
+	vbase paths for the same expr in multiple inheritance
+	initialization.
+
+	* Makefile.in: Change sed script so it matches '^# ' instead of just
+	'^#'.  This allows processing of md files with #if/#endif controls
+	in their C function bodies.
+
+	* cplus-tree.c (build_cplus_new): Set TREE_SIDE_EFFECTS on RVAL.
+
+	* stmt.c (warn_if_unused_value): Don't warn about EXIT_EXPRs.
+	(expand_decl_cleanup): Add missing type declarations for parameters.
+
+	* cplus-call.c, cplus-class.c, cplus-dbxout.c, cplus-edsel.c: Include
+	stdio.h after cplus-tree.h since the latter references printf.
+	* cplus-search.c, cplus-xref.c: Likewise.
+	* cplus-class.c (prev_class_type): Not static; defined in cplus-tree.h.
+	* cplus-decl.c (builtin_function, auto_function): Don't put & in
+	front of function name.
+	* cplus-typeck.c (comptypes,comp_target_types): Likewise.
+	* cplus-search.c (report_ambiguous_mi_virtuals): Likewise, for arrays.
+
+Sun May 26 22:47:35 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl.c (make_temporary_for_reference): New function.  Split
+	out code from `grok_reference_init' so we could call it in two
+	places: where it was called before, and when initializing a
+	reference through a constructor for a temporary.
+	(grokdeclarator): Give error message instead of aborting if user
+	gave method qualifiers for function decl.
+	(start_function): Switch to temporary obstack before computing
+	destructor and constructor labels, and before building the
+	function's RESULT_DECL.
+
+	* cplus-decl.c (store_parm_decls): Make a cleanup that controls the
+	action of the garbage collector.  This ensures that the call to
+	__gc_pop doesn't get skipped in the function issues a return stmt.
+	* cplus-gc.c (expand_gc_prologue_and_epilogue): Work with new
+	cleanup model.
+
+	* cplus-gc.c (build_i_desc): Figure out whether the i_desc should
+	constitute a defn of its type or not.
+
+	* cplus-typeck.c (c_expand_return): Look through TARGET_EXPR as well
+	as NEW_EXPR for returning addresses of local variables.
+
+	* reload.c (find_reloads): Intialized `goal_alternative_swapped'
+	where `swapped' is initialized to zero.
+
+Sun May 26 21:29:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* recog.c (const_double_operand): Fix typo.
+	* reload1.c (choose_reload_regs): Fix typo--swap #endif with }.
+
+	* loop.c (init_loop): Multiply copy_cost by 2.
+	(general_induction_var): Use rtx_cost directly.
+	(expr_benefit): Function deleted.
+
+	* m68k.md (andsi3): Generate bclr if appropriate.
+
+	* cccp.c (do_undef): Just a warning, if deleting something unusual.
+
+Sun May 26 18:51:33 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* expr.c (force_operand): When calling recursively, use
+	a temporary to force evaluation of calls.  The C language
+	allows `f (g (x), g (y))' to be evaluated in different orders
+	on different hosts, which could lead to different code
+	generation for different hosts.
+
+	* recog.c (const_double_operand): New function for recognizing
+	CONST_DOUBLE rtx's.
+
+	* expmed.c (expand_mult_add): Add new parameter TARGET which is a
+	suggestion of where to store the result; pass it to expand_expr.
+	* loop.c (emit_iv_add_mult): Pass REG to expand_mult_add call as
+	target for the result.
+
+	* gmicro.md, old-sparc.md, pyr.md: Delete obsolete UMULT patterns.
+
+	* expmed.c (expand_mult): Convert DImode constants to a CONST_INT
+	if possible, so that multiplies by these can be optimized by the
+	existing code.
+
+Sun May 26 00:59:42 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (process_command): -save-temps is always valid.
+
+	* varasm.c (output_constructor): Don't crash if val == 0.
+
+	* cse.c (refers_to_mem_p): Handle constant addresses.
+
+	* cccp.c (main): Don't store thru last_include if null.
+
+Sat May 25 06:33:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads): Don't assume we have at least two operands
+	when we check for a simple copy.
+
+	* sched.c (update_reg_known_value): Deleted.
+	(init_alias_analysis): If have REG_EQUIV note, can always use NOTE's
+	value irrespective of number of sets.
+	Take known value from note, not SET_SRC.
+	(memrefs_conflict_p): Remove gotos.
+	ASHIFT can't occur in an address.
+	(true_dependence, anti_dependence, output_dependence): Take into
+	account the fact that a MEM_IN_STRUCT_P reference cannot conflict
+	with a non-MEM_IN_STRUCT_P reference at a fixed address.
+
+Fri May 24 11:34:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (cplus-tab.c): Put back -d option.
+
+Fri May 24 06:46:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.c (rtx_alloc): Ensure we keep the obstack aligned.
+
+Fri May 24 00:17:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload1.c (choose_reload_regs): Try with inheritance, then without.
+	#if 0 the code to avoid inheritance in certain cases.
+
+Fri May 24 00:13:40 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* out-i386.c (split_di): Check for CONST_DOUBLE before CONSTANT_P.
+
+	* tm-i386.h (LIMIT_RELOAD_CLASS): new macro.
+	(PREFERRED_RELOAD_CLASS): a CONST_DOUBLE can appear in narrower
+	classes than GENERAL_REGS.
+
+	* reload.c (push_reload): Limit reload class even if the SUBREG has
+	already been stripped.
+
+Thu May 23 11:08:21 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* sched.c (schedule_insns): Don't schedule a block if the only insn is
+	a CODE_LABEL.
+
+Thu May 23 07:54:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (choose_reload_regs): Process reload in first pass if
+	a subsequent reload requires fewer registers.
+	Change criteria for processing from being a strict superset to 
+	having an intersecting, non-equal class.
+	Ignore optional and turned-off reloads in loop to see what is forced
+	to be allocated in first pass.
+
+	* toplev.c (compile_file): Fix typo in length of string to allocate
+	for sched2 dump's name.
+
+	* jump.c (find_cross_jump): Don't crash if single_set returns 0.
+
+	* recog.c (general_operand): A SUBREG of a constant is never valid.
+
+	* local-alloc.c (qty_compare, qty_compare_1): Make priority function
+	the same as in global-alloc: quantities with shorter lives are
+	allocated first.  This can speed up some code by a factor of three.
+
+Wed May 22 17:40:49 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (emit_reload_insns): Fix some minor bugs in making
+	REG_DEAD notes and recording insn that does store; code sometimes
+	assumed that each call to gen_move_insn produced at most one insn.
+
+Wed May 22 16:51:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload.c (push_reload): Support LIMIT_RELOAD_CLASS.
+
+Wed May 22 14:14:51 1991  Micheal Tiemann  (tiemann at wookumz.gnu.ai.mit.edu)
+
+	* jump.c (jump_optimize): Update the three simplifications that
+	start with the "if (...) x = 1;" case.  Add comments explaining how
+	to make them more machine independent, and comments explaining how
+	they might fail in the future.  Ifdef out the second case, and add
+	code explaining why it does not work.
+
+	* rtl.h: Put definition of FUNCTION_FLAGS_USES_CONST_POOL here.
+	* integrate.c: Remove definition of it here.
+
+	* integrate.h: New fields in struct inline_remap, min_insnno and
+	max_insnno, which indicate the range of insns covered by insn_map.
+	* integrate.c (expand_inline_function): Set min_insnno and max_insnno.
+
+Wed May 22 12:31:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-vaxv.h (ASM_OUTPUT_LOCAL): Use data_section.
+
+	* protoize.c (fancy_abort): Define it.
+	* objc-parse.y (yyprint, set_yydebug): New functions.
+
+	* tree.h (gettags, get_permanent_types, get_temporary_types):
+	Declare them.
+
+	* Makefile.in (protoize.o, unprotoize.o):
+	Use the standard flags and include dirs.  Don't use -Wall.
+	* protoize.c (abort): Declaration deleted.
+
+	* cccp.c (main): Ensure `next' field in directory list is initialized.
+
+Wed May 22 09:27:49 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* expmed.c (synth_mult): Return cost of -1 if shift is too
+	expensive.
+
+Wed May 22 07:53:52 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* out-sparc.c (output_move_double): More SImode->Pmode fixes.
+
+Wed May 22 02:43:02 1991  Micheal Tiemann  (tiemann at wookumz.gnu.ai.mit.edu)
+
+	* Makefile.in, emit-rtl.c, explow.c, final.c, global-alloc.c,
+	gnulib2.c, hard-reg-set.h, regclass.c, reload1.c, cccp.c: Fix typos
+	and indentation.
+
+Wed May 22 00:14:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* combine.c (try_combine): Add to last change; handle subreg
+	in src as well as in dest of i3.
+
+Tue May 21 22:32:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* m68k.md (dbra): Rewrite pattern so it reflects simplifications that
+	combine will make.
+
+Tue May 21 10:44:05 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* loop.c (strength_reduce): When a loop-vtop note is encountered,
+	reset `not_every_iteration'.
+
+Tue May 21 00:17:31 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Always use long type for size_t.
+
+	* varasm.c (assemble_variable): Use ASM_DECLARE_OBJECT_NAME.
+
+	* protoize.c: Include config.h.
+	(chmod, kill): Declarations deleted.
+	They aren't needed, and can conflict with system headers.
+	(wait): BSD declaration deleted.
+	(save_def_or_dec): Add missing fprintf arg.
+
+	* tm-next.h (EXTRA_FORMAT_FUNCTIONS): Fix typo.
+
+	* protoize.c: Use USG and VMS as most files do.
+	Don't expect BSD to be necessary defined outside this file.
+	Define getwd using getcwd, not vice-versa, to be like dbxout.c.
+	* cccp.c, SYSCALLS.c: Use USG and VMS as most files do.
+	Don't expect BSD to be necessary defined outside this file.
+
+Mon May 20 16:54:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-i386.h, tm-att386.h, tm-bsd386.h, tm-sun386.h (ASM_BYTE_OP):
+	Renamed from ASM_BYTE.
+	* varasm.c (ASM_BYTE_OP): Likewise.
+
+	* c-decl.c, cplus-class.c (finish_struct): Typo:
+	Had PCC_BIT_FIELD_MATTERS which is now PCC_BITFIELD_TYPE_MATTERS.
+
+	* gcc.c (handle_braces): Don't deref input_suffix if null.
+
+Mon May 20 15:19:27 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)
+
+	* cccp.c (pcfinclude): STRINGDEF struct is now longword aligned.
+
+Mon May 20 14:26:18 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* sparc.md: Remove all arithmetic, logical, and shift patterns for
+	sub-SImode operands.  Also fix some DImode patterns.
+
+	* out-sparc.c (emit_move_sequence): Simplified considerably.
+
+	* rtl.c (rtx_alloc): Inline-code an optimized obstack_alloc.
+
+	* cplus-lex.c (make_{pointer,reference}_declaration): Call
+	`build_parse_node' instead of `build1' so memory can be freed.
+
+	* cplus-parse.y: Remove unneeded epsilon rules to produce an average
+	15% reduction in the number of reductions performed.
+
+	* cplus-parse.y (RETURN_INIT): Use new interface to speed up
+	grammar.
+	* cplus-decl.c (store_return_init): Use new interface.
+
+Mon May 20 11:16:34 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* sched.c (schedule_block): A register which dies in a CALL_INSN
+	does not cross calls.  A single insn block must be scheduled, to
+	ensure that register lifetime info is corrected updated.
+
+Mon May 20 06:50:37 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Don't combine when I1 and I2 both feed
+	into I3 and I1 uses the register set in I2.
+
+	* reload.c (find_reloads): Prefer pseudos over other things we may
+	reload.
+
+Mon May 20 02:02:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* combine.c (try_combine): Test MODES_TIEABLE_P when i3 src is subreg.
+
+	* m68k.md (trunc*): Don't set cc if use wider insn.
+
+Sun May 19 14:45:46 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* Makefile.in (clean): Delete stage1...stage4.
+	(realclean): Delete cexp.output.
+
+	* fixincludes: Handle BSD43__IO* and BSD43_CTRL like IO* and CTRL.
+
+Sun May 19 15:00:05 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload1.c (count_possible_groups): New function.
+	(reload): Call it twice.  This checks for possible groups
+	after maybe spilling some single regs.
+
+	* configure (magnum, m3230): Aliases for mips/mips.
+
+	* fixincludes (machine/cpu.h):
+	Create in proper dir.  Fix mips/cpu.h too.
+
+	* reload.c (find_reloads): Turn off usage of reg_preferred_class.
+
+Sun May 19 09:51:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (mark_used_regs): Continue putting REG_DEAD notes on 
+	fixed registers.
+
+	* regclass.c (reg_class_record): Don't count classes in which objects
+	won't fit.
+
+	* reload.c (find_reloads): Pre-compute preferred classes for each
+	operand; if operand 1 is copied to operand 0, merge the classes.
+	REJECT is now only 1/3 as costly as LOSERS; ? adds 3 to REJECT so
+	that it's semantics don't change.
+
+	* expr.c (compare_from_rtx): Do EQ and NE comparisons unsigned since
+	they are usually cheaper and will cse with comparisons against zero
+	which are already unsigned.
+
+	* reload1.c (choose_reload_regs): Don't try to access reload_out
+	for disabled reload (reload_strict_low may not have been cleared).
+
+	* reload1.c (choose_reload_regs): Don't let optional reloads inherit
+	spill regs until all non-optional reloads have been allocated spill
+	regs.
+	We can use find_equiv_reg even if must_reuse, we just can't get a
+	spill reg that way.
+
+	* expr.c (do_tablejump): When using LABEL_REF in arithmetic, make it
+	in Pmode instead of VOIDmode.
+
+	* function.c (fixup_var_refs_1): Don't try to make paradoxical
+	memory SUBREGs; instead keep SUBREG_REG a pseudo and copy between
+	memory and the pseudo.
+	(fixup_memory_subreg): Abort if we try making paradoxical SUBREGs.
+
+	* reorg.c (redundant_insn_p): Insns we pass may reference resources
+	set by INSN; it is sufficient that they not set resources in INSN.
+
+Sun May 19 08:06:17 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* tm-sparc.h (STRUCT_VALUE): Change SImode to Pmode here, and in
+	other places.
+	(FIRST_PARM_OFFSET): Change 4 to UNITS_PER_WORD here, and in other
+	places.
+	(ROUND_ADVANCE): New macro to compute how far to advance the arg
+	pointer for a give parameter.
+	(FUNCTION_ARG): Use PARM_BOUNDARY instead of 32.
+	(EXTRA_CONSTRAINT): Don't depend on `reload_completed'.
+	* sparc.md (various places): Change many DImode predicates from
+	`general_operand' to `register_operand'.
+
+	* jump.c (find_cross_jump): Fixed 18 May change to use
+	`validate_change' to make sure we get valid, initialized values
+	regardless of which path we choose.
+
+Sat May 18 15:07:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c: Rename FATAL_EXIT_CODE to FAILURE_EXIT_CODE.
+
+	* gnulib1.c: Rename SFVALUE to FLOAT_VALUE_TYPE.
+	(union flt_or_value): New type.
+	(*): Use that instead of flt_or_int in most places.
+	Delete some variables `intify' that aren't needed.
+	* tm-i386.h: Rename SFVALUE to FLOAT_VALUE_TYPE.
+
+	* stor-layout.c (layout_record): BITFIELD_NBYTES_LIMITED now 1 or 0.
+
+	* rtl.h (struct rtx_def): Drop SHORT_ENUM_BUG; keep ONLY_INT_FIELDS.
+
+	* loop.c (add_cost, copy_cost):
+	Variables replace old macros *_BENEFIT and COPY_PENALTY.
+	(init_loop): New function to set the variables.
+	(expr_benefit): Use rtx_cost.
+	* toplev.c (compile_file): Call init_loop.
+	* cse.c (rtx_cost): Treat mult by 2**n as a shift by default.
+
+	* toplev.c (output_file_directive):
+	Typo in ASM_OUTPUT_MAIN_SOURCE_FILENAME.
+
+	* gnulib2.c [L_trampoline]: Rename function to __trampoline.
+	Always compile it even if empty.  Make it global.
+
+Sat May 18 14:11:37 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads): Remove unnecessary test when increasing
+	cost of alternative due to non-preferred register class.
+
+	* reload1.c (choose_reload_regs): Fix typo.
+
+	* tm-rs6000.h: Add hard registers for the 8 CR fields; add classes
+	CR0_REGS and CR_REGS.
+	Don't use CC0; add CCUNSmode and CCFPmode.
+	(FIXED_REGISTERS): r31 (fp) is no longer fixed.
+	(REG_CLASS_FROM_LETTER): Remove 'd' for GENERAL_REGS; 'r' already
+	means this.
+	(CONST_DOUBLE_OK_FOR_LETTER): If we can move a constant in two insns
+	for DF or one insn for SF, let it match 'G'.
+	(SECONDARY_RELOAD_CLASS): Define this new macro.
+	(FUNCTION_ARG): Fix typo in testing nargs_prototype.
+	(LEGITIMATE_CONSTANT_P): Always return 1.
+	(FIXUNS_TRUNC_LIKE_FIX_TRUNC): Do not define.
+	* rs6000.md: Don't use CC0; instead use a pseudo which will be assigned
+	to CR_REGS or CR0_REGS.  Make variants of arithmetic insns that
+	set only the condition code and that set both the condition code
+	and a normal result.
+	Delete "cc" attribute and add "type" attribute.
+	Define delays for cc-setting insns and for loads.
+	Replace `d' constraint with `r'.
+	Delete patterns for HImode and QImode arithmetic operations.
+	Handle putting "easy" DFmode or SFmode constant into a register.
+	Rework compare and branches; add scc insns.
+	Fix up decrement-and-branch insns, but they still won't be used yet.
+	(call insns): Use pseudo for "lr" in indirect calls.
+	(movdf, movsf): Explictly handle need to use memory to copy between
+	general and FP registers.
+	* out-rs6000.c (next_insn_tests_no_unsigned, unsigned_comparisons_p):
+	Deleted.
+	(update_cc): Likewise.
+	(gen_reg_operand): Tighen up a bit.
+	(cc_reg_operand, reg_or_u_short_operand, easy_fp_constant): New fns.
+	(fp_reg_or_mem_operand, mem_or_easy_const_operand): Likewise.
+	(call_operand): Accept pseudo register.
+	(branch_comparison_operator, scc_comparison_operator): New functions.
+	(secondary_reload_class, ccr_bit, must_save_cr): Likewise.
+	(print_operand, case 'w', 'u'): Support CONST_DOUBLE.
+	(print_operand, cases 'W', 'f', 'F', 'R', 't', 'T', 'C', 'D'):
+	New cases.
+	(print_operand, cases 'j' and 'J'): Now use for bit number in CCR.
+	(output_{pro,epi}logue): If we call function to save/restore fpr's,
+	we need to save/restore LR.
+	Save CR if we modify the call-saved fields.
+
+	* romp.md: Delete HImode and QImode arithmetic operations.
+	(swapxi): Delete; obsolete and never used.
+
+	* tm-a29k.h (TARGET_SWITCHES): Change -mnodw to -mndw.
+	Add -m{no-,}reuse-arg-regs.
+	(SECONDARY_RELOAD_CLASS): Provide a definition for this new macro.
+	* a29k.md: Delete all HImode and QImode arithmetic operations.
+	* out-a29k.c (secondary_reload_class): New function.
+	(incoming_reg): Look at TARGET_NO_REUSE_ARGS.
+
+	* reload1.c (eliminate_regs): Don't remove a PLUS unless inside	an
+	address since it would need to change INSN_CODE and can't do it here.
+
+	* reorg.c (uid_to_ruid, max_uid): New vars.
+	(mostly_true_jump): Refine prediction slightly.
+	Use uid_to_ruid map to accurately see if branches are backward.
+	(relax_delay_slots): Pass condition to mostly_true_jump.
+	(dbr_schedule): Allocate and build uid_to_ruid map.
+
+Sat May 18 12:54:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cse.c (insert): "Unchanging" pseudos count as constant.
+
+	* tree.c (make_node): Rewrite end as a switch.
+
+Sat May 18 03:51:06 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cse.c (FIXED_BASE_PLUS_P): Since this is used when called from
+	`expand_inline_function', also catch the case where the base
+	register is VIRTUAL_STACK_VARS_RTX.
+	(simplify_binary_operation): In EQ and NE case, convert a COMPARE
+	operand to something we can optimize.
+	(refers_to_mem_p): Handle the case when `base' is a LO_SUM.
+	* integrate.c (FIXED_BASE_PLUS_P): Define this to recognize offsets
+	from the various virtual registers.
+	(expand_inline_function): Expand exprs using EXPAND_SUM so as to get
+	stack frame addresses instead of pseudos.  This yields much better
+	cse (at little cost) for GNU C++.  Also, test FIXED_BASE_PLUS_P as
+	an alternative to CONSTANT_P to record a known register value.
+	* jump.c (find_cross_jump): If we are processing a cross jump and
+	the insns fail to match, try looking for a REG_EQUAL note that makes
+	them equivalent insns.  If found, keep going.  This is important for
+	merging cleanup codes when one cleanup path gets frame address in a
+	register when the other path gets the frame address explicitly.
+
+	* cplus-init.c (build_delete): Fixed residual use of 1-based
+	indexing to use 0-based indexing instead.
+
+	* cplus-decl2.c (grokclassfn): Fix raeburn's May 12 change so that
+	destructors still have the same name.
+
+	* cplus-decl.c (decls_match): Remove dependence on MERGED.
+
+	* cplus-class.c (build_vbase_path): Fixed bug in computing offsets
+	for exprs which are FIXED_TYPE_P.
+	(build_vfn_ref): Change initializer for REF from 0 to NULL_TREE.
+
+	* cplus-decl.c (maybe_build_cleanup): Add LOOKUP_NONVIRTUAL to flags
+	argument in call to `build_delete' if DECL does not use virtual
+	baseclasses.  If it does, we go through a function call to save
+	space, unless FLAG_EXPENSIVEO_OPTIMIZATIONS is nonzero.  ??Better
+	approach is to know, in expand_cleanups, to clear `flag_no_inline'
+	during the cleanup's expansion.
+
+	* cplus-*.c (various places): Add LOOKUP_DESTRUCTOR to all places
+	where we know we are calling a destructor for a non-null object.
+
+	* stmt.c (fixup_gotos): Run destructors on cleanups that come
+	from the block being exited, in addition to any inner blocks
+	for which LABEL is now defined.
+	(expand_return): Take care of destructors that occur in the
+	current binding level.
+	(fixup_cleanups): If we emitted no insns, don't change *BEFORE_JUMP.
+
+	* rtlanal.c: Define `target_flags' here...
+	* toplev.c: ...not here.  This enables us to link gen* programs
+	which might, through rtlanal.o, pull in references to `target_flags'
+	that are never used.
+
+	* function.c: Add declaration for `current_function_uses_const_pool'.
+	* expr.h: Add extern declaration for that variable.
+	* function.h (struct function): Add a slot named
+	`uses_const_pool' for `current_function_uses_const_pool'.
+	* function.c ({push,pop}_function_context): save and restore the
+	value of `current_function_uses_const_pool'.
+	* rtl.h (FUNCTION_FLAGS_USES_CONST_POOL): Defined to be 0200.
+	* integrate.c (initialize_for_inline):
+	FUNCTION_FLAGS_USES_CONST_POOL now contributes to the value of
+	`function_flags'.
+	(output_inline_function): Restore `current_function_uses_const_pool'
+	from `function_flags'.
+	(save_for_inline_copying): Only call `save_constants' if
+	`current_function_uses_const_pool' is nonzero.
+	(save_for_inline_nocopy): Ditto.
+	(save_constants): Tweaked to perform its treewalk faster.  Notably,
+	it no longer accepts ptrs to NULL rtl.  All callers changed.
+	* varasm.c (force_const_mem): Set `current_function_uses_const_pool'
+	if we create a constant pool reference.
+
+	* cplus-parse.y, c-parse.y: Add new function `set_yydebug'.  If
+	YYDEBUG is defined, sets `yydebug' to VALUE.  Otherwise, prints
+	warning that operation is invalid.
+	* toplev.c (main): Call `set_yydebug' instead of setting `yydebug'
+	directly.  This allows user to turn YYDEBUG off for faster parsing.
+
+	* cse.c (simplify_binary_operation): Eliminate abort when passed
+	DImode operands.
+
+Fri May 17 21:56:41 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* hard-reg-set.h (reg_class_superunion): New var.
+	* regclass.c (init_reg_sets): Compute reg_class_superunion.
+	(reg_classes_intersect_p): New function.
+
+	* reload.c (find_reloads): Alternative is discouraged if it puts
+	a pseudo in a register class it doesn't prefer.
+
+	* reload1.c (basic_block_needs): Now an array, per register class.
+	(reload): Compute separate basic_block_needs for each class.
+	(spill_hard_reg): If pseudo is only in one block, see if that block
+	needs a spill register of a class containing the hard reg; leave the
+	pseudo alone if not.
+
+	* reload1.c (reload_mode, reload_nregs): New vars.
+	(reload_reg_class_lower): Use them.
+	(allocate_reload_reg): New function.
+	(choose_reload_regs): Track size and class of any groups.  We
+	can inherit reloads if we are the size of the largest group or
+	if our class is disjoint from those needed for groups.
+	Try all inherits first before all spill register allocations
+	unless there is a later reload with a smaller class; call
+	allocate_reload_reg to do the actual allocation.
+	Use new vars above.
+	(emit_reload_insns): Delete output reload even if we weren't
+	storing to memory.
+
+	* reload.h (reload_secondary_reload, reload_secondary_p): New vars.
+	* reload.c (push_reload): If secondary reload register is needed,
+	make a secondary reload.
+	* reload1.c (reload): Reload with reload_secondary_p nonzero is in use.
+	(choose_reload_regs): Likewise.
+	(emit_reload_insns): Handle secondary reloads, when needed.
+
+	* reload1.c (reload): Add pass to remove death notes for things that
+	are no longer registers or don't die if we must preserve death notes.
+	(emit_reload_insns): Refine REG_DEAD notes to be more accurate; make
+	notes for secondary reloads.
+
+	* reload1.c (emit_reload_insns): Abort for output reloads for jumps;
+	we have to implement this at some point.
+
+Fri May 17 20:08:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* protoize.c: Handle ultrix like BSD.
+
+Fri May 17 15:56:41 1991  Richard Stallman  (rms at geech.gnu.ai.mit.edu)
+
+	* Pass library function name to INIT_CUMULATIVE_ARGS.
+	* calls.c (expand_call): Pass extra arg to INIT_CUMULATIVE_ARGS.
+	* expr.c (emit_library_call): Likewise.
+	* function.c (assign_parms): Likewise.
+	* tm-*.h (INIT_CUMULATIVE_ARGS): Accept the extra arg.
+	(INIT_CUMULATIVE_INCOMING_ARGS): Likewise, just for symmetry.
+
+Fri May 17 15:41:22 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* tm-i386v4.h (ASM_OUTPUT_COMMON): Don't attempt alignment on a
+	three byte boundary.
+
+Fri May 17 15:25:16 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* function.c (assign_stack_local, assign_outer_stack_local): Make
+	the alignment in bytes.
+
+Fri May 17 14:31:00 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-class.c (build_vbase_path): Only build a COND_EXPR if
+	NONNULL is zero.
+	(resolves_to_fixed_type_p): Check TREE_HAS_CONSTRUCTOR for
+	CALL_EXPRs and INDIRECT_REFs.
+
+	* cplus-call.c (build_method_call): Add call to `constructor_name'
+	if BASETYPE changes.
+	* cplus-init.c (build_new): Add LOOKUP_NONVIRTUAL to FLAGS argument
+	to `build_method_call'.  Constructors are never virtual.  Also, set
+	TREE_HAS_CONSTRUCTOR bit for return value from `build_method_call'.
+
+Thu May 16 21:36:10 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h (CONSTANT_P): Now true for a CONST_DOUBLE.
+	* combine.c, cse.c, emit-rtl.c, expr.c, integrate.c, loop.c:
+	Update for new meaning of CONSTANT_P to include CONST_DOUBLE.
+	* optabs.c, recog.c, reload.c, reload1.c, rtl.h, rtlanal.c:
+	Likewise.
+	* romp.md, rs6000.md, out-alliant.c, out-convex.c: Likewise.
+	* out-gmicro.c, out-i386.c, out-i860.c, out-m68k.c: Likewise.
+	* out-sparc.c, out-spur.c, out-tahoe.c: Likewise.
+
+	* combine.c (SUBST, SUBST_INT): If INTO equals NEWVAL, don't
+	record the substitution.
+	(try_combine, subst, make_compound_operation, simplify_and_const_int):
+	No longer need check for changes before using SUBST macro.
+	(simplify_shift_count): Likewise.
+
+	* integrate.c (copy_rtx_and_substitute, case CONST): If what
+	was originally a constant becomes something that is not a constant
+	when passed through a recursive call, return it without the CONST.
+
+	* rtl.c (copy_most_rtx): New function.
+	* rtl.h (copy_most_rtx): Declare it.
+	* function.c (fixup_var_refs_1, case MEM): If a MEM contains VAR,
+	ensure the MEM isn't shared by copying it.
+
+	* expmed.c (expand_divmod): If doing MOD, produce divide result
+	into unique pseudo so that we might CSE the division.
+
+Thu May 16 12:01:42 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload.c (push_reload): Try find_dummy_reload before dead regs.
+
+	* function.c (assign_stack_local*): Use GET_MODE_ALIGNMENT.
+	Use CEIL_ROUND consistently.
+	Don't force word alignment even if STRICT_ALIGNMENT (experiment).
+
+Thu May 16 10:31:04 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* unroll.c (unroll_loop): Don't abort if start label does not
+	immediately follow LOOP_BEG note.  This can happen as a result of
+	jump threading.
+	* reorg.c (mostly_true_jump): Eliminate repeated test in second loop.
+
+	* sched.c (priority): Abort if find a NOTE in a groups of insns that
+	must be scheduled together.
+	(free_pending_lists): New function.  Moves every *_LIST rtx on the
+	pending lists to the free list.
+	(add_insn_mem_dependence): Get a *_LIST from the free list instead
+	of creating one if possible.
+	(sched_analyze_1): Don't move an insn across a call if it uses a
+	register that is not already live across calls. 
+	(sched_analyze_insn): Likewise.
+	(sched_analyze_1): When flusing the pending lists, put the *_LIST
+	rtx on the free list.
+	(sched_analyze): Likewise.
+	(schedule_block): Likewise.
+	(sched_analyze_2): For a cc0 setter/user pair, put a copy of all
+	dependencies on the first insn onto the second insn.
+	(sched_analyze_insn): Likewise for call sequences.
+	(sched_analyze_insn): Handle REG_INC notes just like SETs.
+	(sched_note_set): Handle hard registers same as psuedo regs.
+	(attach_deaths): Likewise.  Don't add REG_DEAD notes to the frame
+	pointer, arg pointer or stack pointer.
+	(schedule_block): Likewise.
+	(rank_for_schedule): Do not check whether each insn of a sequence
+	that must be scheduled together is ready.  They will only reach here
+	if they are all already ready.
+	(schedule_block): After reload, don't need to give special treatment
+	to insns at function start which set up the function parameters.
+	Don't treat tail specially if it is part of a group that must be
+	scheduled together.
+	When a group of instructions is scheduled together, run the lifetime
+	analysis code on every instruction in the group from last to first.
+	A call_insn kills all call_used and global regs except those
+	explicitly used by the call_insn.
+	(schedule_insn): Initialize new variables.  If USE_C_ALLOCA, free
+	alloced memory immediately after each schedule_block call, not once
+	at the end.
+
+	* rtl.c (add_dependence): When adding a dependence that points to an
+	insn that is part of a sequence that must be scheduled together,
+	make the dependence point to the last insn of the sequence instead.
+
+Wed May 15 13:08:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_and_const_int): If we have
+	(and (OP (lshiftrt X Y) Z) C), for OP of IOR, XOR, and NOT, commute
+	OP and LSHIFTRT to put AND and LSHIFTRT adjacent to try to form
+	ZERO_EXTRACT.
+
+	* combine.c (subst, gen_lowpart_for_combine, get_last_value_validate):
+	Use object's mode instead of VOIDmode when we make
+	(clobber (const_int 0)) in case someone uses the mode for significant
+	bits.
+	* rtlanal.c (side_effects_p): Reject non-VOIDmode CLOBBERs.
+
+	* rtlanal.c (reg_set_p_1): Remove test for `reg_set_reg' being MEM.
+	(reg_set_p): Abort if passed a MEM.
+
+	* toplev.c (strip_off_ending): Strip trailing ".f".
+
+Wed May 15 12:54:18 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-typeck.c (build_modify_expr_1): If the TREE_TYPE of the
+	recursive result is an ARRAY_TYPE, change it to void_type_node so
+	build_compound_expr doesn't lose when calling default_conversion.
+
+	* cplus-tree.h (lang_type): Remove AS_LIST field from lang_type.
+	Use TYPE_MAX_VALUE field of type instead.
+	(TREE_REFERENCE_EXPR): New macro.
+
+	* cplus-parse.y (LC): If we are not in temporary allocation, call
+	permanent_allocation.  This frees up any PARM_DECL nodes that were
+	allocated since we processed an inline function.  NOTE: we still
+	have to clean up these parms from inline functions that did not go
+	inline.
+
+	* cplus-decl.c (store_parm_decls): Since we no longer push an extra
+	binding level if ! PARMS_HAVE_CLEANUPS, test CLEANUP_LABEL to figure
+	out how far up the binding countours we must look.
+	(init_decl_processing): If FLAG_NO_INLINE is nonzero, set
+	FLAG_DEFAULT_INLINE to zero.
+
+	* cplus-class.c (finish_struct_bits): Copy TYPE_MIN_VALUE and
+	TYPE_MAX_VALUE.  These actually hold C++-related data that's moved
+	up from the lang_type data structure.
+
+	* cplus-*.c: Change REFERENCE_EXPR to CONVERT_EXPR.  Set
+	TREE_REFERENCE_EXPR bit to indicate a CONVERT_EXPR that's really the
+	address of a C++ reference expression.
+
+Wed May 15 12:30:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-sparc.h (FIXED_REGISTERS): Register 0 is not fixed; it is used
+	for the condition code, not to represent the fixed %g0.
+
+Tue May 14 18:59:06 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* explow.c (find_next_ref): Start search at first insn after INSN.
+
+	* jump.c (jump_optimize): Update the three simplications that start
+	with the "if (...) x = 1; else {...} if (x) ..." case, so that when
+	HAVE_cc0 is not defined, they do not accept TST insns (which could
+	just be a register to register move).  They should only accept insns
+	with the COMPARE operator.
+
+Tue May 14 14:51:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cse.c (simplify_binary_operation): Don't abort when comparing
+	two CONST_DOUBLE values.
+
+Tue May 14 11:35:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-common.c (decl_attributes): Fix typo in name of attribute.
+	It should be `aligned'.  Also don't crash on unknown attribute.
+
+	* expmed.c (init_expmed): Make a separate object to free back to.
+
+	* hard-reg-set.h (HOST_BITS_PER_LONG_LONG): Provide default definition.
+
+	* toplev.c (main): Implement -gdwarf.
+
+Tue May 14 06:32:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (mark_used_regs): Don't make REG_DEAD notes for fixed regs.
+
+	* combine.c (subst): Convert (not (ashift C X)) to (or (rotate ..))
+	and similarly for (not (lshiftrt C X)).
+	(make_field_assignment): Make corresponding change in how we recognize
+	bitfield assignment of single bit to zero.
+
+	* combine.c (merge_outer_ops): New function.
+	(simplify_shift_const): Use merge_outer_ops to generalize and
+	simplify handling of outer_ops.
+	Try using distributive law followed by invert distributive law
+	to simplify combinations of logical operations and shifts.
+
+	* emit-rtl.c (gen_highpart): Correct conditional that says when we
+	can get the bits of a DFmode object; copy from gen_lowpart.
+
+	* cse.c (simplify_binary_operation, case MULT): Simplify zero case.
+	(simplify_binary_operation, case DIV): In 0/x, return zero in proper
+	mode.
+
+	* combine.c (simplify_comparison): Can only extend comparison
+	to wider mode if equality comparison or test of sign bit.
+
+Tue May 14 03:26:36 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-tree.h (lang_type): Change to use TREE_VEC to hold basetype
+	info.
+	(CLASSTYPE_N_BASECLASSES, CLASSTYPE_BASECLASS): Changed accordingly.
+	Baseclasses are now counted [0..n) instead of [1..n].
+	(CLASSTYPE_BASETYPECLASSES): Deleted.
+	* cplus-*.c (various places): Change code to work with new
+	representation for basetypes.
+
+	* toplev.c (main): Handle `-gdwarf' as a debug option.
+
+	* cse.c (insert): Treat pseudos marked RTX_UNCHANGING_P as being
+	const.
+
+Mon May 13 22:44:18 1991  Jim Wilson  (wilson at ok.cygnus.com)
+
+	* mips.md: In the div/mod peepholes, don't apply the peephole if the
+	first operation overwrites one of its two operands.
+
+Mon May 13 12:14:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expmed.c (store_bit_field, extract_bit_field):
+	Set volatile_p while checking predicates.
+	* recog.h (volatile_p): Declare it.
+	* explow.c (force_not_mem): Do nothing with BLKmode.
+
+	* SYSCALLS.c (u_int): Don't define on DGUX--already defined.
+
+	* m68k.md (zero_extend*): Don't make the subreg in the template.
+	Make it explicitly, and handle subregs as operand 0.
+
+	* tm-convex.h (MODES_TIEABLE_P): Fix typos.
+
+	* loop.c (check_dbra_loop): To check for a loop with a `break', use
+	loop_number_exit_label, not the uid_luid of each label, since loop
+	unrolling may have created new labels with no uid_luid.
+
+	* expr.c (push_block): Fixed typo in last change.
+
+Mon May 13 12:07:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst): If we can't change comparison code, see if
+	we can instead surround our operation with an XOR.
+
+	* combine.c (make_compound_operation, simplify_and_const_int):
+	Ensure shift counts are non-negative and in range before using them
+	to perform shifts.
+	(simplify_comparison): Likewise.
+
+	* combine.c (try_combine): See if we have previously merged a
+	compare and arithmetic operation.  If so try to take it apart to
+	allow further combines (such as making a branch-and-decrement).
+
+	* combine.c (try_combine): Don't make VOIDmode register if our split
+	point is a constant.
+
+	* combine.c (subst): Use COMBINE_RTX_EQUAL_P to see if SET_DEST
+	is our register; two hard regs might have different rtx.
+
+	* combine.c (subst): Generalize associative law handling to
+	cases not involving constants.
+
+	* combine.c (expand_compound_operation): If we would return a
+	(clobber (const_int 0)), return what we were given.
+
+	* combine.c (simplify_shift_const): Clean up by removing fallthrough.
+
+Mon May 13 10:26:00 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (all calls to output_move_double): call return
+	value to avoid spurious compiler warnings.
+	Allow REG in all alternatives of operand 0 where possible.
+	Remove patterns to recognize increment/decrement.
+	(addsi3, addhi3, addqi3): Do this in here instead.
+	(floatdidf2): New pattern.
+	(adddi3, subdi3, negdi2): New patterns.
+	(umulsi3, umulhi3): Remove obsolete UMULT patterns.
+	(divM3, udivM3, divmodM4, udivmodM4): Use "r" constraint instead
+	of "x" or "abc".
+	(sqrtsf2, sqrtdf2): New patterns.
+	(ashldi3, ashrdi3, lshldi3, lshrdi3): New patterns
+	(All shift and rotate patterns): Don't use reg name explicitly in
+	output string: use %N operand reference.
+	(ashlM3, lshlM3): Use `add' instead of `shl'/`sal' if possible.
+	(insv): Fix output constraint.  Clarify source.  Disable for now -
+	makes worse code.
+	(SImode bit test, all Scond patterns): Allow MEM operands too.
+	(seq, sne): Handle CC_Z_IN_NOT_C.
+	(jump, indirect_jump, tablejump): Align code on word boundary
+	after unconditional jumps.
+	(`loop' patterns): Delete - will never be useful on i386.
+	(call_pop, call_value_pop): New patterns.
+	(return): New pattern: Do `return' if simple epilogue.  But only if
+	the real function epilogue isn't next.
+	(movstrsi): Do word moves, not just bytes, if count is unknown.
+	(ffsM2): New patterns.
+
+	* out-i386.c (FP_TOP, AT_SP, RET, RETCOM, POP_ONE_FP,
+	FP_CALL1, FP_CALL): Move to tm-i386.h for use by i386.md.
+	(output_movf, fp_call_internal, output_fix_trunc, split_di):
+	No longer static - called from i386.md.
+	(via_memory): Finish return value change.
+	(output_move_const_double): Delete unused function.
+	(simple_386_epilogue): New predicate.
+	(function_prologue): Allocate frame regardless of whether or not
+	there is a frame pointer.
+	Use output_asm_insn instead of fprintf to push registers.
+	(function_epilogue): Likewise.
+	If there is a frame pointer, don't necessarily fix %esp just to
+	pop a reg - use offset from frame pointer.
+	Fix -fomit-frame-pointer support.
+	Fix RETURN_POPS_ARGS case where args > 32K bytes.
+	(print_operand): A LABEL_REF gets an OFFSET_PREFIX too.
+	(print_operand_address): %esp can only be base reg, never index.
+	(split_di): New function.
+
+	* tm-i386.h: Remove references to obsolete tm-compaq.h file.
+	(TARGET_486): New flag.
+	(TARGET_SWITCHES): New options -m486, -mno486, -m386.
+	(SMALL_REGISTER_CLASSES): New macro.
+	(ASM_OUTPUT_LOOP_ALIGN): New macro.
+	(all reg macros, ARG_POINTER_REGNUM): Create argument pointer,
+	to be eliminated in favor of %esp or %ebp.
+	(HARD_REGNO_NREGS, REGNO_REG_CLASS): Use FP_REGNO_P.
+	(REGISTER_MOVE_COSTS): It is expensive to move between integer and
+	float registers.
+	(FP_REGNO_P): Detect only the FP regs.
+	(all class macros): Delete obsolete classes ABC_REGS & ABCI_REGS.
+	(REG_CLASS_FROM_LETTER): Add `S' for SIREG, remove `x' for ABCI_REGS.
+	(CONST_OK_FOR_LETTER_P): Add `J' for DImode shifts.
+	(FIRST_PARM_OFFSET): Offset now zero.
+	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
+	Use generalized scheme to eliminate frame and arg pointers.
+	(INITIAL_FRAME_POINTER_OFFSET): Delete.
+	(REG_OK_FOR_BASE_P): allow virtual arg pointer.
+	(FP_TOP, AT_SP, RET, RETCOM, POP_ONE_FP, FP_CALL1, FP_CALL):
+	Moved here from out-i386.c for use by i386.md.
+
+	* tm-compaq.h: Delete obsolete file.
+
+Sun May 12 18:38:41 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-decl.c (print_binding_level, print_binding_stack,
+	print_other_binding_stack): New debugging routines; dump one or
+	more binding levels to stderr.
+
+	* cplus-decl.c (push_to_top_level): New routine; saves copies of
+	all class and local bindings, and some other state, and clears the
+	real values, to effectively move to global scope.
+	(pop_from_top_level): Restore the saved state.
+
+	* cplus-decl.c (adjust_type_value): No longer static.  Abort if
+	current_binding_level is class binding level; need to investigate
+	that situation further.
+
+	* cplus-decl.c (finish_function): Check that the binding level being
+	popped really is a function-parameter binding level.
+
+	* cplus-tree.h (DESTRUCTOR_DECL_PREFIX): Replaces
+	DESTRUCTOR_DECL_FORMAT; used as a prefix before the class name.
+	* cplus-decl2.c (grokclassfn): Use it, and call build_overload_name
+	rather than just copying the class name.
+
+	* cplus-method.c (fndecl_as_string): Use TREE_TYPE rather than
+	indirecting through type name and the identifier's associated type,
+	since the latter may have changed.
+	(build_nested_name): New argument, text_end; callers changed.  Call
+	build_overload_identifier rather than copying class name.
+	(build_overload_value): Strip non-lvalue nodes for all arguments.
+	Fixed up the handling of negative DImode values.
+	(build_overload_identifier): New function.  Copy class name (with
+	length) if non-template, or build a name from template parameters.
+	(build_overload_name): Call build_overload_identifier for class
+	names.
+
+	* cplus-parse.y: Added comment about use of $$ for $1.
+	(template_type_name): Removed useless precedence specificiation.
+	(template_arg_list): Wrap TREE_LIST nodes around all arguments in
+	the list.
+	(template_arg): Call groktypename on type names.  For expressions,
+	specify "UNARY" precedence.
+	(PRE_PARSED_CLASS_DECL handling): Put a copy of the new class decl
+	into global scope, to avoid recursive expansion, since we start in a
+	non-global scope set up for the parameters.
+
+	* cplus-pt.c (coerce_template_parms): New function.  Converts
+	template arguments to appropriate types, returns a vector containing
+	results.
+	(mangle_class_name_for_template): Removed nparms argument.
+	Changed to deal with arglist as vector.  No longer call
+	groktypename.  Some initial code added for PARM_DECL (non-type)
+	parameters; work not completed.
+	(lookup_template_class): Call coerce_template_parms.  Removed some
+	unused code.
+	(push_template_decls, pop_template_decls): Fixed to deal with
+	arglist as vector.  More code for non-type parameters.
+	(instantiate_template): Push to top binding level before pushing any
+	declarations.
+	(end_template_instantiation): Pop from top level, then push the new
+	decl at top level.
+
+	* cplus-tree.h (struct lang_identifier): Renamed field "template" to
+	"class_template_info"; accessor macros changed.
+
+	* cplus-pt.c (struct template_info): Renamed from "template".
+	Removed unused fields.
+
+Sun May 12 17:38:46 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* unroll.c (copy_loop_body): Fix typo: had `==' for `='.
+
+Sun May 12 17:05:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* genattrtab.c (gen_attr): Clear has_asm_insn field in new object.
+
+Sun May 12 04:21:52 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* hard-reg-set.h (HARD_CONST): New macro.  Converts integer
+	constants to appropriate type for use with HARD_REG_SET.
+	({SET,CLEAR,TEST}_HARD_REG_BIT): Use this macro where appropriate.
+	(GO_IF_HARD_REG_SUBSET): Ditto.
+	(HARD_REG_SET): Add new case if FIRST_PSEUDO_REGISTER <=
+	HOST_BITS_PER_LONGLONG.
+	* global-alloc.c: Pass HARD_CONST (0) instead of 0 to functions
+	which are looking for a HARD_REG_SET argument.
+	* reorg.c (resource_conflicts_p): Change comparison of HARD_REG_SET
+	value to compare against HARD_CONST.
+
+	* all xm-*.h files: Added HOST_BITS_PER_LONGLONG where
+	HOST_BITS_PER_LONG was defined.
+	* tm-sparc.h (REG_CLASS_CONTENTS): Fixed in case we're using long
+	long HARD_REG_SETs.
+
+	* toplev.c (main): support -gdwarf switch.
+
+	* longlong.h (umulsidi3): SPARC .umul routine returns the value in
+	WORD_LITTLE_ENDIAN form, so swap.  Other word-endian changes for
+	inline mul routines.
+
+	* gnulib2.c (__divdi3): If C is nonzero, negate whole division
+	instead of returning negation of quotient.
+
+Sat May 11 20:06:08 1991  Torbjorn Granlund  (tege at krishna.sics.se)
+
+	* expmed.c (outside of functions): New vars: lea_cost, lea_max_mul.
+	(init_expmed): Initialize lea_cost and lea_max_mul. 
+	(synth_mult): Use them.
+
+Sat May 11 20:11:41 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-class.c (build_vbase_path): Rewritten and simplified.
+	* cplus-cvt.c (build_up_reference): Try to get away without building
+	a NOP_EXPR around the return value of `build_component_addr'.
+	Ditto for return value from `convert_pointer_to'.
+
+	* cplus-decl.c (void_zero_node): New node.  Used in conditional
+	expressions where one arm must do nothing.
+	* various places: replace calls that built this node dynamically to
+	just use the global copy.
+	* cplus-tree.h (void_zero_node): Declare it globally.
+
+	(maybe_build_cleanup): Don't call `convert_force' on the return
+	value of `build_unary_op'.  We should have license to modify its
+	type without harm.
+	* cplus-gc.c (protect_value_from_gc): Same idea for VAR_DECL and
+	PARM_DECL nodes.
+
+	* toplev.c (f_options): Add choice for -fPIC.
+
+	* varasm.c (assemble_function): If it's a function name that's the
+	first global name, strip of a leading '*' if there is one.
+
+	* reload.c (find_reloads): Fix comment.
+
+	* stmt.c (expand_return): Call `any_pending_cleanups' with argument.
+
+	* expr.c (expand_expr): In TARGET_EXPR case, If TARGET is null and
+	DECL already has rtl, use that as the target.
+	(expand_expr): In BIND_EXPR try using expand_{start,end}_bindings to
+	catch cleanups...otherwise fixup_cleanups must be modified to deal
+	with cleanups not in any contours.
+
+Sat May 11 15:09:42 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* out-i386.c (via_memory): Return a memref to the stack.
+	(fp_call_internal): Change call to via_memory.
+
+	* expr.c (push_block): New arg BELOW specifies padding direction.
+	All callers changed.
+	(emit_push_insn): Pass an interesting value for BELOW.
+
+	* c-parse.y (typespec): Pass the TYPE_DECL for a typedef name.
+	* c-decl.c (grokdeclarator): Handle TYPE_DECL in declspecs.
+
+Thu May  9 15:17:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (zero_extend pattern): Compute correct constant.
+
+Thu May  9 07:44:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst): Remove WAS_REPLACED; always check the rtl
+	for specific cases of interest and don't use TO and FROM when
+	looking into the rtl.
+
+	* combine.c (subst, case MEM): Call make_compound_operation here
+	so any ASHIFTs will be MULTs for mode_dependant_address_p calls later.
+	(subst, case PLUS): Remove cases already done elsewhere.
+
+	* expmed.c (emit_store_flag): Don't let the delete_insns_since call
+	we do kill insns to do an auto-inc.
+
+	* flow.c (propagate_block): Don't treat global regs as clobbered
+	over a CALL_INSN even if call-clobbered. 
+
+	* stmt.c (expand_end_stmt_expr): Correctly handle the case where an
+	expression statement  is just an auto-inc of a var.
+
+	* sparc.md (fix_trunc[sd]fsi2): Finish change to use MATCH_SCRATCH
+	by eliminating DEFINE_EXPAND and making DEFINE_INSN a named pattern.
+
+Wed May  8 13:31:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (rescan): Handle symbols before // as before /*.
+
+	* Makefile.in (objc-parse.o): Specify the command.
+
+	* c-parse.y (typespec): Fix previous change.
+
+	* reload1.c (choose_reload_regs): Use spillregs in round robin.
+
+Wed May  8 11:00:29 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-lex.c (tree_node_kinds): Renamed to `tree_node_counts'.
+
+Wed May  8 05:50:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (copy_rtx_and_substitute): Don't round frame size.
+
+	* loop.c: Must include insn-flags.h to get
+	HAVE_decrement_and_branch_until_zero.
+	* Makefile.in (loop.o): Likewise.
+
+	* expmed.c (expand_divmod): Use LOG instead of INTVAL (OP1)
+	once we start generating rtl.
+
+Wed May  8 05:38:06 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl.c (duplicate_decls): Don't crash on duplicate
+	TEMPLATE_DECLs.
+	(globalize_nested_type): Handle globalizing types when
+	CLASS_BINDING_LEVEL goes out of effect.
+	(init_decl_processing): Comment out decls for ABS, FABS and LABS.
+	They conflict with libg++ inlines.
+
+	* cplus-decl2.c (build_push_scope): Fix bug in last change.
+	(finish_file): Make the dummy decl that we tack on to the global
+	scope a TYPE_DECL instead of a VAR_DECL.  Fake global VAR_DECLs are
+	problematic on some machines (i.e. MIPS).
+
+	* cplus-init.c (init_vfields): Use TREE_TYPE (VFIELDS) to find the
+	type for which the VFIELD was last distinguished.  This picks up
+	cases where single inheritance overrides base class vtables and the
+	base class does not get a new vtable for the override.
+
+	* cplus-parse.y (named_class_head_sans_basetype): Handle a
+	`template_type_name' by itself.  This happens with e.g.
+	friend class Stack<T>.
+
+	* cplus-pt.c (mangle_class_name_for_template): Put ',' between
+	parameters.
+	(push_template_decls): Don't crash if ARGLIST is ERROR_MARK_NODE.
+
+	* cplus-class.c (finish_base_struct): Compute MAX_HAS_VIRTUAL by
+	looking at all the base classes relevant to VFIELDS.
+	(build_vbase_path): Initialize NONNULL to zero.
+
+Tue May  7 23:47:42 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* stmt.c (any_pending_cleanups): Don't fail if block_stack is empty.
+
+Tue May  7 22:46:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_binary_operation; case EQ, NE): Don't assume
+	the address of a symbol is non-zero.
+
+	* sched.c (schedule_insns): Ensure we free memory used by
+	schedule_block when using the C alloca.
+
+Tue May  7 14:13:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload1.c (mark_reload_reg_in_use): New arg MODE.  Mark all the regs.
+	(choose_reload_regs): Pass that arg; don't loop here.
+
+	* c-parse.y (typespec): Convert a TYPENAME to its meaning.
+
+	* fold-const.c (fold): Don't assume symbolic constant is nonzero.
+
+	* c-typeck.c (c_expand_asm_operands): Convert arrays, fcns to pointers.
+
+Mon May  6 23:29:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Only make a REG_WAS_0 note if the previous
+	set was to the same register, not just the same quantity;
+	if previous REG_WAS_0 note, update back pointer.
+	If setting a register to a constant, update QTY_CONST and
+	QTY_CONST_INSN so it points to the last set.
+	In special case for (set REG0 REG1), ensure any REG_WAS_0 notes are
+	updated correctly.
+
+	* genrecog.c (make_insn_sequence): Don't clobber `i' when it is
+	still needed.
+
+	* out-vax.c (print_operand_address): Fix bug in last change in handling
+	(plus (reg) (reg)).
+
+Mon May  6 16:41:50 1991  Torbjorn Granlund  (tege at zevs.sics.se)
+
+	* expmed.c (synth_mult): Make it handle t == 0. Improve comments.
+	Use (max_cost <= add_cost) instead of (max_cost < add_cost) to
+	determine if we should fail early (to better prune the search).  
+	Remove loop with n from factor synthesis.  Remove -2 bias from m
+	loop (for clearity).  Add code to use load-effective-address
+	instructions.  Use bit-fiddling instead of loop to determine q in
+	the last synthesis case.
+
+Mon May  6 11:21:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (convert_for_assignment): Reword an error message.
+
+	* c-typeck.c (build_conditional_expr): Typo in last change.
+
+	* Makefile.in (enquire, enquire.o): Depend on gnulib.
+
+Sun May 5 17:28:22 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Update for GCC 2.0; build insn-attr.h, insn-attrtab.c.
+	Compile and add obj to linker list: c-aux-info.c, c-common.c, c-lang.c,
+	aux-output.c, calls.c, dwarfout.c, function.c, reorg.c, sched.c,
+	sdbout.c, unroll.c, insn-attrtab.c.  Remove references to symout.c.
+
+Sun May  5 15:32:01 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (rest.encap): Make gnulib before float.h.
+
+	* c-typeck.c (build_conditional_expr):
+	Don't assume symbolic constant is nonzero.
+
+	* reload1.c (choose_reload_regs): Ignore avoid_return_reg.
+	(reload_as_needed, reload): Don't bother setting avoid_return_reg.
+
+Sun May  5 14:30:14 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-class.c (prev_class_type): Declare this to be static.
+	(build_vbase_path): Test NONNULL to decide whether a COND_EXPR is
+	actually needed.
+	(finish_struct): Another sort of hard virtual function to deal with
+	is one which comes from the non-leftmost baseclass, and who's index
+	is different between that class and the main derived class.  Use new
+	variable DOING_HARD_VIRTUALS to control when we punt and when we
+	plow through.
+	(modify_vtable_entry): If we find at this point that we have a hard
+	virtual function, just put it on the list PENDING_HARD_VIRTUALS if
+	DOING_HARD_VIRTUALS is nonzero.
+	(fixed_type_p): Handle SAVE_EXPR, RTL_EXPR, PLUS_EXPR, MINUS_EXPR,
+	NOP_EXPR and CONVERT_EXPR.
+	(pushclass): Fixed comment.  Also change test for whether this is
+	the top-level class scope from an obscure one to an obvious one, and
+	add comment.
+	(pushclass,popclass): Now always allocate a binding level.  Later
+	we'll have to rewrite this to actually use it.
+
+	* cplus-gc.c (type_needs_gc_entry): Don't need a GC entry for
+	ERROR_MARK_NODE.
+
+	* cplus-init.c (build_new): Set TREE_CALLS_NEW on RTL_EXPR.  This
+	gives us a case that `fixed_type_p' can grok.
+
+	* cplus-lex.c (identifier_type): Make this __inline if compiling
+	with GNU C.
+	(tree_node_kinds): Renamed to `tree_node_counts'.
+
+	* cplus-parse.y (various places): Take advantage of default rule
+	`$$ = $1', and where possible, use $$ instead of $1.
+	Also, back out change for setting `looking_for_typename' to 1 at top
+	level.
+
+	* cplus-decl2.c (build_push_scope): If the user gives X::foo in X's
+	scope, don't return a SCOPE_REF.  Just return `foo' instead.
+
+	* cplus-decl.c (init_decl_processing): Don't define `alloca' as a
+	built-in function until libg++ header files agree with its built-in
+	type.
+	(finish_decl): Don't crash if TYPE is error_mark_node.
+
+	* fold-const.c (split_tree): When splitting the tree, don't call
+	convert if the TYPE_MODEs are the smae.  This screws up C++ where
+	conversion of one pointer type to another can cause the pointer's
+	value to change.
+
+	* tree.c (get_identifier): Speed up `get_identifier' by about a
+	factor of 2.  This becomes noticable with the long names used for
+	C++ overloading.
+	(tree_cons): Make this most frequent user of `make_node' perform its
+	actions inline.
+
+	* calls.c (expand_call): Eliminate many (most) calls to strcmp by
+	being smarter about when to call it.  Also, don't call `push_block'
+	in the trivial case when it's not needed.
+
+Sun May  5 08:51:14 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_to_mode): Fix (for the second time) test for when
+	gen_lowpart should be called.
+
+	* cse.c (find_best_addr): Try to fold address.
+	(fold_rtx): Do associativity and (not (not ...)) checks here.
+	(cse_insn): Not here.
+
+	* combine.c (recog_for_combine): New parameter, PNOTES.
+	When we add a CLOBBER, put a REG_UNUSED note for it in *PNOTES.
+	(try_combine): Call recog_for_combine with new parameter.
+	Delete any now-invalid REG_UNUSED notes in OTHER_INSN and add any
+	required new ones.
+	Add REG_NOTES to I3 and I2 due to added CLOBBERs.
+	(remove_death): Call new function, remove_note.
+	(move_deaths): Don't get confused by a CLOBBER.
+	(distribute_notes): Don't make duplicate REG_UNUSED notes.
+	Don't put a REG_DEAD note on an insn when the register is
+	partially modified, but remains valid.
+
+	* rtlanal.c (remove_note): New function.
+
+	* combine.c (try_combine): When making a PARALLEL that does a compare
+	and arithmetic, don't simplify the COMPARE.
+
+	* combine.c (try_combine): Validate that I1DEST isn't being
+	modified invalidly.
+
+	* combine.c (simplify_comparison): In ZERO_EXTRACT case, add missing
+	test for equality comparison against zero; also invert comparison
+	condition.
+	If we can't do a comparison in a narrower mode, but we know that
+	some wider bits are zero, see if we can do it in a wider more.
+
+	* cse.c (simplify_binary_operation): Remove obsolete code to convert
+	negative shift counts to the opposite shift.
+	Don't fold invalid shifts since they may trap (e.g., on Vax).
+
+	* reload1.c (emit_reload_insns): Use rtx_equal_p to see if a result
+	is already in the desired register.
+
+	* combine.c (find_split_point): Add two more ways to split an insn.
+
+	* combine.c (gen_binary): Put a complex operand first in addition to
+	putting constants second, just like subst would do.
+
+	* combine.c (significant_bits): Correct computation of significant bits
+	for division operations.
+
+	* combine.c (apply_distributive_law): Reject complex SUBREGs.
+	SUBREG distributes over logical and addition operations.
+
+	* combine.c (subst; case AND, IOR, XOR): Add some boolean
+	arithmetic simplifications.
+
+	* expr.c (do_jump): ADDRESS_EXPR is not always zero, unfortunately.
+
+	* expr.c (do_store_flag): In case where we are testing a single bit,
+	don't convert to output mode until after we do the shift.
+	
+	* optabs.c (expand_binop, expand_unop, expand_fix): Compare
+	enum insn_code objects against CODE_FOR_nothing instead of 0.
+
+	* romp.md (bit_insv): Use CC0 in standard way; i.e., in NE.
+
+Sat May 4 20:41:12 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* c-aux-info.c (gen_aux_info_record): Use getcwd on VMS a la USG.
+	* dbxout.c: Same here.
+	* xm-vms.h: Define unlink as remove
+	(GCC_INCLUDE_DIR): Provide a dummy definition.
+
+Sat May  4 16:46:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (can_combine_p, try_combine): Use SMALL_REGISTER_CLASSES
+	to indicate when it is valid to do combines involving hard registers.
+	* cse.c (canon_hash): #ifdef SMALL_REGISTER_CLASSES, don't record
+	hard registers unless they are fp, ap, sp or are fixed.
+	* loop.c (valid_initial_value_p): #ifdef SMALL_REGISTER_CLASSES, 
+	hard register aren't valid initial values.
+	* reload1.c (reload): Initialize FORBIDDEN_REGS depending on
+	whether we have small register classes or not.
+
+	* ns32k.md: Replace const_int with const_int_operand.
+	Remove HImode extractions.
+	Remove patterns assigning an AND to CC0.
+	(andcbxx3): Remove name and eliminate case with NOT as second operand.
+	(sbitx, cbitx): Remove patterns involving IOR and ASHIFT; add patterns
+	with ZERO_EXTRACT as destination.
+	(ibitx): Put ASHIFT as first operand in XOR.
+	(bitfield compare): Remove comparison of 1 bit field with 1; combine
+	converts this to comparison with zero.
+	(and-compare-branch): Fold PLUS or MINUS into constant, like combine
+	will do.
+	Remove patterns for reversed cases.
+	* out-ns32k.c (const_int): Deleted.
+	
+	* rtlanal.c (reg_used_between_p, reg_set_between_p): Use GET_RTX_CLASS.
+	(reg_set_p_1): If we are setting a MEM, don't think we are setting
+	registers used in its address.
+
+	* m68k.md (cmpsf, cmpdf, tstsf, tstdf for FPA): Use MATCH_SCRATCH.
+	* sparc.md (memory store patterns): Likewise.
+
+	* function.c (assign_parms): Function is varargs function if the
+	last parameter is `__builtin_va_alist_' instead of checking the first
+	parameter.  Normally, this is the same, but some functions in MACH
+	have named parameters before va_alist.
+
+	* combine.c (simplify_comparison): Remove abort on paradoxical SUBREGs
+	now that we know they can occur.
+
+	* reload.c (decompose): Handle SCRATCH; it can't conflict with
+	anything.
+	(find_reloads): All operands can set earlyclobber, not just REG & MEM.
+	Add support for "X" constraint.
+	SCRATCH does not match "g" constraint.
+
+Sat May  4 14:03:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* enquire.c (EPROP): Avoid a <= out if bad is set.
+
+	* SYSCALLS.c: Test bsd4_2 along with BSD.
+
+Fri May  3 14:26:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Stop looping on type if find error mark.
+
+	* loop.c (invariant_p): An address with a PLUS is not the same as
+	MEM_IN_STRUCT_P being set.
+
+	* tree.h (TREE_NO_UNUSED_WARNING): New macro.
+	* stmt.c (warn_if_unused_value): That flag suppresses warnings.
+	* c-typeck.c (build_unary_op): Set flag when converting postinc.
+
+Fri May  3 08:09:47 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88k.h (GO_IF_LEGITIMATE_ADDRESS): Remove workarounds for
+	register elimination problems.
+
+Fri May  3 07:14:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md: Fix typo in dmac pattern.
+	Make many define_splits that convert DFmode and DImode to one word
+	at a time to operate only after reload completes to improve reg alloc.
+	(movdf): Correct typo in mfacc.
+	(rotlsi3): Count is QImode, not SImode.
+
+	* tm-a29kunix.h (BIGGEST_ALIGNMENT): Change to 64.
+	
+	* tm-romp.h (OPTIMIZATION_OPTIONS): Enable insn scheduling.
+	(register definitions): No longer need dummy register and class;
+	register numbers for FP register change.
+	* romp.md: Use MATCH_SCRATCH instead of allocating pseudos
+	to the dummy register class or base register depending on alternative.
+	(FP insns): Add missing "=" to constraints in CLOBBERs.
+	(extendqisi2, extendqihi2): Now DEFINE_EXPAND.
+	(mc03 peephole): Can do if right shift >= 24 bits.
+	* out-romp.c (reg_15_operand): Remove special case for FP delay slot.
+	(romp_sa_size, output_fpop, output_loadsave_fpops, output_fpops):
+	Change floating-point register numbers.
+
+	* combine.c (simplify_shift_const, case for shifts): Verify that 
+	the host word size is wide enough.
+	Properly handle (ashift (subreg (ashiftrt ...) ...) ...).
+
+	* out-vax.c (print_operand_address, case PLUS): Handle all addresses
+	accepted by GO_IF_LEGITIMATE_ADDRESS.
+
+	* explow.c (plus_constant): force_const_mem does not necessarily
+	return a valid address.
+	* integrate.c (copy_rtx_and_substitute): Likewise.
+
+	* Makefile.in (local-alloc.o): Includes output.h.
+	* rtl.def (SCRATCH, MATCH_SCRATCH): New RTL codes.
+	* regs.h (max_scratch): Add definition.
+	* genconfig.c (walk_insn_part): Handle MATCH_SCRATCH.
+	* genextract.c (walk_rtx): Likewise.
+	* genemit.c (max_operand_1): Likewise.
+	(gen_exp): Emit a SCRATCH for for MATCH_SCRATCH.
+	(gen_insn): We can create (clobber (scratch)).
+	* genoutput.c (scan_operands): Handle MATCH_SCRATCH;
+	use switch instead of if's.
+	* genrecog.c (make_insn_sequence): We can created (clobber (scratch)).
+	(add_to_sequence): Handle MATCH_SCRATCH.
+	* flow.c (life_analysis): Initialize max_scratch.
+	(propagate_block): Update max_scratch with count from this block.
+	(mark_set_1): Make REG_UNUSED note for SCRATCH and count it.
+	* local-alloc.c: Include output.h.
+	(qty_scratch_rtx): New variable.
+	(alloc_qty): Rename INSN_NUMBER to BIRTH since that's what it is.
+	(alloc_qty_for_scratch): New function.
+	(local_alloc): Account for quantities needed for SCRATCH.
+	Allocate and initialize qty_scratch_rtx.
+	(block_alloc): Allocate quantities for SCRATCH operands.
+	(requires_inout_p): Add "X" constraint.
+	* recog.c (scratch_operand): New function.
+	(constrain_operands): SCRATCH matches a register constraint unless
+	strict.
+	Add "X" constraint.
+	* regclass.c (reg_class_record): Add "X" constraint.
+	* reload1.c (emit_reload_insns): Add SCRATCH to test for operand that
+	dies right away; update REG_UNUSED note for SCRATCH.
+	Never need reload insn for SCRATCH, even if no REG_UNUSED note.
+	* rtlanal.c (reg_mentioned_p, reg_overlap_mentioned_p, rtx_equal_p):
+	Support SCRATCH.
+	(volatile_refs_p, side_effects_p, may_trap_p): Likewise.
+	(inequality_comparisons_p, replace_regs): Likewise.
+
+	* flow.c (mark_set_1): Don't do anything special with partial
+	assignments; this is already handled by mark_used_regs and we now
+	want to make LOG_LINKS for these.
+
+	* combine.c: Includes expr.h.
+	(expand_field_assignment, make_extraction): New functions.
+	(get_pos_from_mask, make_field_assignment): Likewise.
+	(can_combine_p): Remove special case for SUBREG in SET_DEST; call
+	expand_field_assignment instead.
+	(try_combine): Remove code to handle STRICT_LOW_PART here.
+	Call expand_field_assignment on SETs in I3.
+	(find_split_point): Split up simple cases of bitfield assignments.
+	(subst, case ZERO_EXTRACT): Remove processing of ZERO_EXTRACT in a
+	SET_DEST from here.
+	(subst, case SET): Try to convert this into a field assignment by
+	calling make_field_assignment.
+	No need to call make_compound_operation for COMPAREs;
+	make_compound_operation now returns an rtx and is no longer passed
+	a pointer.
+	Remove tests for ZERO_EXTRACT in SET_DEST.
+	(make_compound_operation): Now returns rtx and is passed rtx, instead
+	of rtx *.
+	Call make_extraction.
+	(simplify_comparison): Call make_compound_operation here and remove any
+	outermost SUBREGs that aren't doing anything.
+
+	* Makefile.in (combine.o): Includes expr.h.
+
+	* expr.c (convert_to_mode): Correct which cases can use gen_lowpart.
+
+	* final.c (final_scan_insn): Don't set INSN_DELETED_P after writing
+	insn.
+
+	* genoutput.c (main): Don't include aux-output.c in insn-output.c.
+	Include stdio.h before output.h.
+	(output_epilogue): Write definitions for all the predicates
+	placed in `insn_operand_predicate'.
+	* output.h: No longer need to define operand-predicate functions.
+	* configure: (m88k/dg): Only difference between xm-m88k{,dgux}.h was
+	definition of SEPARATE_AUX_OUTPUT, so we don't need xm-m88kdgux.h.
+	* xm-m88kdgux.h: Deleted.
+	Fix typo setting `target' in Makefile.
+	* Makefile.in (AUX_OUTPUT2): Deleted.
+	(OBJS): Remove AUX_OUTPUT2 and add aux-output.o.
+	(aux-output2.o): Now aux-output.o.
+	(insn-output.o): No longer depends on aux-output.c.
+	* make-m88kdgux (AUX_OUTPUT2): No longer define.
+	* tm-m68k.h, tm-romp.h, tm-sparc.h: Define functions in out-*.c and
+	used by insn-output.c.
+	* tm-m88k.h: Remove conditionalization for SEPARATE_AUX_OUTPUT; now
+	always done.
+	No longer define predicate functions; done by genoutput.c.
+	* tm-mips.h: No longer define SEPARATE_AUX_OUTPUT.
+	* out-*.c: Add includes previously present in insn-output.c.
+	* out-sparc.c (output_fp_move_double): No longer static.
+	(output_sized_memop): No longer need to define asm_out_file here.
+	(output_function_epilogue): Correct type; function is void, not char *.
+
+Fri May  3 01:05:44 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* sdbout.c (sdbout_one_type): TYPE_FIELDs may contain other kinds of
+	_DECL nodes than just FIELD_DECL nodes (in GNU C++, at least).
+	Don't look through such nodes until further mods are made to handle
+	them better.
+
+Thu May  2 14:43:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (finish_enum): Don't store enum type as type of value.
+
+	* c-parse.y (YYPRINT, yyprint): New macro and new function.
+
+	* expmed.c (expand_and): Handle both args constant.
+
+	* expr.c (store_field): Avoid refetching from bitfield if possible.
+
+	* math-68881.h (pow): Negate x if negative when taking log.
+
+	* expr.c (emit_move_insn): Fixed typo in `y1 = change_address' call.
+	Reenable the code to move objects word at a time.
+
+Thu May  2 12:29:16 1991  Eric Youngdale  (youngdale at v6550c.nrl.navy.mil)
+
+	* cccp.c (hack_vms_include_specification): Modified conversion of
+	unix filenames to VMS filenames, if no VMS device or directory is
+	present, and a unix style directory name is present, then use the
+	first unix directory name as the VMS device spec. This is only
+	used in '#include <...>' type includes, when the include file has
+	not been found in the standard locations.
+
+Thu May  2 10:06:47 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* cplus-decl.c (init_decl_processing): Call init_gc_processing if
+	-fgc is requested.
+	* cplus-init.c (build_new): Argument to build_compound_expr must be
+	a TREE_LIST all the way.  The last elt of the chain cannot be an
+	_EXPR.
+
+Thu May  2 07:33:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case CONVERT_EXPR): Pass bitsize to store_field
+	instead of size in bytes.
+
+Wed May  1 13:33:58 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* version.c: Bumped version number to 1.93.
+
+Wed May  1 12:26:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (link_command_spec): Pass plain -m to ld.
+
+	* c-decl.c (finish_enum): Clean up re-laying out of type.
+
+Wed May  1 08:04:44 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* Makefile.in: Handle new cplus-*.c files.
+
+	* cplus-typeck.c (common_base_type): Make this function recursive.
+	(build_component_ref): Test whether or not a FIELD_DECL, not whether
+	or not a VAR_DECL||CONST_DECL||TYPE_DECL.
+
+	* cplus-parse.y: Fixed grammar so that template type decls could be
+	used.  Previously, support existed for template decls following
+	types, but not as types.
+	* cplus-pt.c ({push,pop}_template_decls): New functions.
+	(instantiate_template): Call `push_template_decls'.
+	(end_template_instantiation): Let `poplevel' restore old bindings.
+	No need to clear out extra stuff.
+	(pushclass, popclass): Call `{push,pop}_template_decls' if the class
+	we are pushing or popping has template arguments.  These arguments
+	go at class level.
+
+	* cplus-method.c (build_opfncall): Test TRY_SECOND before testing
+	possibly uninitialized XARG2.
+
+	* cplus-lex.c (init_lex): Initialize NODE_TABLE, OPNAME_TAB and
+	ASSIGNOP_TAB to hold zero.  Since these come from malloc'd memory,
+	we cannot trust them to be initialized on startup.
+
+	* cplus-init.c (expand_aggr_init_1): When initializing through a
+	TARGET_EXPR for objects of the same type (e.g., X a = X (10);)
+	use EXP's DECL_RTL as the DECL_RTL of the TARGET_EXPR.
+
+	* cplus-decl2.c (finish_file): Handle new flag `-fgnu-binutils'.
+	When zero, don't use GNU extensions to a.out format.  ???Should be
+	merged into varasm.c.
+
+	* cplus-class.c: Added support for `dossiers'.  This support is
+	implemented by extending the virtual function table and by giving
+	all C++ objects a virtual function table to hold it's dossier.
+	* cplus-decl.c (record_builtin_type): New function to construct
+	dossier information for built-in types.
+	(output_builtin_tdesc_entries): To keep repeated information under
+	control, we only output this information for the file that contains
+	`main'.
+	(init_decl_processing): Many dossier-related changes.	
+	(init_lex): Recognize new reserved words `headof' and `classof' if
+	-fgc.
+	* cplus-parse.y: Grammar now recognizes `headof' and `classof'
+	expressions.
+	* cplus-method.c: Added dossier constructors here.
+	* cplus-tree.h (CLASSTYPE_DOSSIER): New macro: `dossier' is a new
+	field in lang_type.
+	* cplus-typeck.c (convert_for_assignment): Handle
+	`class_star_type_node'.
+
+	* cplus-class.c: New variable current_class_depth.  Used to tell
+	what class nesting level the compiler is at.
+	* cplus-decl.c (grokdeclarator): Now supports references to decls
+	that come from nested types.  For example, int foo::bar (foo_tag);
+	where `foo_tag' is a tag that comes from foo.  Previously this was
+	supported only as int foo::bar (foo::foo_tag);
+	* cplus-decl2.c (build_push_scope): build a SCOPE_REF node while
+	pushing into the context for the scope.  When `grokdeclarator' sees
+	one of these nodes (distinuished by its TREE_COMPLEXITY being set to
+	the current_class_depth), it processes the decl and pops the scope.
+
+	* cplus-class.c (build_vbase_path): Trust objects that are
+	`fixed_type_p'.  Also, don't assume an object is non-null unless
+	flag says this is explicitly so.  InterViews creates and may
+	manipulate (via delete) lots of null objects.
+	(build_vfn_reference): Use IS_AGGR_TYPE test on type, not in
+	INSTANCE.
+	(resolves_to_fixed_type_p): New argument NONNULL is used in case we
+	know and object to be non-zero.  All callers changed.
+
+	* cplus-call.c: New file, from file cplus-class.c.  Contains code to
+	generate method calls.
+ 	* cplus-class.h: New file, contains common declarations for
+	cplus-class.c and cplus-call.c.
+
+	* cplus-class.c (finish_struct_bits): Don't leave last_conversions
+	uninitialized.
+
+Tue Apr 30 17:14:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_expr):
+	Preserve volatility when changing ARRAY_REF to use a pointer.
+
+	* vax.md (indirect_jump): Use parens around register, not @.
+
+	* fixincludes (machine/cpu.h): Delete superfluous `static'.
+
+	* tm-decstatn.h (CPP_PREDEFINES): Define __mips and __LANGUAGE_C.
+
+	* explow.c (allocate_dynamic_stack_space): Compensate if
+	STACK_POINTER_OFFSET throws off the alignment.
+
+	* loop.c (strength_reduce): Typos setting not_every_iteration.
+
+Tue Apr 30 16:10:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* vax.md (bicb): Fix typo that caused operand not to be negated.
+	(jlbs/jlbc): Operand[0] cannot be a constant.
+
+	* rtl.h: Put NOTE_INSN_... codes in order.
+	(find_regno_note): Add missing definition.
+
+	* reload.c (find_reloads_address): Handle an indexed stack slot that
+	is made out of range by frame pointer elimination.
+
+Tue Apr 30 14:09:28 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (compile_file): Output gcc2_compiled, not gcc_compiled.
+	* tm-tower-as.h (ASM_IDENTIFY_GCC): Likewise.
+
+Tue Apr 30 13:56:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* varasm.c (output_addressed_constants): Return and indication of
+	whether the variable requires link-time relocations.
+	(assemble_variable, get_or_assign_label): Use this value when
+	choosing the section.  Use the data section for variables and
+	constants that are otherwise read-only when -fpic is given and
+	when link-time relocations are required.
+	* tm-*.h (SELECT_SECTION): Accept a new second parameter RELOC.
+
+Tue Apr 30 10:24:36 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* rtl.h (NOTE_INSN_LOOP_VTOP), rtl.c (note_insn_name): Add a new
+	note indicating the virtual top of a loop.
+	* jump.c (duplicate_loop_exit_test): Mark the duplicated exit code
+	in the loop as the virtual top of the converted loop.
+	(squeeze_notes): Move loop-vtop notes as well.
+	* loop.c (scan_loop): When a loop-vtop note is encountered, reset
+	`maybe_never' and `call_passed'.
+	(strength_reduce): Similarly, reset `not_every_iteration'.
+
+Tue Apr 30 08:15:50 1991  Michael Meissner  (meissner at osf.org)
+
+	* expr.c (do_store_flag): Move the join label after setting the
+	target value to 0, rather than before, which generates code that
+	always stores 0 into the target if the machine does not have a
+	builtin scc operation.
+
+Tue Apr 30 06:26:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): When making reg_equiv_mem and reg_equiv_address
+	from reg_equiv_memory_loc, clear the one we aren't setting; it might
+	have been previously set.
+
+	* final.c (final_scan_insn): Correctly handle when the first insn in a
+	SEQUENCE is a JUMP_INSN that forces restoration of a comparison
+	previously thought unnecessary.
+
+	* fold-const.c (fold, case PLUS_EXPR): If we have 2 * real_cst, 
+	fold into a new constant instead of making real_cst + real_cst.
+
+Mon Apr 29 23:09:17 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-decl.c (output_builtin_tdesc_entries): Corrected
+	declaration of permanent_obstack.
+	(init_decl_processing): Record declaration of int with name "int"
+	rather than null.
+	(finish_decl): Fix typo in comment.
+
+	* cplus-class.c (finish_struct): Made error message for union
+	member requiring constructor/destructor a little tidier.
+	(resolve_scope_to_name): Look at fields of current type as well as
+	tags, in case of local typedefs.
+	(build_method_call): Permit explicit call of destructor in class
+	that doesn't have one.  (That's what the ARM says....)
+
+	* cplus-decl.c (set_nested_typename): New function, extracted from
+	within pushtag.  Extended to deal with null classname.
+	(pushtag): Call it.
+	(pushdecl): For a TYPE_DECL, ensure that the nested typename gets
+	set.
+	(pushdecl_class_level): Ditto.
+	(constructor_name): Test various assertions.
+	(hack_incomplete_structures): If type is a class template, punt.
+
+	* cplus-input.c (getch): Renamed from get_character.  Callers
+	changed.
+	cplus-lex.c (old getch): Deleted.
+
+	* cplus-lex.c (save_pending_input, restore_pending_input): New
+	functions for saving and restoring lexer state.
+	(process_next_inline): Restore lexer state after each function.
+	cplus-pt.c (end_template_instantiation): Ditto.
+	cplus-input.c (struct input_source, getch, feed_input): Preserve
+	putback_char and lexer state.
+
+	* cplus-input.c (getch): Return magic cookie on end of saved input
+	for lexer to recognize.
+	cplus-lex.c (yylex): Turn it into END_OF_SAVED_INPUT.
+	(process_next_inline): Require it after inline function body.
+
+	* cplus-lex.c (do_pending_inlines): Don't save away current
+	file/line-no info; character input processing should do that.
+	(yyungetc): Turn conditional abort into assertion test.
+	(note_list_got_semicolon): Since variable "type" is available, use
+	it rather than recompute.
+	(identifier_type): Now static.
+	(yylex): Warn about conflicts with class template expansion names.
+
+	* cplus-parse.y (temporary_scope): New variable.
+	(object and scoped_id actions): Set it to current type.
+	(many other actions): Clear it.
+	(scoped_typename): Now derivable also from scoped_id and TYPENAME.
+	cplus-lex.c (yylex): If temporary_scope is set, use it to
+	determine type of current token being examined, instead of looking
+	always in the global scope.  (Can't properly do nested template
+	classes otherwise.)
+
+	* cplus-ptree.c (print_lang_decl): Print out template-info,
+	original-name, decl-main-variant, and pending-inline-info nodes if
+	not null.
+
+	* cplus-pt.c (mangle_class_name_for_template): For negative
+	numbers, use "m" prefix rather than printf's "-".
+	(overload_template_name): Test more assertions.  Use
+	SET_IDENTIFIER_TYPE_VALUE macro.
+	(lookup_template_class): Assert template decl node is non-null.
+	Push to permanent obstacks for new allocations.
+	(instantiate_template): Return new class type in a list.
+
+	* cplus-pt.c (undo_template_name_overload): Clear type local
+	definition of template name.
+	(end_template_instantiation): Call it.
+	cplus-parse.y (structsp actions): Ditto.
+	(named_class_head_sans_basetype): Don't call
+	overload_template_name here.
+	(named_class_head): Call xref_tag, to define a tag, before calling
+	it here.
+
+	* cplus-parse.y (tmpl.1, tmpl.2): Delete type declarations, since
+	they have no values.
+	(yyprint, YYPRINT): New function and macro to work with debugging
+	code added to bison.
+	(datadef -> template_header... actions): Assign yychar, rather
+	than calling yyungetc and yylex.  Require trailing semicolon.
+	(fn.def1 -> PRE_PARSED_FUNCTION_DECL action): Preserve all of
+	terminal value, instead of just TREE_PURPOSE.
+	(tmpl.1 action): Do instantiation only if '{' or ':' not found.
+	(template_instantiation): Call overload_template_name right away.
+	(primary -> .scope new '(' typename ')' '[' ...): Detect and warn
+	about this construct, which appears to be recognizeable, though
+	disallowed by the ARM.
+	(primary -> delete[]): Return error_mark_node.
+	(primary -> obj TYPESPEC::~TYPESPEC()): Catch, parse as valid.
+	Returned value not determined yet.
+	(typespec): No longer derived from PTYPENAME.
+	(LC): Added missing semicolon at end of rule.
+	(stmt): A PTYPENAME can also be used as a label name.
+
+Mon Apr 29 22:18:47 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* tm-att386.h (ASM_OUTPUT_LOCAL): Align static local variables.
+
+Mon Apr 29 15:20:35 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (fold): Don't assume an address is nonzero.
+	* cse.c (fold_rtx): Likewise.
+
+	* stmt.c (warn_if_unused_value): No warning for cast of cast of modify.
+
+	* Makefile.in (USER_H): Remove float.h.
+
+Mon Apr 29 13:46:48 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* loop.c (scan_loop): When see a REG_EQUAL note, check for both
+	the move_insn and the REG_RETVAL case, since they can occur together.
+	(move_movables): For the move_insn case, handle library calls just
+	like the older normal case code below, that is, skip to the end of a
+	library call when when see a REG_LIBCALL note, and delete an entire
+	library call if when see a REG_RETVAL note.
+
+Mon Apr 29 12:58:19 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* sched.c: (schedule_block): Rewrite code that computes which
+	registers are live at the end of the block.  Compute this from
+	basic_block_live_at_start info of current block, instead of from
+	all reachable blocks.  Previous code failed if one of the
+	reachable blocks consisted of dead code.
+	(sched_note_set): Set bb_live_regs when DEATH is false.
+
+	* sched.c: Update copyright.  Correct various problems with
+	indentation and white space.
+	(canon_rtx): Delete obsolete code handling INSN_LIST rtx.  Add
+	code to recurse on the operands of a PLUS rtx.
+	(find_symbolic_term): New function.  Recursively search an rtx for
+	a SYMBOL_REF or a LABEL_REF and return pointer to one if found.
+	(memrefs_conflict_p): No longer needs to call canon_rtx on
+	operands of a plus.  Now handles case of two addresses with
+	different base addresses.
+	(schedule_block): Don't set INSN_DELETED_P bit of ignored notes.
+	Verify that REG_DEAD notes have a register value.
+	(sched_analyze_1): Ifdef out obsolete code which calculates cc0
+	dependencies.
+	(sched_analyze): Likewise.
+	(schedule_block): Likewise.
+	(launch_links): Delete obsolete code for handling SPARC	'orcc' insns.
+
+Mon Apr 29 12:09:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure: Allow spaces between options and their args.
+
+Mon Apr 29 06:35:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Don't emit jump to next insn; this would
+	cause jump_optimize to loop.
+	(jump_optimize, duplicate_loop_end_test, do_cross_jump): Never put
+	insn in jump_chain if its INSN_UID is too large.
+	(redirect_tablejump): Likewise.
+
+Sun Apr 28 08:00:01 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (init_decl_processing): Merge changes in builtin
+	function handling to match the way that c-decl.c now works.
+	Also add global variables to support that change.
+	(define_function): Ditto.
+
+	* cplus-decl2.c: Add flags for gc and xref.
+	* cplus-tree.h (DECL_GC_OFFEST): New macro for gc.
+	* cplus-tree.h: Rearrange CLASSTYPE_ASSOC and CLASSTYPE_BASETYPES so
+	that the former now uses TYPE_LANG_SPECIFIC storage, and the latter
+	uses TYPE_BASETYPES.
+	* cplus-tree.h: Change overload names of new and delete to `nw' and
+	`dl'.  Formerly, `new' was being seen as `ne', the encoding for `not
+	equal'.
+
+	* cplus-xref.c: New file.  Adds support for generating
+	cross-reference information such as a class browser or program
+	analyzer would use.
+
+	* cplus-gc.c: New file.  Add support for garbage collection.
+	* cplus-decl.c (finish_decl): Tie decls to their places in the
+	garbage collector.
+	* cplus-init.c (build_new): Added hooks for gc.
+	* cplus-typeck.c (convert_arguments): protect arguments from the
+	garbage collector if -fgc.
+	(build_modify_expr): More gc-related changes.
+
+Fri Apr 26 07:31:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (expand_inline_function): Add missing increment of I.
+
+Thu Apr 25 11:07:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (various patterns): Use nonimmediate_operand in place of
+	reg_or_nonsymb_mem_operand and constraint `m' in place of `Q'.
+	* tm-m88k.h (EXTRA_CONSTRAINT): Only needed for a call address.
+	* out-m88k.c: reg_or_nonsymb_mem_operand and symbolic_memory_p are
+	now unused.
+
+	* m88k.md (symbolic store patterns): These patterns are all
+	unnecessary and are deleted.
+	* out-m88k.c (emit_move_sequence): Eliminate the case that
+	generated a CLOBBER.  This was intended to use the symbolic store
+	patterns, but isn't needed.
+	(symbolic_memory_operand): Delete, no longer used.
+	(output_prologue): Don't check for suspicious register elimination
+	changes.
+	* tm-m88k.h (GO_IF_LEGITIMATE_ADDRESS): Treat the frame pointer
+	like the argument pointer as both may change to REG+SMALLINT.
+
+Tue Apr 23 15:08:03 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* out-sparc.c (output_scc_insn): Clean up and expand comments.
+	Don't assume that JUMP_LABEL fields are always valid, they aren't
+	when compiling without optimization.
+
+Mon Apr 22 13:56:43 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (prepare_fresh_vtable): Thoroughly update virtual
+	function tables that come from baseclasses to contain the latest
+	overrides from derived classes.  This was done (in a different way)
+	for virtual baseclasses, but left undone for non-virtual
+	baseclasses.
+	(finish_struct_bits): Use assoc lists instead of class basetype list
+	to walk through the classes base classes.  This gives us more
+	relavant classes to check against.
+	* cplus-init.c (init_vfields): New function to recursively walk
+	objects and make sure their vfields are initialized.
+	* cplus-init.c (emit_base_init): Call `init_vfields' from top level.
+
+	* cplus-tree.h (TYPE_IDENTIFIER): New macro, gives the
+	IDENTIFIER_NODE for a given aggr TYPE.
+	* cplus-class.c (add_method): Use TYPE_IDENTIFIER.
+	* cplus-cvt.c (various places): Ditto.
+
+	* cplus-class.c (finish_struct): Add TYPE_DECLs to the list of a
+	class's members that come from the types implicitly declared tags.
+
+	* cplus-decl.c (grokdeclarator): If a function is declared `static
+	inline', don't give it global visibility, regardless of what #pragma
+	interface/implementation suggests.
+
+	* cplus-decl.c (finish_function): ??? Questionable change for PIC:
+	don't let constructors and destructors that manipulate vtables go
+	inline, since this somehow reduces page sharing.  Really???
+
+	* cplus-except.c (init_exception_processing): Use `pushdecl' to
+	install global info that this function sets up.  That way later
+	decls can override this info (such as with an inline function).
+
+	* cplus-init.c (build_vec_delete): Set TREE_SIDE_EFFECTS of
+	controller.  Otherwise the loop won't execute.
+
+	* cplus-method.c (prepare_inline): Rewritten and simplified.
+	(do_inline_method_hair): Ditto.
+
+	* cplus-tree.c (lang_output_debug_info): Only output nested type if
+	we would also output enclosing type.
+
+	* cplus-typekc.c (c_expand_return): Use pseudo for intermediate
+	return value if necessary.  GCC can't read the function return
+	registers in an inline functino when the return value is being
+	ignored.
+
+Mon Apr 22 14:36:01 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* sched.c (init_alias_analysis): Handle REG_EQUIV notes just like
+	REG_EQUAL notes.
+
+	* sched.c (sched_analyze_2): Don't recurse on constant rtx's.
+	This is necessary so that the cc0_rtx in CONST_DOUBLEs won't be seen.
+	(sched_analyze): Call sched_analyze_insn for JUMP_INSNS	also, so
+	that cc0 users will get an automatic dependence on their previous
+	insn.
+	(launch_links): Ifdef out special treatment of insns which set the
+	condition codes.  This is obsolete, and was SPARC specific anyways.
+	(new_sometimes_live): Clarify code that aborts if regno is greater
+	than max_regno.
+	(schedule_block): If the last insn sets cc0, then it must always
+	be left	in place.
+	(new_insn_dead_notes): New function.  Determines whether a SET or
+	CLOBBER in an insn created by splitting needs a REG_DEAD or
+	REG_UNUSED note added.
+	(update_links): Ignore REG_EQUIV and REG_EQUAL notes on insns that
+	have more than one set.  Generalize flow analysis of the sets in
+	the new insns so that it can handle new insns which have multiple
+	sets or new clobbers.
+
+Mon Apr 22 08:15:50 1991  Michael Meissner  (meissner at osf.org)
+
+	* gcc.c (input_suffix): New global var; holds current file's suffix.
+	(handle_braces): Substitute X in %{.S:X} if the current file has
+	suffix .S.  Similarly, substitute X in %{!.S:X} if the current file
+	does not have suffix .S.
+	(validate_switches): Ignore .S part in %{.S:X} construct.
+
+Sat Apr 20 14:41:17 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* final.c (leaf_function_p): Define this in any event.
+
+Sat Apr 20 10:45:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (check_dbra_loop): Use GET_RTX_CLASS when appropriate.
+	Check for setting biv with single_set rather than only allowing a SET.
+	If a loop has a `break', we can't reverse it.
+
+	* cse.c (cse_insn): Fold inside operands of a CALL (mostly to find the
+	best address form to use).
+
+	* cse.c (simplify_unary_operation): Convert (neg (neg ..)) to NEG.
+	Similarly for NOT.
+	(simplify_binary_operation): Simplify things like (-a) + b.
+	Convert UDIV with divisor a constant power of two into LSHIFTRT.
+	Similarly for UMOD.
+	Only fold shifts of a zero by a value into zero if the value has
+	no side effects.
+	Remove code to handle negative shift counts.
+
+	* tm-a29k.h (OPTIMIZATION_OPTIONS): Allow insn scheduling to be
+	enabled, now that it works for the 29k.
+
+	* tm-rs6000.h (LINK_SPEC): Add "-bhalt:4" to LINK_SPEC (don't ask!).
+
+Fri Apr 19 13:18:52 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* explow.c (memory_address): Test `cse_not_expected' instead of
+	`optimize' so that we don't make new pseudos after flow is run.
+
+	* genflags.c (gen_insn): If extra condition is more than one line,
+	use \'s to make proper multi-line macro definition.
+
+Thu Apr 18 13:40:01 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* loop.c (check_dbra_loop): Reenable no_use_except_for_counting code
+	which was mistakenly ifdefed out as buggy.  The actual bug was in
+	strength_reduce, and has already been fixed.
+
+Thu Apr 18 09:47:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (record_giv): Allow for the case where regno_last_uid
+	of DEST_REG has been moved or deleted.
+
+	* rtlanal.c (replace_regs): Add missing argument in recursive call.
+
+	* recog.c (nonmemory_operand): Only call general_operand for
+	a SUBREG if it is a MEM, just like register_operand.
+
+	* local-alloc.c (block_alloc): Handle case where the last insn of
+	a REG_NO_CONFLICT block requires some CLOBBERs, but is a single SET.
+
+	* out-romp.c, out-rs6000.c (next_insn_tests_no_unsigned): If a
+	REG_UNUSED note for (cc0) is present on INSN, return 1.
+
+	* jump.c (delete_jump): If the previous insn sets cc0 but we can't
+	delete it for some reason, add a REG_UNUSED note for cc0 in that insn.
+
+	* out-a29k.c: Rename input_operand to in_operand and output_operand
+	to out_operand to avoid conflict with output_operand in final.c.
+	* a29k.md: Likewise.
+	(call patterns): Don't put SYMBOL_REF in MEM for recursive call;
+	it might not be recursive if inlined; let cse do it later.
+	* tm-a29k.h (RTX_COST, ADDRESS_COST): All addresses have the same
+	cost, but MEM is expensive.
+
+Tue Apr 16 16:01:47 1991  Michael Meissner  (meissner at osf.org)
+
+	* configure: Add osfrose, osf, and mips/dec-osfrose.
+
+	* out-mips.c (toplevel): Include necessary include files so
+	out-mips.c can be compiled separately.
+	(g_switch_value): New variable to hold -G xx value.
+	(g_switch_set): New variable to indicate if -G xx used.
+	(current_function_file): New variable to hold last .file.
+	(file_in_function_warning): New variable to hold if we've warned the
+	user that ECOFF can't switch files within a function.
+	(mips_rtx_classify): New array to classify an insn.
+	(mips_reg_names): New array to hold the register names.
+	REGISTER_NAMES initializes all elements to point into here, and
+	override_options resets the names if -mrnames is used.
+	(mips_sw_reg_names): New array to hold the alternate register names.
+	(mips_regno_to_class): New array to map hard register number to
+	register class.
+	(uns_arith_operand): Rewrite so call to register_operand is done
+	last, not first.
+	(arith_operand): ditto.
+	(arith32_operand): ditto.
+	(large_int): New function to return true if int constant will take 2
+	instructions to load into a register.
+	(reg_or_0_operand): New function to return true if a register or
+	constant 0 is the operand for use in store patterns.
+	(md_register_operand): New function to return true if either the hi
+	or lo register is used.
+	(mips_const_double_ok): New function to return true if a
+	CONST_DOUBLE can be used as a constant in a RTL expression.  At
+	present, only DImode constants and 0.0 is allowed.
+	(simple_memory_operand): New function to return true if a memory
+	reference is a simple register + small offset.
+	(gp_memory_operand): New function to return true if a memory
+	reference uses the global pointer.
+	(mips_move_instructions): New function to handle all data movement
+	of one word or less.
+	(mips_move_2words_instructions): New function to handle all data
+	movement of two words.
+	(init_cumulative_args): Remove print_tree debug call.
+	(function_arg_partial_nregs): Fix bug in passing structures where
+	the wrong field was used.
+	(print_options): Enable this function, body was in #if 0.
+	(override_options): Spell function name with two r's.  Change how
+	the -G xx and -mGx options are handled.  If neither passed use the
+	appropriate default.  If -mgas make sure debug format is DBX, and if
+	not -mgas, use SDB debug format.  If -mrnames and -mgas, give an
+	error message, otherwise set up mips_reg_names.  Set up the
+	mips_rtx_classify array.
+	(print_options): New function instead of a long macro.  Add %C to
+	print part of the opcode for a branch condition, %N to print the
+	inverted branch condition, %( to do .set noreorder, %) to do .set
+	reorder, %[ to do .set noat, %] to do .set at, %& to do .set
+	noreorder if filling delay slots, and %# to print nop if delay slot
+	not filled.
+	(print_operand_address): New function instead of a long macro.
+	(compute_frame_size): New function to abstract all the frame related
+	information like frame size, saved registers, etc.
+	(save_restore): Common function between the prologue and epilogue to
+	save/restore the registers in the proper order.  Make $31 saved at
+	function pc +4.
+	(function_prologue): Call compute_frame_size and save_restore.  Make
+	sure the appropriate .file is done before any statement in the
+	prologue since the MIPS ECOFF requires this.
+	(function_epilogue): Call compute_frame_size and save_restore.
+
+	* tm-decstatn.h (CPP_PREDEFINES): Define the appropriate macros.
+	(*_SPEC): Move the DECstation related specs here from tm-mips.h.
+
+	* tm-decrose.h (new file): File to support OSF/1 with OSF/rose
+	object format.
+
+	* tm-mips-sysv.h (CPP_PREDEFINES): Define the appropriate macros.
+	(*_SPEC): Move the DECstation related specs here from tm-mips.h.
+
+	* tm-mips-bsd.h (CPP_PREDEFINES): Define the appropriate macros.
+	(*_SPEC): Move the DECstation related specs here from tm-mips.h.
+
+	* tm-mips-news.h (CPP_PREDEFINES): Define the appropriate macros.
+	(*_SPEC): Move the DECstation related specs here from tm-mips.h.
+
+	* tm-iris.h (CPP_PREDEFINES): Define the appropriate macros.
+	(*_SPEC): Move the DECstation related specs here from tm-mips.h.
+	(SET_FILE_NUMBER): Define, so that .file number is always 1.
+	(LABEL_AFTER_LOC): Define, so that a label appears after .loc.
+	(STACK_ARGS_ADJUST): Iris frames require 32 bytes at the top of the
+	call frame instead of the normal MIPS 16.
+
+	* mips.md (all): Add first cut at attributes to identify insn type.
+	(all): Where appropriate, use @ form for alternates, instead of
+	using C code.
+	(define_delay): Put arithmetic and one word stores in call, jump,
+	branch delay slots.
+	(define_function_unit): Add functional unit definitions for memory
+	and integer multiply/divide.
+	(anonymous add/subtract insn): Remove support for reg + large offset
+	that omitting the frame pointer caused in 1.xx to see if it is
+	needed anymore.
+	(mulsi3): Add clobbers for the hi/lo registers.  Add a define_split
+	and an anonymous define_insn to separate the mult instruction from
+	the mflo.
+	(divmodsi4): Add clobbers for the hi/lo registers.
+	(udivmodsi4): Add clobbers for the hi/lo registers.
+	(divsi3): Add clobbers for the hi/lo registers.  Restrict divides
+	and modulus to register / register.
+	(modsi3): ditto.
+	(udivsi3): ditto.
+	(ymodsi3): ditto.
+	(divide peepholes): Add two peepholes to catch divide followed by
+	modulus of the same values.
+	(anddi3): Remove pattern, use default behavior.
+	(iordi3): Remove pattern, use default behavior.
+	(xordi3): Remove pattern, use default behavior.
+	(truncsiqi2): Remove pattern, use default behavior.
+	(truncsihi2): Remove pattern, use default behavior.
+	(trunchiqi2): Remove pattern, use default behavior.
+	(truncdfsf2): Remove asm comment.
+	(extendhisi2): Add a define_split for shift case.
+	(extendqisi2): Add a define_split for shift case.
+	(extendqihi2): Add a define_split for shift case.
+	(movdi): Turn into a define_expand to guarantee that memory <->
+	memory moves go through a register.
+	(movsi): ditto.
+	(movhi): ditto.
+	(movqi): ditto.
+	(movsf): ditto.
+	(movdf): ditto.
+	(movdi_internal): new define_insn.  Add fp registers to the
+	alternatives.  Call mips_move_2words_instructions to do the actual
+	movement.  Require memory addresses to be offsetable.
+	(movdf_internal): ditto.
+	(movsi_internal): new define_insn.  Add storing 0 to memory
+	directly using $0.  Add transfer to/from multiply/divide registers,
+	and to the fp status register.  Call mips_move_instructions to do
+	the actual work.
+	(movhi_internal): ditto.
+	(movqi_internal): ditto.
+	(movsf_internal): ditto.
+	(jump): Add %& to turn on .set noreorder if filling delay slot.
+	(tablejump): Ditto.
+	(call): Ditto.
+	(call_value): Ditto.
+	(indirect_jump): New required pattern, add %& for delay slot.
+	(nop): Use %( %) to turn on/off .set noreorder.
+	(probe): Use %[ %] to turn on/off .set noat.
+
+	* tm-mips.h (abort): Define abort to be fancy_abort for now.
+	(toplevel): Move all extern's to the start of the file, rather than
+	scattered throughout.
+	(OPTIMIZATION_OPTIONS): New macro, -O sets -fomit-frame-pointer, and
+	-fdelayed-branch.  -O2 sets -fstrength-reduce, -fcse-follow-jumps,
+	-fexpensive-optimizations, -fthread-jumps, -frerun-cse-after-loop.
+	-O3 sets -finline-functions.
+	(*_SPEC): Move most of the target specific spec's to the appropriate
+	file, rather than defining them in tm-mips.h.  Defaults are for MIPS
+	RISC-OS with default system.
+	(CPP_SPEC): If preprocessing .S files, define LANGUAGE_ASSEMBLY
+	instead of LANGUAGE_C.
+	(MIPS_VERSION): Add meissner version number.
+	(MIPS_DEBUGGING_INFO): Define this for the future.
+	(TARGET_*): reorder which bit means what.  Add bits so we can tell
+	whether any of the -mG[012] options were used.  Redefine some debug
+	switches.
+	(BYTES_BIG_ENDIAN): Always define to 0/1 now.
+	(WORDS_BIG_ENDIAN): Always define to 0/1 now.
+	(MAX_PARM_BOUNDARY): Delete, since it's no longer used.
+	(BIGGEST_FIELD_ALIGNMENT): Define to be 64.
+	(CONSTANT_ALIGNMENT): New macro, make sure strings are aligned.
+	(DATA_ALIGNMENT): New macro, make sure byte arrays are aligned.
+	(FIRST_PSEUDO_REGISTER): Bump to 67, add hi, lo, fcr31.
+	(FIXED_REGISTERS): Add initializations for hi, lo, and fcr31.
+	(CALL_USED_REGISTERS): Add initializations for hi, lo, and fcr31.
+	(MD_REG_P): New macro to return if hi/lo register.
+	(ST_REG_P): New macro to return if fp control register.
+	(HARD_REGNO_NREGS): Return 4 for single precision complex.
+	(MODES_TIEABLE_P): Add complex float type support.
+	(FRAME_POINTER_REQUIRED): Make this always 0.
+	(NO_RECURSIVE_FUNCTION_CSE): New macro, define as 1.
+	(enum reg_class): Add class for the hi register, lo register, either
+	hi or lo registers, status registers.
+	(REG_CLASS_NAMES): Support new register classes.
+	(REG_CLASS_CONTENTS): ditto.
+	(REG_CLASS_FROM_LETTER): ditto.
+	(REGNO_REG_CLASS): Use an array to map register # -> class.
+	(CONST_OK_FOR_LETTER_P): Add `L' for constants which have bottom 16
+	bits all zero, and `M' which require two instructions to load.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Use `CONST_DOUBLE_HIGH' and
+	`CONST_DOUBLE_LOW'.
+	(EXTRA_CONSTRAINT): New macro, `Q' for gp memory references, and `R'
+	for reg + small offset references.
+	(struct mips_frame_info): New structure to hold all frame related
+	information, calculated by compute_frame_size.
+	(INITIAL_FRAME_POINTER_OFFSET): New macro, use compute_frame_size to
+	calculate where the frame should go.
+	(ACCUMULATE_OUTGOING_ARGS): New macro, define so stack pushes are
+	folded into the frame.
+	(REG_PARM_STACK_SPACE): Redefine to take an argument and return 16.
+	(OUTGOING_REG_PARM_STACK_SPACE): New macro, define to say we must
+	allocate stack space for arguments passed in registers.
+	(TARGET_FLOAT_FORMAT): New macro, define as IEEE_FLOAT_FORMAT.
+	(FUNCTION_ARG_BOUNDARY): New macro to determine argument padding
+	requirements.
+	(MIPS_STACK_ALIGN): New name for AL_ADJUST_ALIGN macro.
+	(FIX_FRAME_POINTER_ADDRESS): Delete, no longer used.
+	(FUNCTION_PROFILER): No longer have to switch between different
+	register names, override_options now sets up reg_names correctly.
+	(TRAMPOLINE_TEMPLATE): New macro, define as a dummy.
+	(TRAMPOLINE_SIZE): ditto.
+	(INITIALIZE_TRAMPOLINE): ditto.
+	(INDIRECTABLE_ADDRESS): Delete, fold into GO_IF_LEGITIMATE_ADDRESS.
+	(GO_IF_LEGITIMATE_ADDRESS): If -mdebuga, don't allow <label>(<reg>)
+	type addresses, which the machine really doesn't support, but you
+	currently get better code in some instances by pretending it does
+	support it.
+	(LEGITIMATE_CONSTANT_P): Call mips_const_double_ok if CONST_DOUBLE.
+	(ENCODE_SEGMENT_INFO): New macro, set SYMBOL_REF_FLAG (ie, volatil)
+	if refering to an item via the gp pointer.
+	(SLOW_BYTE_ACCESS): Define to 1, it is supposed to generate better
+	code on RISC machines.
+	(classify_op): New macro to classify an insn.
+	(additive_op): Use classify_op to figure out if PLUS or MINUS.
+	(divmod_op): New macro to identify DIV, MOD, UDIV, UMOD insns.
+	(unsigned_op): New macro to identify UDIV, UMOD insns.
+	(REGISTER_NAMES): All names are now pointers into mips_reg_names, so
+	that we don't have to continually test whether -mrnames is used or
+	not.  The override_options function sets this up appropriately.
+	(REGISTER_NUMCHAR): Deleted.
+	(REG_NAME): Deleted.
+	(ADDITIONAL_REGISTER_NAMES): Define both names for the gp registers,
+	so people can use either $r4 or a0 in asm statements.
+	(PRINT_OPERAND): Call print_operand function instead of expanding a
+	huge macro.  Add %C, %N, %(, %), %[, %], %&, %#.
+	(PRINT_OPERAND_PUNCT_VALID_P): Add `(', `)', `[', `]', `&', and `#'.
+	(PRINT_OPERAND_ADDRESS): Call print_operand_address function instead
+	of expanding a huge macro.
+	(DBX_OUTPUT_SEQEND): New macro, emit .set reorder after filling
+	delay slot(s).
+	(ASM_OUTPUT_SOURCE_FILENAME): Add check for doing .file of same file
+	-- this is needed for the prologue to do a .file before all prologue
+	instructions, rather than after the instructions which set up the
+	stack.  Also, warn about #line requests that cannot be honored in
+	MIPS ECOFF binaries.
+	(ASM_OUTPUT_CASE_END): Delete, since it was only used to go back to
+	the text section, and GCC does this now automatically.
+	(READONLY_DATA_SECTION): New macro, define to be rdata_section.
+	(SELECT_SECTION): Don't force volatile readonly items into .data.
+	(ASM_COMMENT_START): New macro, define to be '\t\t# ' for -dp.
+	(SEPARATE_AUX_OUTPUT): New macro, define this to separately compile
+	out-mips.c.
+
+Tue Apr 16 15:00:51 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* unroll.c (final_giv_value): Use expand_binop instead of
+	gen_sub2_insn when emitting subtract insns, since expand_binop
+	will work for any operands.
+
+	* sched.c (schedule_insns): Don't split no-op moves; doing so
+	breaks the code that handles REG_NO_CONFLICT blocks.
+	(update_links): Delete the code that prints a warning for
+	REG_EQUAL notes where the original dest can't be found.  This no
+	longer occurs because of the above change.
+
+	* sched.c: Generalize memory aliasing code so that it will work on
+	non-RISC machines.  Instead of saving just the insn on the pending
+	lists, now saves both the insn and the mem rtx.  Old variables
+	pending_read and pending_write replaced with pending_read_insns,
+	pending_read_mems, pending_write_insns, and pending_write_mems.
+	(read_dependence, true_dependence, anti_dependence,
+	output_dependence): Now passed a MEM rtx instead of a PATtern.
+	(add_insn_mem_dependence): New function.  Adds an insn and a mem
+	to a pending list pair.
+	(sched_analyze_1, sched_analyze_2, sched_analyze): Modified to use
+	new pending list scheme.
+	(schedule_block): Likewise.
+	(schedule_insns): Likewise.
+
+Tue Apr 16 12:31:07 1991  Jeffrey A. Law  (law at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (install-man): Look for protoize.1 and unprotoize.1
+	in the current directory, not $(srcdir)
+	(install-headers): Use basename to strip off $(srcdir) from 
+	include files when installing and changing mode.
+
+Tue Apr 16 08:10:38 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (extendqixi2): Add CLOBBER to the first SET as well as
+	the second.
+	(load_multiple): Fix typo in operand number and add newline.
+
+	* reload.c (find_reloads_address_1): Pass actual location of a
+	MEM used in an address; also handle the case when the MEM was
+	copied.  Ensure we reload the copy, not the original address.
+
+	* reload1.c (eliminate_regs, case {INSN,EXPR}_LIST): Correctly handle
+	the cases when one or more operations is (nil).
+
+	* local-alloc.c (block_alloc): Check for REG_EQUAL on list insn
+	of REG_NO_CLOBBER sequence, not first.
+	(no_conflict_p): Set LAST and use INSN instead of P for loop start.
+
+Mon Apr 15 12:55:12 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* loop.c (strength_reduce): Don't emit an insn after loop_end to
+	set the final value of a reversed biv.  There is already an insn
+	there setting the biv's proper final value.
+
+Sun Apr 14 18:32:05 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* gnulib1.c (various functions): Added declaration of INTIFY to
+	every function which has a FLOAT_ARG_TYPE argument or return value.
+
+Sun Apr 14 18:31:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (store_parm_decls): Traditional float parm becomes double.
+
+Sat Apr 13 17:35:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* m68k.md (storing 32-bit field with movl): Allow any immediate arg 3.
+
+	* expmed.c (store_bit_field): For fields bigger than a word:
+	Avoid special use of SImode, and don't crash if VALUE is CONST_INT.
+
+Fri Apr 12 02:04:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload.c (find_reloads): Like prev change here, for optional reloads.
+
+	* tm-sparc.h (FUNCTION_BLOCK_PROFILER): Must set %o0 to the address
+	LPBX0 by adding in the low part of the address before calling
+	___bb_init_func.
+
+	* tm-next.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
+	New macros.  Place reference to constructor or destructor into
+	constructor or destructor section.
+
+	* tm-next.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS):  Add
+	new constructor and destructor sections.
+
+	* jump.c (squeeze_block_notes,squeeze_notes): Chage the name of
+	squeeze_block_notes to squeeze_notes.  Also handle LOOP_BEG, LOOP_CONT
+	and LOOP_END notes, since these must remain in their original order.
+
+	* cccp.c (skip_to_end_of_comment): Handle warn_comment.
+
+	* m68k.md (dbra patterns): Use `=' in constraint of op 0.
+
+	* gcc.c (process_command): Handle -save-temps.
+	(do_spec_1): Handle %g like %b if -save-temps.
+	(verbose_flag): Renamed from `vflag'.
+
+	* tm-sparc.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Don't define this.
+
+Fri Apr 12 00:57:48 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* sched.c: Update all comments to reflect source changes.
+	Make old_live_regs a static global, instead of local to schedule_block.
+	Schedule_block is now void, since its return value was always 1.
+	Rename last_function_call_not_const to last_pending_memory flush.
+	This can not be a CALL_INSN or a INSN that writes memory.
+	New variable pending_lists_length so that the lists can be flushed
+	when they get too long.
+	Use GET_RTX_CLASS instead of multiple GET_CODE calls whenever it
+	makes sense.
+	(read_dependence): New Function.  Returns one if two reads are
+	dependent.  This can happen if both are volatile reads.
+	(true_dependence, anti_dependence, output_dependence): Two volatile
+	memory access are always dependent.
+	(order_calls): Function deleted.  It was very short, it was only called
+	once, and it no longer did what its name implied.  Its one call was
+	replaced with the body of the function.
+	(sched_analyze_1): Correctly handle stripping of SUBREGs, etc from
+	the set dest.
+	If the pending lists are longer than 32 when processing a memory
+	write, then make this write depend on all previous and all future
+	memory accesses so we can flush the pending list.  This is necessary
+	because the algorithms used are O(N*N).
+	(sched_analyze_2): For memory reads, check whether it is read
+	dependent on any previous memory read (this can happen if both reads
+	are volatile).
+	(sched_analyze_insn): Replace call to order_calls with the body of
+	that function.
+	(sched_analyze): Don't clear last_memory_pending_flush for a non-const
+	call, since any future call must still depend on all previous memory
+	accesses.
+	(sched_note_set): Correct handling of SUBREGs, etc.  For partial sets
+	of a register, must treat this exactly the same way as flow.c, i.e.
+	a partial set of a register does not kill the register.  Delete
+	ifdefed out code which is obsolete.
+	(attach_deaths): New argument SET_P, which indicates whether this is
+	a set (if true) or a use (if false) of the rtx X.  Correct handling
+	of REG_DEAD notes, to account for the new REG_UNUSED note.
+	(attach_deaths_insn): Pass new additional parameter to attach_deaths.
+	Always call attach_deaths for sets within a parallel.  Call
+	attach_deaths for clobbers.
+	(new_sometimes_live): Ifdef out code which should never be executed,
+	and replaced with call to abort.
+	(schedule_block): Now void.
+	When processing block to find dead_regs, don't unlink REG_UNUSED notes,
+	but must mark the indicated register as dead.
+	(update_links): Completely rewritten to make more general.  Now handles
+	all REG_NOTEs except REG_INC and REG_LABEL.  No longer makes simple
+	assumptions about the form of instructions.  New argument orig_insn,
+	which is the original unsplit insn.
+	(schedule_insns): Delete unused volatilep code.  Pass new parameter
+	to update_links.
+
+Thu Apr 11 15:34:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* out-m88k.c (pic_addressing_base_rtx): Use pic_offset_table_rtx
+	instead.  Otherwise, PIC fails miserably for inline functions.
+	(legitimize_address): Support -mbig-pic.
+	(print_operand): Add `g' for printing #got_rel (for -mbig-pic).
+	* tm-m88k.h (CONDITIONAL_REGISTER_USAGE): PIC_OFFSET_TABLE_REGNUM
+	is used and is fixed for PIC.
+	(GO_IF_LEGITIMATE_ADDRESS): Distinguish the -mbig-pic case.
+	* m88k.md (SImode hi16/lo16): Use %g for -mbig-pic.
+
+Wed Apr 10 21:53:32 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* unroll.c: Change global variable declarations to static.
+	Four new global variables loop_iteration_var, loop_initial_value,
+	loop_increment, and loop_final_value, used for communication between
+	loop_iterations and precondition_loop_p.
+	(unroll_loop): Before deleteing the insns in the original loop body,
+	emit a label after the last insn to be deleted, to ensure that no
+	delete_insn call will delete past that point.
+	(precondition_loop_p): Use global loop_* variables setup by
+	loop_iterations, instead of trying to calculate their values again.
+	(copy_loop_body): Don't emit copies of the start_label.
+	(approx_final_value): COMPARISON argument now passed as the pair
+	COMPARISON_CODE and COMPARISON_VALUE.
+	(find_splittable_regs): When completely unrolling a loop, and the
+	initial value of a biv is a hard register or itself, then must
+	create a new register to hold its initial value for splitting.
+	(loop_iterations): Set the new global variables loop_*.
+	If the comparison value is an invariant register, then search the insns
+	before the loop to try to find a constant value for the register.
+
+Wed Apr 10 16:02:16 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* out-m88k.c (pic_addressing_base_rtx): A pseudo register coined
+	for each function as needed in legitimize_address.
+	(emit_move_sequence): Use legitimize_address instead of generating
+	HIGH/LO_SUM.
+	(legitimize_address): Rework, based on the sparc version, to
+	implement PIC.
+	(output_call): Use the #plt form when doing PIC.
+	(m88k_layout_frame): The addressing base register is no longer
+	fixed and r1 need not be saved for PIC.
+	(output_prologue): Output instructions to setup the addressing
+	base register if one is needed.
+	(print_operand_address): Support the PIC case.
+	* m88k.md (most patterns using hi16/lo16): Disable these for PIC.
+	* tm-m88k.h (CONDITIONAL_REGISTER_USAGE): No longer needed.
+	(ADDRESSING_BASE_REGNUM): Derived from pic_addressing_base_rtx.
+	(GO_IF_LEGITIMATE_ADDRESS): Accept the PIC case.
+	(LEGITIMIZE_ADDRESS): Use legitimize_address instead of HIGH/LO_SUM.
+
+	* make-m88k, make-m88kdgux: Use SysV INSTALL = cp and for DG/UX,
+	use the bison -l option to allow debugging in c-parse.tab.c.
+
+	* From kenner@vlsi1.ultra.nyu.edu.
+	* out-m88k.c: Include insn-config.h before conditions.h, which
+	requires it.
+	* xm-m88kdgux.h: Define SEPARATE_AUX_OUTPUT before including config.h.
+	* tm-m88k.h: Declare MD functions only if SEPARATE_AUX_OUTPUT.
+
+	* tm-m88k.h, tm-m88kdgux.h, tm-m88ksvr4.h: Rework TARGET_VERSION.
+
+Wed Apr 10 08:19:02 1991  Richard Stallman  (rms at apple-gunkies)
+
+	* caller-save.c (emit_mult_restore): Typo testing offset[regno] sign.
+
+	* fold-const.c (target_isinf): Test real value for infinitude.
+	* real.h (REAL_VALUE_ISINF): Use target_isinf.
+
+	* configure: Change / to -- in value of `target' in Makefile.
+
+Tue Apr  9 20:09:49 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* configure: Modify assignment to `target' in Makefile.
+	(AIX target): Use correct config files.
+	
+	* make-aix386: New file.
+
+Tue Apr  9 19:28:16 1991  Torbjorn Granlund  (tege at zevs.sics.se)
+
+	* longlong.h (header):
+	Modify definition of count_leading_zeros for input = 0.
+	* (68020): Test for __NeXT__ too.
+	* (68020 __umulsidi3, umul_ppmm, udiv_qrnnd):
+	Use constraints "dmi", not "g" (avoid address registers).
+	* (88000 add_ssaaa, sub_ddmmss): Use r modifier for output
+	templates, use J, not I, as constraint for the carry-in insns
+	* (at the end of the file): If UDIV_NEEDS_NORMALIZATION is not
+	defined, define it as 0.
+
+Tue Apr  9 19:14:34 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (optimize_bit_field): Fix typo.
+
+	* cccp.c (do_define): Don't crash when a builtin macro is
+	redefined.
+
+Tue Apr  9 15:11:42 1991  Richard Stallman  (rms at apple-gunkies)
+
+	* expr.c (move_by_pieces): Don't fail to compile if no movqi.
+
+	* emit-rtl.c (get_last_insn_anywhere): Use first nonempty seq.
+
+	* varasm.c (assemble_constructor): Fix typo.
+
+Fri Apr  5 22:15:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (extendqixi): Add CLOBBER to ASHIFTRT insn.
+
+	* combine.c (simplify_shift_const): Shift operand of PLUS using
+	correct mode.
+	Correctly simplify outer_const when done.
+
+	* reload.c (push_reload): Don't de-reference INLOC if it is 0.
+
+	* expr.c (convert_to_mode): Call protect_from_queue.
+
+Fri Apr  5 13:29:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* varasm.c (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
+	Accept two arguments.
+
+Fri Apr  5 08:45:18 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (expand_divmod): Convert OP1 to COMPUTE_MODE when we
+	convert OP0.
+
+	* combine.c (subst): Use gen_binary.
+	(simplify_comparison): If we have a ZERO_EXTRACT from a constant
+	with only one bit set, convert into comparison of position with
+	location of bit in constant; this simplifies ((1 << x) & 1) == 0.
+
+	* combine.c (gen_lowpart_for_combine): Copy code for CONST_DOUBLE
+	from gen_lowpart instead of calling it; it will abort for certain
+	floating-point cases, while we will just surround the object with
+	a SUBREG.
+
+Thu Apr  4 22:31:36 1991  Jim Wilson  (wilson at cygnus.com)
+
+	* unroll.c (new file): Implements loop unrolling.  Completely
+	unrolls small constant bounded loops.  Unrolls other constant
+	bounded loops by an amount modulo the number of iterations so that
+	only one exit test is needed.  Preconditions loops whose iteration
+	count can be calculated at run time, so that only one exit test
+	is needed.  Can also unroll any other loop by having multiple
+	copies of the exit tests.  Tries to simplify addresses while
+	unrolling.
+
+	* tree.def: BLOCK trees have 4 fields, not 5.
+
+	* toplev.c: Add new flag -dt to dump RTL after the second cse pass.
+	Define two new flags, flag_unroll_loops and flag_unroll_all_loops,
+	and add code to support their use for loop unrolling.  Print the
+	exec time for the shorten-branch pass in the proper place, i.e.
+	after delayed branch reorganization.
+
+	* stmt.c (find_loop_tree_blocks): New function.  Creates a mapping
+	between BLOCK trees and loops.  This info is needed when doing both
+	loop unrolling and outputting debugger info.
+	(unroll_block_trees): New function.  Makes COPIES copies of the block
+	trees corresponding the loop indicated by LOOP_NUMBER, so that the
+	BLOCK notes inside the loop will still match the BLOCK trees for
+	the loop.
+
+	* rtl.h: Document the new named pattern
+	"decrement_and_branch_until_zero".  Add macros to access new
+	field of inline_header rtx, which holds a pointer to the function's
+	original DECL_INITIAL tree.
+
+	* rtl.def: New entry for inline_header to hold a pointer to the
+	function's original DECL_INITIAL tree.
+
+	* loop.h (new file): Move many declarations from loop.c to the new
+	file loop.h, and change some from static to extern, so that they
+	can be shared with unroll.c.  Also globalize names for variables
+	changed from static to extern.
+
+	* loop.c: Move many declarations from loop.c to the new	file loop.h,
+	and change some from static to extern, so that they can be shared
+	with unroll.c.  Add misc comments to better explain the code.
+	Change name of global arrays loop_start and loop_end to
+	loop_number_loop_starts and loop_number_loop_ends so that they won't
+	be confused with local loop_start and loop_end variables.
+	New variables loop_number_exit_labels, loop_number_first_block,
+	loop_number_last_block, loop_number_block_level, loop_n_iterations.
+	Old_max_reg renamed to max_reg_before_loop.  Max_uid renamed to
+	max_uid_for_loop.  Induct_var renamed to reg_iv_type.
+	Induct_struct renamed to reg_iv_info.  Class_struct renamed to
+	reg_biv_class.  Iv_list renamed to loop_iv_list.
+	Rename (struct induction) field always to always_computable.
+	Rename (struct induction) field family to next_iv.
+	New (struct induction) field not_replaceable.
+	(loop_opt): Add code to allocate some new arrays for unrolling
+	support.  Add call to find_loop_tree_blocks to create the BLOCK tree
+	to loop map needed when unrolling and outputting debugger info.
+	(scan_loop): Fix setting of maybe_never of label/jump.  The old code
+	always failed.
+	(prescan_loop): Delete obsolete code.
+	(find_and_verify_loops): Add code to initialize
+	loop_number_exit_labels.
+	(mark_loop_jump): Add code for keep chain of loop_number_exit_labels
+	for each loop.
+	(invariant_p): LABEL_REFs are not invariant when doing loop unrolling.
+	Remove static from definition, so that it can be called from unroll.c.
+	(strength_reduce): Change name of variable maybe_never to
+	not_every_iteration, to help emphasize that it is not the same
+	as the variable maybe_never in the code motion code.  Modify code
+	that computes its value so that it will be false more often, resulting
+	in better code.
+	(strength_reduce): Added code to call the new loop unrolling
+	functions, e.g. unroll_loop, loop_iterations, etc.
+	(strength_reduce): New code to handle biv's and giv's which must
+	be set to their final_value after the loop exits.
+	(strength_reduce): Reversed giv's and biv's must have their values
+	calculated differently.  Add new field reversed to struct induction,
+	and code to check and use its value.
+	(strength_reduce): Only check value of bl->nonneg for architectures
+	that have a decrement_and_branch_until_zero instruction.
+	(find_mem_givs): New argument loop_start.
+	(record_giv): New argument loop_start.
+	The always_computable field for DEST_ADDR givs is always set true.
+	New code to check for case of spaghetti code, in which case the
+	giv can never be considered replaceable.
+	(check_final_value): New function. For givs which are not otherwise
+	replaceable, try to calculate their final value, and then try
+	to use this to make them replaceable.
+	(update_giv_derive): Skip inner loop if giv is known to be underivable
+	at the beginning.  Must set cant_derive if we pass an insn that
+	modifies the giv's biv, and we can't calculate an adjustment.
+	(emit_iv_add_mult): Remove static definition so that it is callable
+	from unroll.c.
+	(check_dbra_loop): Reversed biv's must be marked as such, so that
+	they can be treated specially in the rest of loop.c.
+	(final_biv_value): Moved to unroll.c, alongside the new function
+	final_giv_value.  Extensively rewritten to work for most common
+	cases.
+	(update_reg_last_use): Verify that insns have a valid luid before
+	trying to use it.  Don't perform any action if no value luid.
+	(get_condition): Correct initial comment.
+	(get_condition_for_loop): Remove static definition so it is callable
+	from unroll.c.
+
+	* integrate.h: Replace `tree' use in definition with
+	`union tree_node *' so that tree.h does not have to be included when
+	this file is included.	
+
+	* integrate.c (initialize_for_inline): Pass additional argument,
+	the DECL_INITIAL (fndecl) tree, to gen_inline_header_rtx.  Update
+	and correct comment.
+	(save_for_inline_copying): Copy the decl tree, so that virtual reg
+	instantiation, and loop unrolling, won't affect the saved tree.
+	(copy_decl_tree): New argument, functionbody, which distinguished
+	between calls from save_for_inline_copying and calls from
+	expand_inline_function.
+	(copy_rtx_and_substitute): Return orig instead of aborting when
+	inline_target is zero so that loop unrolling can use this code.
+
+	* gcc.texinfo: Document the new optimization flags -funroll-loops
+	and -funroll-all-loops, the new dump option -dt, and the new named
+	pattern	"decrement_and_branch_until_zero".
+
+	* flags.h: Define two new flags, flag_unroll_loops and
+	flag_unroll_all_loops.
+
+	* emit-rtl.c (gen_inline_header_rtx): New argument
+	original_decl_initial.  Pass to gen_rtx call.
+
+	* alliant.md, m68k.md: Name the pattern that uses the REG_NONNEG
+	note to "decrement_and_branch_until_zero".
+
+	* Makefile.in: Add source file unroll.c and header file loop.h to
+	the cc1 dependencies.  Add *.cse2 to the list of files deleted by
+	`make clean'.
+
+Thu Apr  4 16:13:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* varasm.c (assemble_constructor, assemble_destructor): New functions.
+	They use ASM_OUTPUT_CONSTRUCTOR and ASM_OUTPUT_DESTRUCTOR.
+	* cplus-decl2.c (finish_file): Use them.
+
+	* reload.c (find_reloads): Pass location as outloc for output reload.
+
+	* objc-actions.c (objc_class_id, synth_module_prologue):
+	Initialize new variable to hold identifier for "objc_class".
+
+	* objc-actions.c (objc_comptypes): Allow assigning between types
+	id and Class without warning.
+
+	* c-typeck.c (warn_for_assignment): When there is a type mismatch
+	in the hidden arguments of a message expression, don't print the
+	argument number as 0 or -1.  Instead print the warning as would
+	be done	for an explicit call to objc_msgSend (this should never
+	happen, but just in case).
+
+	* emit-rtl.c (gen_lowpart): Reverse #if for CONST_DOUBLE case.
+
+Thu Apr  4 13:27:02 1991  Michael Meissner  (meissner at osf.org)
+
+	* hard-reg-set.h (SET_HARD_REG_BIT, CLEAR_HARD_REG_BIT,
+	TEST_HARD_REG_BIT): Use unsigned arithmetic to isolate the word and
+	bit number, which produces better optimized code.
+
+Thu Apr  4 07:34:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (relax_delay_slots): Avoid adjusting LABEL_NUSES if the
+	insn is a conditional return.
+
+	* reload1.c (reload): If we find that a replacement cannot be
+	done and that replacement now enables a secondary replacement,
+	this may disable a third replacement in some cases.
+	(eliminate_regs, case SET): Don't stop after we find the first
+	match when looking for modified registers.
+
+	* combine.c (previous_num_undos): New var.
+	(try_combine): Set it after each call to subst.
+	When substituting I1 into I2, somtimes make a copy of PATTERN (i2).
+	(gen_rtx_combine): Start at PREVIOUS_NUM_UNDOS.
+
+	* combine.c (can_combine_p): Start check for volatile references
+	after INSN, not at INSN.
+
+	* combine.c (try_combine): When we find a split point, ensure
+	that I2 is a register.  If it is of the wrong mode, change the
+	mode if we can, just like we do with CCmode registers.
+	(find_split_point): Don't split an extraction if it crosses the
+	boundary given by the field (i.e., a byte boundary if QImode).
+	Correct typo: Should generate LSHIFTRT, not LSHIFT.
+	(subst): Correctly test to see if we can change the mode of
+	a register for a MODE_CC comparison.
+	(distribute_notes): If a NOTE references a pseudo-register,
+	ensure it references the latest copy of that register.
+	When scanning for last use, don't stop at CALL_INSNs.
+
+	* combine.c (expand_compound_operation): Don't get confused about
+	(zero_extend (asm_operands ..)) because of the VOIDmode ASM_OPERANDS.
+	(simplify_and_const_int): Ensure we do computations in proper mode.
+	Simplify ZERO_EXTRACT and ZERO_EXTEND when we have a PLUS.
+	(significant_bits): Don't call get_last_value on a SUBREG, just REG.
+	Correct significant bits for comparison operations.
+	(simplify_shift_const): When VAROP is logical, use proper mode when
+	computing shifted constant.
+
+	* combine.c (gen_lowpart_for_combine): Call gen_lowpart if we have
+	a CONST_DOUBLE.
+
+	* genconfig.c (walk_insn_part, main): Write a definition
+	for HAVE_lo_sum if a LO_SUM is present in the machine description.
+
+	* combine.c (try_combine): If we have a PARALLEL of a SIGN_EXTEND
+	and a load of memory, split it into a load and SUBREG assignment.
+	(find_split_point): If we have LO_SUM for this machine,
+	split (mem (symbol_ref ..)) using HIGH and LO_SUM.
+	If we have operation with second operand constant, maybe we couldn't
+	fit the constant in the insn, so try to split there.
+	Move NOT to first operand so we'll try to split the other operand
+	first.
+	(subst): No reason to avoid making paradoxical SUBREGs and we miss
+	some optimizations if we don't.
+	Convert (lo_sum (high FOO) FOO) to FOO.
+	Convert (C1 + (x + C2) to (C1 - C2) - x.
+	Use distributive law in more places with logical operations.
+	(apply_distributive_law): Properly distribute IOR over XOR.
+	(simplify_shift_const): Simplify (ashift (plus ..) ...).
+	(simplify_comparison): Add code to remove extraneous AND
+	operations when comparing result of two comparisons on some machines.
+	Ignore bits not applicable in our mode.
+	Treat some SUBREGs as ZERO_EXTENDs.
+	Convert equality comparison of AND with sign bit into LT or GE
+	comparison.
+	
+	* combine.c (gen_binary, gen_unary): New functions.
+	(apply_distributive_law, simplify_shift_const): Use gen_binary.
+
+Wed Apr  3 16:15:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (gnulib): Insert only .o files in combined archive.
+	(gnulib1.portable): Use $(HPXT).
+	* make-hp9k320g: Define HPXT.
+
+	* From wilson@cygnus.com.
+	* sched.c (schedule_block): Delete previously unused variable last_q.
+	Correct handling of registers with multiple lifetimes within a single
+	block, always save lifetime info, and clear the appropriate bit in
+	old_live_regs.  Delete now unused variable sched_reg_n_sets.
+
+Wed Apr  3 07:43:35 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-romp.h (CONST_COSTS): All CONST_INTs are cost 0.  Symbolic
+	values cost two insns.
+
+	* function.c (fixup_var_refs_1): Correctly perform position
+	computation for bit extracts; disallow mode-dependent addresses.
+	(optimize_bit_field): Likewise.
+	Remove explicit mention of HImode and QImode by calling mode_for_size.
+	No need to check for offsettable_address_p; we call change_address
+	and are not called after reload; don't call adj_offsettable_operand.
+	* recog.c (validate_replace_rtx_1): Correct endian computation
+	and don't change mode of a MEM with a mode-dependent address.
+
+	* expmed.c (expand_divmod): Try to figure out what mode will be used
+	and convert to that once at the beginning, rather than repeatedly,
+	since we may be writing jumps.
+
+	* vax.md ({zero,sign}_extract patterns): Field width is QImode, not
+	SImode.
+
+Tue Apr  2 08:42:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_ternary_operation): Add argument for previous
+	mode of operand 0.
+	Don't do anything for extractions if bits don't fit in OP0_MODE.
+	Use OP0_mode instead of mode of OP0 for endian correction.
+	(fold_rtx): Pass new operand to simpllify_ternary operation.
+	* integrate.c (subst_constants): Add extra arg to call to
+	simplify_ternary_operation and call for rtx class 'b'.
+	* combine.c (find_split_point): Don't split an extract when the
+	bits are outside the mode of operand 0.
+	(subst): Pass new parameter to simplify_ternary operation and call
+	for rtx class 'b'.
+	(subst, case ZERO_EXTRACT): Don't change the mode of a MEM
+	if it is a mode-dependent address.
+	Correctly do endian adjustments so they are correct for fields that
+	go outside a byte boundary.
+	(subst, case {ZERO,SIGN}_EXTRACT): Don't adjust MEM here for non-dest
+	objects; already done in make_compound_operation.
+	(make_compound_operation): Rework code that makes extracts and
+	extends to correcty compute positions, taking into account the fact
+	that field can cross byte boundaries.  Remove redundant adjustments.
+	Use mode_dependent_address_p to validate changing modes of MEM.
+	(simplify_shift_const): Check for mode-dependent address when
+	changing mode of a MEM.
+	(gen_lowpart_for_combine): Likewise.
+
+	* expmed.c (expand_shift): Code to use extzv for logical right shift
+	had numerous assumptions about specific modes and did not validate
+	operands properly.
+
+	* expr.c (expand_expr, case NOP_EXPR): If no target was specified,
+	use convert_to_mode instead of convert_move; this may return a SUBREG.
+
+	* expr.c (do_jump): Conversion isn't NOP if it narrows the object.
+	If testing A & CONST and the result fits in a smaller mode, try
+	the compare there.
+
+	* cse.c (simplify_binary_operation): If eliminating reference to
+	operand, verify	that it has no side effects.
+	Add cases for "a | (~a)" and "a & (~a)".
+
+	* recog.c (register_operand): Only call general_operand for
+	(subreg (mem ...) X), not all SUBREGs.
+
+	* jump.c (jump_optimize): Remove needless incrementing of LABEL_NUSES
+	which can cause a dead label not to go away.
+
+Mon Apr  1 19:08:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Add missing call to insert_regs.
+
+Mon Apr  1 18:21:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* optabs.c (init_optabs): Change #if to #ifdef.
+
+	* loop.c (check_dbra_loop): Take out Feb 24 change.
+
+Sun Mar 31 22:43:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* final.c (insn_counter): New variable.
+	(final_scan_insn): Increment it.
+	(output_asm_insn): Use it for %=.
+
+Sun Mar 31 22:16:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-a29k.c (output_prolog): Correctly write stack size in tag word.
+
+	* out-a29k.c (srcb_operand): If QImode, any constant is OK since
+	we only care about 8 bits.
+	(print_operand): Add %Q for QImode srcb values.
+	* a29k.md (QImode patterns): srcb's that accept constants should have
+	'n' constraint, not 'I'; use %Q to output.
+
+	* reload1.c (gen_input_reload): Properly generate reload when we are
+	adding a pseudo and a hard register.
+
+	* cse.c (simplify_unary_operation): Don't use ffs.
+
+Sun Mar 31 20:59:52 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* gnulib1.c (perform_ash{l,r}si3): Fix typo that had these
+	performaces swapped.
+
+Sun Mar 31 13:35:50 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* rtl.h (FIND_REG_INC_NOTE): New macro.
+	* rtl.h (AUTO_INC_DEC): Define here.
+	* flow.c (AUTO_INC_DEC): Not here.
+	* combine.c (can_combine_p, try_combine): Use FIND_REG_INC_NOTE.
+	Make other scans for REG_INC notes conditional on AUTO_INC_DEC.
+	* final.c (final_scan_insn): Use FIND_REG_INC_NOTE.
+	* jump.c (delete_jump): Likewise.
+	* loop.c (get_condition): Likewise.
+	* reload.c (find_reloads_address_1, find_equiv_reg): Likewise.
+	* reload1.c (reload_as_needed): Likewise.
+	* reorg.c (delete_scheduled_jump, mark_set_resources): Likewise.
+	* global-alloc.c (global_conflicts): Likewise.
+
+	* dbxout.c (dbxout_type): For integers, reals, and arrays,
+	use actual type number of int or char, in case those are not 1 and 2.
+
+	* toplev.c (compile_file): Take out last change (regarding lang_init).
+
+	* emit-rtl.c (sequence_element_free_list): Change data type.
+	(get_last_insn_anywhyere, add_insn_after): Finish last change.
+
+	* expr.c (expand_builtin): Finish last change.
+
+Sat Mar 30 15:16:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* function.h (struct sequence_stack): New data type.
+	(sequence_stack): Declare variable.  Use new data type.
+	* emit-rtl.c (get_last_insn_anywhere, add_insn_after): Adapt to that.
+	(start_sequence, end_sequence, in_sequence): Likewise.
+	(start_sequence): Allocate stack links as permanent.
+	(init_emit_once): Init sequence_stack here.
+	(init_emit): Not here.
+	* function.c (push_temp_slots, pop_temp_slots):
+	(expand_function_end): Use in_sequence.
+	(fixup_var_refs): Use new data type.
+	(put_var_into_stack): Don't declare sequence_stack.
+
+	* function.c (expand_function_start):
+	Trace static chain properly past first link.
+
+	* ns32k.md (andcbhi3, andcbqi3): Constraint shouldn't say commutative.
+
+Sat Mar 30 02:06:20 1991 North-Keys (erlkonig at apple-gunkies.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Fix typo `integer_tpe_node'.
+	* dbxout.c (dbxout-symbol): Added char * declaration for `name'.
+	* objc-actions.c (encode_array): Avoid returning a value.
+
+Fri Mar 29 15:59:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Define __builtin_constant_p.
+	* expr.c (expand_builtin): Implement it.
+	* tree.h (enum built_in_function): New alternative.
+
+	* toplev.c (compile_file): Move lang_init call after debugger init.
+
+	* gcc.c (default_compilers): Define __cplusplus for C++ code.
+
+	* c-decl.c (start_function): Use 0 for name of result decl.
+	(value_identifier): Variable deleted.
+
+	* dbxout.c (dbxout_type): Handle LANG_TYPE.
+	(dbxout_symbol): Handle RESULT_DECL.
+	Handle variables with constant values that are not output.
+	Use the mangled name when appropriate.
+	(dbxout_tags): Output equivalent typedef when appropriate.
+	(dbxout_function): Output the DECL_RESULT if it has a name.
+
+	* varasm.c (assemble_variable): Delete calls to set_current_gdbfile.
+
+Thu Mar 28 16:14:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (main): Calculate basename_length to exclude last period.
+
+	* optabs.c (expand_binop, expand_unop):
+	When widening, don't keep CONST_INT beyond a single word.
+
+	* tm-vax.h (CHECK_FLOAT_VALUE): Change float max to ...444e+38.
+
+	* Makefile.in (gnulib1, gnulib2.portable):
+	Make test of $$? normally succeed, not normally fail.
+	(gnulib1): Don't use -e in second loop.  Test explicitly instead.
+
+	* dbxout.c (lastfile): New static variable.
+	(dbxout_init): Initialize lastfile.
+	* final.c (lastfile): Deleted.
+	(init_final): Don't set lastfile.
+
+	* final.c (set_current_gdbfile): Function deleted.
+	(output_source_line): Handling of GDB debugging info deleted.
+	(final_start_function, final_end_function): Likewise.
+
+Thu Mar 28 09:58:18 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* cplus-decl.h (decl_context): Add missing declaration for BITFIELD.
+
+	* tm-sparc.h (CC1_SPEC): Change to handle new interpretation of -O2.
+	(OPTIMIZATION_OPTIONS): Use this macro to control default expensive
+	optimizations.
+	(MODES_TIABLE_P): Use GET_MODE_CLASS to simplify this macro.
+	(FUNCTION_ARG,FUNCTION_ARG_PARTIAL_NREGS): Make sure TYPE is nonzero
+	before we use it.
+	(FUNCTION_BLOCK_PROFILER): Fix a bug in the asm code.
+	(EXTRA_CONSTRAINT): For 'S' constraint, if OP is a register, make
+	sure it's not a pseudo.  Also, change call to `memory_address_p' to
+	`strict _memory_address_p'.  Both of these are for the strict cases.
+	(SLOW_BYTE_ACCESS): Try going with this set 1.
+	* sparc.md: Take advantage of new combiner to handle signed bitfield
+	comparisons and signed sub-word comparisons.
+	Added peepholes for doing subword memory tests and operations.
+
+Thu Mar 28 09:43:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (start_sequence, gen_sequence): Ensure we allocate rtl
+	on saveable_obstack since we will be saving it and we may be called
+	from an optimizer that will reuse allocated memory in current_obstack.
+
+Wed Mar 27 18:46:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (main): Print version with -version, regardless of
+	-quiet.
+
+	* Makefile.in (gnulib, gnulib2.ready): Put `-' before `if'.
+
+	* make-hp9k320, make-hp9k320g (CC, OLDCC): Delete -lsetjmp.
+	Add -Wc,-Nw2000.
+
+	* dbxout.c (dbxout_source_file): New name for fn moved from final.c.
+	* final.c (output_source_file): Moved to dbxout.c.  Callers changed.
+	(output_source_line): Call dbxout_source_file.
+
+Wed Mar 27 11:09:13 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* version.c: Bumped to version 1.92.
+
+	* final.c (output_source_{file,line}): Fix bug in new handling of
+	"Ltext".
+
+	* cplus-cvt.c (build_up_reference): Handle BIND_EXPR.
+
+	* Makefile.in (cplus-lex.o): depend on cplus-input.c.
+	* cplus-input.c: New file.
+
+	* cplus-method.c (do_inline_function_hair): Call a different
+	`prepare_inline', and don't deal with pending_inlines here.
+	* cplus-lex.c (do_pending_inlines): Deal with pending_inlines
+	here...
+	(reinit_parse_for_method): ...and here.
+
+	* cplus-decl.c (grok_ctor_properties): Use TYPE_NAME_STRING where
+	appropriate.  Also, don't assume that CURRENT_CLASS_TYPE is what we
+	use for error message; use CTYPE instead.
+
+	* cplus-type2.c (digest_init): Strip NON_LVALUE_EXPRs.
+
+	* cplus-tree.c (__eprintf): Added this function from gnulib2 until
+	gnulib configuration is worked out.
+
+	* cplus-parse.y (member_init): Call do_member_init.  Previous code
+	was wrong (using a goto to factor common code) because the parse
+	stack was different in the two contexts.
+	* cplus-init.c (do_member_init): New function.
+
+	* cplus-typeck.c (build_compound_expr): Convert arrays to pointers.
+	(build_c_cast): Warn about possible alignment problems.
+
+Wed Mar 27 05:55:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads): Disallow a PLUS as an operand even if
+	"g" is in the constraint; this is only valid for "p".
+
+Tue Mar 26 06:46:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* local-alloc.c (block_alloc): Have insn numbers start at 1, not 2.
+
+	* rtlanal.c (replace_regs): Move to here; add new parameter.
+	* loop.c (replace_regs): Delete from here.
+	(move_movables, strength_reduce): Pass new parameter to replace_regs.
+	* jump.c (duplicate_loop_exit_test): Make new pseudos for pseudos
+	used only in loop exit test; this prevents unnecessay sharing
+	between code inside and outside of loop.
+	* toplev.c (rest_of_compilation): Call reg_scan before jump.
+
+	* combine.c (distribute_notes): If we are searching back for the last
+	use of a register I3 and I2 no longer use and the last use is a SET
+	of that register, place a REG_UNUSED note instead of a REG_DEAD note.
+	No longer need handle REG_DEAD note for output of I3; it will now be
+	a REG_UNUSED note.
+
+	* combine.c (try_combine): If I3SRC is a register and I2 is a
+	multi-output insn, see if we can replace one of the outputs with
+	I3DEST.  If so, move LOG_LINKS pointing at the other outputs to
+	now point to I3 instead of I2.
+
+	* rtlanal.c (single_set): Return 0 if not an insn.
+	Only ignore SET with unused output if it has no side effects.
+	(side_effects_p): New function.
+	* combine.c (can_combine_p): Only ignore SET with unused output if
+	it has no side effect.
+	Don't extend the life of a hard register.
+	(try_combine): Always give up if I1 or I2 used reg inc'd in I3.
+	(significant_bits): Return mode mask if mode wider than host int.
+	Don't get confused by (zero_extend (const_int ..)) and similar where
+	the inner mode is VOIDmode.
+	Arithmetic operations now always have same modes on operands as
+	on the result.
+
+	* jump.c (jump_optimize): Set this_is_{simple,cond}jump at the start
+	of loop, not in middle, and use consistently.
+	Use can_reverse_comparison_p in case where we make scc insn.
+	Don't use can_reverse_comparison_p when we call invert_jump.
+	Use indirect_jump instead of indirect_exp.
+	Check invert_jump's result before making any other changes; handle
+	failure.
+	Simplify code that looks for and deletes USE insns.
+	(jump_back_p): Call can_reverse_comparison_p only if we have to
+	reverse the comparison.
+	(can_reverse_comparison_p): Accept comparison expression and insn
+	it comes from.
+	Rework to be more general now that we have MODE_CC and tighten
+	up a bit.
+	(invert_jump): Allow invert_exp and redirect_jump to fail.
+	(invert_exp): Only invert jump, don't change target.
+	If can reverse comparison code, try it using validate_change.
+	If that doesn't work, swap the arms of the IF_THEN_ELSE.  If that
+	doesn't work, return 0.
+	(redirect_exp): Now static.
+	* expr.c (do_jump_for_compare): Call invert_jump to invert jump
+	to false label after emitting jump; if this fails, convert to
+	jump around unconditional jump to false label.
+	(do_store_flag): Set to 1 first, then branch, then set to 0.  This
+	avoids inverting branches.
+	* reorg.c (optimize_skip, relax_delay_slots): Always allow invert_jump
+	to fail.
+	* rtlanal.c (single_set): Return 0 if not INSN, CALL_INSN,
+	or JUMP_INSN.
+
+	* reload1.c (eliminate_regs): If any eliminable regs occur in a USE,
+	eliminate them.
+
+Tue Mar 26 00:09:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (implicitly_declare): Always make implicit decl permanent.
+
+Mon Mar 25 16:38:14 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* genextract.c (walk_rtx): Record operand numbers that are seen.
+	(gen_insn): If there are gaps in operand numbers, make code to store
+	something for the operands not used in this pattern.
+	(main): Initialize data structures.
+
+	* c-typeck.c (initializer_constant_valid_p):
+	Always allow length-preserving conversions between integer types. 
+
+	* regclass.c (reg_class_record): Return right away if operand is 0.
+
+	* c-decl.c (duplicate_decls): Warn if declare fcn inline after calls.
+
+	* reload.c (combine_reloads):
+	Test reg_overlap_mentioned_p in both directions.
+
+Mon Mar 25 15:05:29 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* genoutput.c (output_epilogue): Choose a name for an unnamed
+	pattern as an offset from the closest named pattern.  Define
+	`insn_name_ptr' as a pointer to `insn_name' for use by print_rtx.
+	* final.c (output_asm_insn): Use the pattern name chosen by
+	genoutput and output the INSN_UID as well.
+	* rtl.c (insn_name_ptr): Provide an alternate definition to avoid
+	link errors when rtl.o is not linked with insn-output.o.
+	(print_rtx): When printing the INSN_CODE field of an insn, print
+	the name if it is available.
+
+Mon Mar 25 09:39:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* regs.h (reg_first_use): Deleted.
+	* rtl.h (REG_UNSET): Deleted.
+	(REG_UNUSED): New note.
+	* combine.c (combine_instructions): Delete loop fixing up
+	reg_first_use.
+	(can_combine_p): Ignore a branch of a PARALLEL if its output is
+	never used.
+	(move_deaths): Don't update reg_first_use.
+	(distribute_notes): Don't handle REG_UNSET; add code for REG_UNUSED.
+	* flow.c (reg_first_use): Deleted.
+	(life_analysis): Restore code that marks vars live at start of function
+	as globals.  These are registers that were never set.
+	(allocate_for_life_analysis): Don't allocate reg_first_use.
+	(propagate_block): Search for cc0-setting insn with prev_nonnote_insn.
+	(mark_set_1): Don't set reg_first_use.
+	If register is never used, make REG_UNUSED note, not REG_DEAD.
+	(mark_used_regs): Don't set reg_first_use.
+	* global-alloc.c (global-conflicts): Dead outputs are now denoted by
+	REG_UNUSED notes, not REG_DEAD.
+	* reload.c (find_dummy_reload): Delete test of REG_UNSET; add test
+	of REG_UNUSED.
+	(find_equiv_reg): Don't re-use an output marked as REG_UNUSED;
+	we want these notes to be accurate; this would rarely win anyway.
+	* reload1.c (emit_reload_insns): Test REG_UNUSED to see if an
+	output won't be used any more.
+	* reorg.c (mark_target_live_regs): Use REG_UNUSED notes to kill	
+	registers dead after an insn.
+	* rtl.c (reg_note_name): Delete REG_UNSET, add REG_UNUSED.
+	* rtlanal.c (single_set): Ignore a SET whose output has a REG_UNUSED
+	note.
+	* sched.c (update_first_use): Deleted.
+	(update_links): No need to call update_first_use.
+
+	* local-alloc.c: Major changes to use REG_UNUSED notes, make
+	handling of only-set registers more consistent, and allow
+	two consecutive CLOBBERs to share a register.  Also, avoid loops
+	over all register each basic block; eliminating these make local-alloc
+	three times faster!
+	Quantity numbers now start at zero.
+	(qty_first_reg, reg_next_in_qty): New variables.
+	(qty_clobber): No longer needed.
+	(reg_qty): -1 if register cannot be allocated by local-alloc.
+	Now undefined for hard registers.
+	(reg_offset): Now char *.
+	(call_seen): Deleted, never used.
+	(regs_live_at): Now two entries per insn.
+	(alloc_qty): Initialize chain of register in quantity.
+	(local_alloc): Remove all per-block loops over registers.
+	Only allocate qty_... vars for max_reg - FIRST_PSEUDO_REGISTER.
+	Initialize reg_qty once per function.
+	Don't initialize qty_... vars that are always set before use.
+	(block_alloc): Delete insn_map, max_uid, and call_used.
+	Insn numbers start at 1 and we have two entries in regs_live_at
+	for each insn.
+	Search for REG_NO_CONFLICT block when we see a CLOBBER insn; this
+	avoids having already seen sets to the output register.
+	Call wipe_dead_reg for anything in a REG_UNUSED note.
+	Delete references to reg_first_use.
+	Don't check for invalid birth and death here.
+	Don't call qsort if we have 0 or 1 quantities.
+	Find all registers for a quantity using reg_next_in_qty chain instead
+	of looping over all pseudos.
+	(combine_regs): Refine tests to agree with new conventions.  
+	Never tie pseudos if SREG already has a quantity assigned.
+	When updating size, use reg_next_in_qty instead of looping over
+	all registers.
+	(reg_is_set): Just call reg_is_born.  Where it is born depends on
+	whether we have a CLOBBER or not.  Birth location is now twice
+	the insn number.
+	(reg_is_born): Handle case when a hard reg is born before the
+	current insn.
+	Show we don't know the death location.
+	(wipe_dead_reg): Parameters are now just register and an in/out flag.
+	Death locations are now twice the insn number.
+	Support hard regs that die immediately after current insn.
+	Don't make REG_UNSET notes.
+	(find_free_reg): Validate BIRTH and DEATH here.
+	We no longer have qty_clobber.
+	(post_mark_life): Eliminate CLOBBER parameter.
+	(no_conflict_p): Now passed CLOBBER at start of block.  Return 0 if
+	can't find death note or if R1 is a hard register.
+
+	* m68k.md (divsi3, udivsi3): Remove patterns.  Using divmodsi4 and
+	udivmodsi4 produces better code.
+	(divmodsi4, udivmodsi4): If remainder isn't needed, use divsl/divul
+	instead of divsll/divull.
+
+	* integrate.c (expand_inline_function): Remove change of March 20th.
+	Instead, expand args in two passes.  First, expand all that go
+	into registers.  Then do those in memory with store_expr.
+
+	* integrate.c (initialize_for_inline): Put the original copy of the
+	address into ARG_VECTOR; the new one will be modified.
+
+	* reload.c (push_reload): Handle paradoxical SUBREGs on an output
+	as well as an input.
+
+	* flow.c (mark_label_ref): Don't blow up when X is 0.
+
+	* combine.c (make_compound_operation): Fix typos; result of 
+	exact_log2 is interesting if >=0.
+
+	* a29k.md (store_multiple): Allow gen_store_multiple{_no,}_bug to fail;
+	we fail if they do.
+
+	* reorg.c (emit_delay_sequence): Record that we deleted a BARRIER
+	and restore it precisely on those occaisions.
+
+Sun Mar 24 21:19:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (xmalloc, xrealloc): Change error message.
+	* toplev.c (various): Change error messages.
+
+	* final.c (final_scan_insn): Handle ASM_OUTPUT_LOOP_ALIGN.
+
+	* calls.c (emit_call_1): Pass number of bytes to pop to call_pop.
+	* vax.md (call_pop, call_value_pop): Use that arg.
+
+Sat Mar 23 23:28:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (version): Run awk, not gcc, to get this value.
+
+Sat Mar 23 18:04:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_unary_operation): Add missing cases for ABS and FFS.
+
+	* alliant.md: Eliminate unneeded patterns: HImode zero_extract, 
+	(set (cc0 (subreg ...))), (set (cc0) (and ...)),
+	(and (zero_extend ...) ...), shift right of 24 and 16.
+	Use alternatives to select assembler template when possible.
+	Use const_int_operand instead of immediate_operand when
+	possible to avoid explicit test for CONST_INT.
+	Write add-and-branch patterns with PLUS removed, the way combine
+	produces them.
+
+	* rtlanal.c (refers_to_regno_p): If X is a SUBREG of a hard
+	register, treat it as if it were the appropriate register.
+	CLOBBER doesn't refer to anything.
+	
+	* final.c (final_scan_insn): Use prev_nonnote_insn, not PREV_INSN,
+	to find cc0-setting insn from cc0-using insn.
+
+	* global-alloc.c (find_reg): Don't look for other registers to
+	renumber unless we know that we are sharing registers.
+
+	* emit-rtl.c (end_sequence): Fix typo that prevented speedup of
+	Dec 26th from doing anything.
+
+	* toplev.c (do_abort): New function, just calls abort.
+	(main): Set lang_expand_expr to address of do_abort; abort might be
+	a macro that is more than just a function name.
+
+	* cse.c: (qty_... variables): Refined to be undefined for indices
+	less than MAX_REG.  Thus, we need not intialize them at the start
+	of a basic block and can instead inialize a quantity as we create it.
+	(reg_{next,prev}_eqv): These variables will now be defined only when
+	reg_qty[N] != N and hence need not be initialized every block either.
+	(new_basic_block): Need not initialize reg_rtx for new block; the
+	only time we can inherit values from previous blocks is for hard
+	regs and it doesn't matter in that case.
+
+	* c-parse.y (yylex): Avoid use of size_t; it may not be defined.
+	Cast alloca to (char *).
+
+	* out-romp.c (update_cc): cc_status.value[12] can also be a COMPARE,
+	so use reg_overlap_mentioned_p to see if an insn that modifies a
+	register invalidates cc0.
+
+	* reorg.c (link_cc0_insns): If next insn is a SEQUENCE, the insn
+	using cc0 is the first insn in the sequence.
+	(mark_target_live_regs): Don't assume that a REG_DEAD note always
+	refers to a register.
+
+Sat Mar 23 15:35:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload1.c (reload_reg_free_before_p):
+	An input reload is use before an output or output address reload.
+
+	* genoutput.c (validate_insn_alternatives): New function.
+	Loop over insn's alternatives to find out how many
+	alternatives the insn pattern is to support.  Verify that if
+	any alternatives are specified for a given operand that the
+	number of alternatives match the numer of alternatives for
+	this insn.
+	(gen_{insn,peephole,expand,split}): Call
+	`validate_insn_alternatives' after scanning the insn.  This
+	sets up the value N_ALTERNATIVES for the insn so that
+	`process_template' can check that the number of alternitves
+	given matches the number of asm choices for `@' constructs.
+
+Sat Mar 23 08:09:57 1991  Michael Meissner  (meissner at osf.org)
+
+	* dbxout.c (toplevel, dbxout_init): Instead of always using `Ltext'
+	as the label at the beginning of the text region, properly localize
+	it, so that machines which do not put leading underscores in front
+	of external names do not have a problem if the user uses `Ltext'.
+	(dbxout_init): Call text_section before putting out localized
+	`Ltext', in case ASM_FILE_START put us into a different section.
+
+Fri Mar 22 19:26:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md (jumpfdec): Simplify pattern to match what combine will
+	produce; remove reversed pattern.
+	* out-a29k.c (gen_reg_operand): Speed up by not calling
+	register_operand; check register number ourself.
+
+	* out-romp.c (update_cc, case CC_COMPARE): Call CC_STATUS_INIT.
+	* romp.md: In pattern that sets cc0 and copies a register to another
+	register, allow the output to be in memory so that we don't get an
+	output reload, which will cause problems.
+
+	* varasm.c (assemble_variable): Ensure DECL_INITIAL is non-zero
+	before we reference it; it might be zero if -fno-common.
+
+Fri Mar 22 16:11:35 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (abort): Don't declare if defined as macro.
+
+Fri Mar 22 11:49:43 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (bxxu): Don't attempt to use bcnd.
+	(umulsi3, ashift/and): Remove these patterns.
+	(dummy): This must be a define_expand.
+	* out-m88k.c (m88k_handle_pragma_token): Handle #pragma weak.
+	* tm-m88k.h, tm-m88kdgux.h, tm-m88ksvr4.h, tm-v88r32.h: Various
+	changes to support SVR4, including support for #pragma weak.
+	(SLOW_BYTE_ACCESS): Better code if this is true.
+
+Thu Mar 21 09:15:47 1991  Tom Wood  (wood at gen-rtx)
+
+	* c-parse.y (MULTIBYTE_CHARS): New macro.
+	(init_lex): Change to the native locale.
+	(yylex): Process wide character literals and wide character string
+	literals using mbtowc and mbstowcs based on MULTIBYTE_CHARS.
+
+Thu Mar 21 15:46:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (dead_or_set_p): A register is dead if it is assigned
+	via a SUBREG that references the all the words in the register.
+
+	* tm-vax.h (CONST_OK_FOR_LETTER_P): Define `I' to be constant zero.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Define `G' to be floating zero.
+	(CONST_COSTS): +/- 1 should be very cheap due to decl/inc/aob/sob.
+	(PRINT_OPERAND): Add `P', `N', `H', and `B'.
+	* vax.md: Rework many patterns to avoid C code for output template;
+	use "@" construct whenever possible.
+	Use INSN_DELETED_P.
+	Remove extendsidi2; the supplied pattern does exactly what convert_move
+	will do when the pattern is not present.
+	Use constm1_rtx to check for constant of -1.
+	Add mulsidi3 and related add-multiply pattern for emul insn.
+	Use const_int_operand as predicate instead of checking for CONST_INT.
+	Remove unneeded (set (pc) (if_then_else (ne (and ...) ...) ...))
+	patterns.
+	Merge jlbs and jbs and similarly for jlbc and jbc.
+	Remove unneeded reverse branch patterns for above insns.
+	Rewrite patterns for add-and-branch insns to take into account
+	simplifications done by combine and remove reversed cases.
+	Convert peepholes for optimizing extzv followed or preceeded by andl
+	into patterns for a single insn.
+
+Thu Mar 21 15:46:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (abort): Declare it.
+
+Thu Mar 21 08:16:12 1991  Michael Meissner  (meissner at osf.org)
+
+	* va-mips.h (whole file): Replace with the 1.39 version of this
+	file, which was a total rewrite of the 1.37.1 version.  Add
+	primitive support for 2.00.
+
+Wed Mar 20 18:31:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (duplicate_loop_exit_test): Make copy of contents of
+	register note; if it was a REG_EQUAL note, it might have been an
+	arbitrary expression and sharing it can cause problems in cse.
+
+	* rtl.def (UMULT): Remove unsigned multiply code.
+	* combine.c (subst, significant_bits): Remove code UMULT and
+	support for indicating widening multiply with different modes
+	on the MULT operation vs. its operands.
+	* cse.c	(simplify_binary_operation): Remove support for widening
+	multiply.
+	(rtx_code, exp_equiv_p, simplify_binary_operation, cse_insn): Remove
+	code UMULT.
+	* function.c (instantiate_virtual_regs_1): Likewise.
+	* reload1.c (eliminate_regs): Likewise.
+	* local-alloc.c (block_alloc): Likewise; replace with GET_RTX_CLASS.
+	* loop.c (simplify_giv_expr, expr_benefit): Remove code UMULT
+	and support for widening multiply.
+	* optabs.c (init_optabs): Set code of widening multiply tables
+	to UNKNOWN.
+
+	* a29k.md (mulsidi2, umulsidi2): Rewrite using SIGN_EXTEND and
+	ZERO_EXTEND.  Also fix typo in SUBREG_WORD when splitting.
+	* tm-alliant.h, tm-m68k.h (NOTICE_UPDATE_CC): Remove code UMULT.
+	* alliant.md, m68.md (mulhisi3, umulhisi3): Rewrite using
+	SIGN_EXTEND and ZERO_EXTEND.
+	(divhisi3, udivhisi3, modhisi3, umodhisi3): Rewrite using TRUNCATE.
+	* alliant.md, ns32k.md (umulsi3, umulhi3, umulqi3): Remove unneeded
+	patterns that use UMULT.
+	* ns32k.md (umulsidi3): Rewrite using ZERO_EXTEND.
+
+	* tm-alliant.h (NOTICE_UPDATE_CC): MOD and (trunc (mod ...))
+	clobber CC.
+	* alliant.md (mod*, umod*): No longer need CC_STATUS_INIT.
+
+	* recog.c: Include insn-attr.h.
+	(general_operand): If we have insn scheduling, don't allow paradoxical
+	SUBREGs since they can prevent scheduling memory references; they
+	aren't helpful on RISCs anyway and can cause poor register allocation.
+	* Makefile.in (recog.o): Includes insn-attr.h.
+
+	* cse.c (COST): A register only in NO_REGS isn't a specially-cheap reg.
+	(simplify_unary_operation, case {ZERO,SIGN}_EXTEND): If OP_MODE was
+	given as VOIDmode, use MODE; allow mode size of HOST_BITS_PER_INT.
+	(cse_insn): Don't make SET_SRC equal SET_DEST if doing so will cause
+	two registers to be live containing the same value.
+	(cse_end_of_basic_block): Count SETs in CALL_INSNs and JUMP_INSNs.
+
+Wed Mar 20 15:40:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): New macros.
+	(md_exec_prefix, md_startfile_prefix): New variables.
+	(process_command): Put those prefixes on the paths.
+
+	* toplev.c (main): Use abort, not fancy_abort.
+
+	* integrate.c (expand_inline_function): Use emit_block_move
+	to copy BLKmode parm value.  Save size and alignment for this.
+
+	* gnulib2.c (__builtin_saveregs)[MIPS]: Go to text section.
+
+	* final.c (final_scan_insn): Don't go to text after jump-tab label.
+
+Tue Mar 19 21:27:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* tm-a29k.h (SETUP_INCOMING_VARARGS): Always write registers to	
+	0(ap), no matter how many named args are present.
+
+	* combine.c (subst): In IF_THEN_ELSE, canonicalize to put the (pc)
+	in the second operand if we can reverse the comparison.
+	(significant_bits): Support TRUNCATE and SIGN_EXTEND.
+
+	* tm-romp.h (CC_UNSIGNED): New flag for cc_status.
+	* out-romp.c (update_cc, case CC_COMPARE): Record the operands of the
+	compare and mark whether the test will be signed or unsigned.
+	(restore_compare_p): New function.
+	* romp.md (conditional branch and return patterns): Use new
+	restore_compare_p to see if we need to tell final to reinclude
+	deleted compare insn.
+
+	* output.h (const_int_operand): Define.
+	* recog.c (const_int_operand): New function.
+	* out-a29k.c, out-romp.c, out-rs6000.c (const_int_operand): Remove from
+	these.
+
+	* tree.c (rtl_in_saveable_obstack): New function.
+	* varasm.c (immed_double_const, immed_real_const_1): Ensure that things
+	that get placed on the chain are always put into saveable_obstack.
+
+Tue Mar 19 17:21:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* stddef.h (wchar_t): New typedef.
+
+	* out-sparc.c (output_block_move): Handle NO_UNDERSCORES syntax.
+
+	* tm-pbd.h, xm-pbd.h: New files.
+
+	* toplev.c (report_error_function): Don't crash if between functions.
+
+Tue Mar 19 12:58:13 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* sched.c (memrefs_conflict_p): C was being used as offset for X,
+	not for Y.  Flipping + and - in offset uses cleared up this problem.
+	({true,anti,output}_dependence): Add declaration for INSN.
+	(order_calls): Interface changed; now returns void.  All callers
+	changed.
+	(sched_analyze_{1,2}): Make dependence between calls and
+	call-clobbered registers explicit.
+	(sched_analyze): Track last_function_call_not_const.
+	(sched_note_set): New parameter DEATH says whether X is marked for
+	death.  Also, look through SUBREGs and extractions.
+	(rank_for_schedule): Stabilize for qsort.
+	(attach_deaths): We should not end up with more REG_DEAD notes than
+	we started with, so abort if we run out early.
+	(attach_deaths_insn): Handle more complicated cases of registers
+	dying in insns.
+	(unlink_notes): Work from back-to-front instead of front-to-back.
+	(new_sometimes_live): Fix code that looks for an element already in
+	the table.
+	(schedule_block): New variable TAIL_PRIORITY  used to help determine
+	max IPC of scheduled code.  Also, for now we analyze (schedule) all
+	blocks, even ones which won't benfit from scheduling.  This is
+	necessary to keep register live info correct, but has the
+	disadvantage of screwing *all* debug info, not just for the blocks
+	that were scheduled.
+	(update_links): Fix complicated code that was to be a simple
+	head-cons to be a simple head-cons.
+	(schedule_insns): Update REG_LIVE_LENGTH and REG_N_CALLS_CROSSED
+	after scheduling.
+
+	* sparc.md (cmpdf): Define an expand pattern for this.	(Dropped by
+	mistake when converted from old-style to new-style condition codes).
+
+	* out-sparc.c (singlemove_string): Catch case where `sethi' can be
+	used instead of `mov'.
+
+	* gcc.texinfo (Optimize Options): Add documentation about the
+	`-finline' option (actually, the `-fno-inline' option).
+
+	* out-sparc.c (output_block_move): Use `rtx_alloc' instead of
+	`gen_rtx' to cons a CONST_INT whose INTVAL we can change.
+
+	* toplev.c (main): Recognize all -O strings (i.e. -O3, -O69), not
+	just -O and -O2.
+
+Mon Mar 18 22:30:21 1991  Richard Stallman  (rms@mole.ai.mit.edu)
+
+	* expr.c (expand_expr): For TRUTH_ANDIF_EXPR, don't use hard target
+	if not optimizing.
+
+	* combine.c: Fix some comments; reorder the variable declarations.
+
+Mon Mar 18 12:07:03 1991  Matthew Self	(mself@next.com)
+
+	* tm-next.h (WORD_SWITCH_TAKES_ARG):  Return number of args taken.
+
+	* tm-next.h (CPLUSPLUS):  Deleted (obsolete).
+
+	* out-next.c (flag_no_mach_text_sections, handle_pragma):
+	Handle #pragma CC_NO_MACH_TEXT_SECTIONS.
+
+Mon Mar 18 12:12:13 1991  Richard Stallman  (rms at goldman)
+
+	* cplus-pt.c: Renamed from cplus-template.c.
+	* Makefile.in (cplus-pt.o): New target.
+
+	* c-typeck.c (initializer_constant_valid_p):
+	Allow casts that change width only for explicit values.
+	* tree.c (really_constant_p): New function.
+	* expr.c (expand_expr): Handle MINUS_EXPR with EXPAND_SUM.
+
+	* tm-m68k.h (FUNCTION_EXTRA_EPILOGUE): Don't normally define this.
+	* out-m68k.c (use_return_insn): Don't look at FUNCTION_EXTRA_EPILOGUE.
+
+	* out-sparc.c (normal_comp_operator): Replace comparison_code_p.
+
+Sun Mar 17 22:53:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* m68k.md: Delete patterns now converted by combine to simpler
+	patterns or otherwise obsolete.	 Specifically:	ZERO_EXTRACT from
+	an HImode object, setting cc0 to SUBREG or AND, umulhi3, umulsi3,
+	AND of a ZERO_EXTRACT, shifts of 24 and 16 from MEM, and patterns with
+	constants as first operand of comparison operator.
+	Remove COMPARE except as a SET_SRC.
+
+	* alliant.md, tahoe.md, rs6000.md: Remove COMPARE except as a SET_SRC.
+
+	* flags.h (flag_combine_regs): Deleted.
+	* toplev.c: Likewise.
+	* tm-a29k.h, tm-romp.h, tm-rs6000.h (OVERRIDE_OPTIONS): No longer
+	turn on flag_combine_regs.
+
+	* tm-romp.h, tm-rs6000.h (SLOW_BYTE_ACCESS): Set to 1.
+
+	* Makefile.in (combine.o): Include insn-codes.h and insn-attr.h.
+
+	* combine.c: Major rework to support many more simplifications in
+	a more regular manner and support combining three insns into two.
+	The most significant changes are the following:
+	(subst): Remove simplifications involving ZERO_EXTRACT, SIGN_EXTRACT,
+	ZERO_EXTEND, SIGN_EXTEND, AND, and shifts.
+	Call new routines below; in the case of comparisons, handle call
+	find_next_use if we need to change the comparison code or the
+	particular MODE_CC mode required.
+	No need to ever change ASHIFT to MULT here.
+	(expand_compound_operation): New function to convert
+	{ZERO,SIGN}_{EXTRACT,EXTEND} into the appropriate pair of shifts.
+	(make_compound_operation): New function to make
+	{ZERO,SIGN}_{EXTRACT,EXTEND} operations from shifts and ANDs.
+	If we are on a machine (like a Vax) that has only arithmetic shifts,
+	convert logical to arithmetic shifts when it doesn't matter 
+	which shift is used (simplify_shift_const canonicalizes to
+	logical shifts).
+	If inside an address, convert ASHIFT to MULT.
+	(significant_bits): New function to determine which bits of
+	a value are known to be zero.
+	(simplify_and_const_int): Use significant_bits.
+	Call expand_compound_operation when required.
+	Handle AND of an ASHIFTRT with a constant.
+	Don't make ZERO_{EXTEND,EXTRACT} here.
+	(simplify_shift_const): New function to simplify a shift of an
+	an object by a constant integer.
+	(gen_lowpart_for_combine): When applied to a comparison operator,
+	return comparison operator in requested mode.
+	(simplify_set_cc0_and): Deleted.
+	(try_combine): No longer call simplify_set_cc0_and.
+	(reversible_comparison_p): New function.
+	(simplify_comparison): New function.
+
+	(combine_instructions): Allocate and initialize new vars
+	reg_last_set_{table_tick,label,invalid}.
+	(update_table_tick, record_value_for_reg): New functions.
+	(get_last_value_validate, get_last_value): New functions.
+	(record_dead_and_set_regs): Call record_value_for_reg.
+
+	(find_split_point): New function to locate a place where a complex
+	pattern can be split into two insns.
+	(try_combine): If we are combining three insns and can't recognize the
+	new pattern, try to split it.
+	Call new functions below to update insn status.
+	Return insn at which to continue scan.
+	(adjacent_insns_p, add_links, remove_links): Deleted.
+	(add_incs, add_no_conflicts, remove_death, move_deaths_2): Deleted.
+	(move_deaths): Generalize to include movements in both directions.
+	Update reg_first_use when we make an earlier use.
+	(distribute_notes, distribute_links): New functions.
+	(combine_instructions): No longer need check for LOG_LINKS
+	pointing at a NOTE.
+	Rescan from location indicated by try_combine, if any, when
+	combining three insns.
+	Update reg_first_use if we moved a use to a later insn.
+
+	(try_distrib): Deleted.
+	(apply_distributive_law): New function, contains code from old
+	try_distrib.
+	(subst): Call apply_distributive_law for applicable operations.
+	Try to apply associative law.
+	(combine_instructions): No longer call try_distrib.
+	(dump_combine_stats, dump_combine_total_stats, combine_instructions):
+	No longer count distributer statistics.
+
+	(can_combine_p): New function to see if I2 or I1 is combinable.
+	Be more precise about when we can combine insns involving cc0.
+	Eliminate -fcombine-regs; always do it.
+	(try_combine): 
+	Call can_combine_p to validate I2 and I1.
+	If -fexpensive-optimizations, try to simplify I1 or I2.
+	Handle (set (foo) (const_int 0)) followed by a STRICT_LOW_PART
+	assignment to FOO as a ZERO_EXTEND.
+	(subst): Quit very early if X is a root node (like PC0).
+	Remove most canonicalizations done in first switch statement; now
+	done elsewhere.
+	Call simplify_{unary,binary,ternary}_operation.
+	Add cases involving logical and arithmetic operations applied
+	to comparison operators or values with only one significant bit.
+	Add more cases involving ABS since comparisons returning values
+	can be done with ABS.
+	Avoid generating (const (const ...) ...).
+	Convert (xmult (x_extend ...) ...) to a widening multiply.
+
+	(gen_rtx_combine): New function to search for an operation in
+	undobuf.  Many callers to gen_rtx changed to call this function.
+	(copy_substitutions): Only copy a substitution if it was placed into
+	more than one location.
+
+Sun Mar 17 17:26:09 1991  Richard Stallman  (rms@mole.ai.mit.edu)
+
+	* c-common.c (shorten_compare): Warn for (unsigned char) == -1.
+
+	* final.c (final_scan_insn): Set debug_insn before first output.
+	(output_asm_insn): Clear it here.
+
+	* expr.c (do_jump): Don't try to split non-integers.
+
+	* fixincludes (dnetdb.h): Fix missing semi in nodeent.
+	(rusers.h): Code to fix this file was duplicated.
+
+	* toplev.c (decl_printable_name): Now given an extra arg.
+	(decl_name): Accept that arg.
+	(announce_function, report_error_function): Pass that arg.
+	(error_with_decl, warning_with_decl): Likewise.
+
+	* dbxout.c (getwd) [USG]: Define as macro.
+
+	* c-decl.c (init_decl_processing): Indicate byte alignment for void.
+
+	* expr.c (do_jump_by_parts_*): Compute nwords from compare arg.
+	Pass 0 as size and alignment to compare_from_rtx.
+	(do_jump_by_parts_greater): Compare high word first.
+	Handle unsigned compares properly.
+	Fix logic for dropping through versus failing.
+
+	* expr.c (expand_builtin): Change cmpstrsi4 to cmpstrsi as in optabs.c.
+
+	* c-common.c (truthvalue_conversion): Handle ptr vs int in MINUS_EXPR.
+
+Sun Mar 17 15:43:48 1991  Matthew Self	(mself@next.com)
+
+	Allow multiple return points in some framless functions (2/2/91):
+
+	* m68k.md (return):  New insn pattern for rts (and rtd).
+
+	* tm-m68k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
+	USE_RETURN_INSN):	Call new functions to avoid giant macros
+	which are hard to edit.
+
+	* out-m68k.c (output_function_prologue,
+	output_function_epilogue):  New functions.
+
+	* out-m68k.c (use_return_insn):	 New function.	Determines
+	whether the epilogue will consist of a single insn.  Some
+	code was duplicated from output_function_epilogue.  There
+	should be probably a new layout routine to do this common
+	work.  Also #include "flags.h".
+
+	*out-m68k.c (output_function_epilogue):	 Don't output
+	anything if the epilogue was output as RTL.  We detect this
+	by the barrier insn which is always placed after a return
+	insn.  This machine-independent test should probably be moved
+	back into final.c and removed from out-sparc.c and out-m88k.c.
+
+	* out-next.c:  Don't #include "flags.h".
+
+Sun Mar 17 00:07:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genemit.c (gen_exp): Support constm1_rtx.
+	* genrecog.c (add_to_sequence): Likewise.
+
+Sat Mar 16 17:26:58 1991  Richard Stallman  (rms@mole.ai.mit.edu)
+
+	* c-lang.c (maybe_building_objc_message_expr): New dummy function.
+	* c-typeck.c (warn_for_assignment): Use it.
+
+	* toplev.c (compile_file): Write out all static consts that are used.
+
+Sat Mar 16 14:08:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (subst_constants): Don't replace registers in USE or
+	CLOBBER expressions.
+
+	* genattrtab.c (main): Properly set up a default DEFINE_ASM_ATTRIBUTES.
+
+	* cse.c (cse_insn): Correctly check for a hash table element equal to
+	the destination of a SET.
+
+Fri Mar 15 16:55:32 1991  Ron Guilmette (rfg at pepper.ncd.com)
+
+	* Makefile.in (OBJS): Added dwarfout.o to list of things to be
+	built.
+
+	* Makefile.in (dwarfout.o): Added this rule.
+
+	* dwarfout.c (FT_*_long_long): Added default definitions for all of
+	these extended fundamental type codes to cater to plain vanilla
+	<dwarf.h> file which do not define codes for these fundamental types.
+
+	* dwarfout.c (TREE_UID): Added a local definition of this macro
+	because gcc v2 no longer provides a definition for it and because
+	dwarfout.c needs some way of getting a unique numeric code for each
+	type.
+
+	* dwarfout.c (CLASSTYPE_*): Added some local default definitions
+	for these macros in order to get around the fact that they are
+	currently defined only in cplus-tree.h (and rms wants dwarfout.c
+	to be language independent).
+
+	* dwarfout.c (BITFIELD_OFFSET_*): Added some local macros to help
+	compute various quantities relating to bitfield offsets.
+
+	* dwarfout.c (location_attribute): Changed code which outputs location
+	attributes for bitfield so that it uses gcc2 macros.
+
+	* dwarfout.c (byte_size_attribute): Changed code which outputs the
+	byte_size attribute so that it no longer uses the obsolete
+	DECL_SIZE_UNIT macro (from gcc1).
+
+	* dwarfout.c:  Replaced all uses of the obsolete macro TREE_PACKED
+	to uses of the new gcc2 macro DECL_BIT_FIELD.
+
+	* dwarfout.c (deriv_list_attribute): Fixed typo "decl" => "type".
+
+	* dwarfout.c (output_dies_for_type): Replaced bogus reference to the
+	non-existant routine "output_member_function_type_die" with a proper
+	reference to the routine "output_subroutine_type_die".
+
+	* dwarfout.c (output_symbols_for_block): Fixed calling error which
+	was introduced by rms.
+
+	* dwarfout.c: Replaced all uses of the obsolete macro STMT_SUBBLOCKS
+	with uses of the new gcc2 macro BLOCK_SUBBLOCKS.
+
+	* dwarfout.c (output_symbol): Removed reference to TAG_DECL.  The
+	use of TAG_DECLs was an early idea which didn't work out.
+
+	* dwarfout.c: (dwarfout_init): Changed name from dwarfout_initialize
+	because rms failed to do so when he changed the name in the call.
+
+Fri Mar 15 17:22:14 1991  Richard Stallman  (rms@mole.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Add `%s' to some error messages.
+
+	* sparc.md: Add extra assembler alternative in last change.
+
+	* cse.c (simplify_unary_operation, simplify_binary_operation):
+	Remove error checks that rejected SFmode.
+
+	* expr.c (get_pointer_alignment): Don't lose on casts from integer
+	to pointer.
+
+Fri Mar 15 07:57:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (pushdecl): Fix typo in previous change.
+
+	* cse.c (simplify_{unary,binary}_operation): Fix usage of
+	REAL_VALUE_FROM_CONST_DOUBLE in recent change.
+
+Thu Mar 14 18:56:53 1991  Richard Stallman  (rms@mole.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Warn if mismatch with implicit decl.
+
+	* final.c (final_start_function): Handle NON_SAVING_SETJMP.
+	Include hard-reg-set.h.
+	* function.c (setjmp_protect, setjmp_protect_args): Likewise.
+	(expand_function_end): Call those if NON_SAVING_SETJMP.
+
+Thu Mar 14 14:40:45 1991  James Wilson	(wilson at cygnus.com)
+
+	* reload1.c (order_regs_for_reload): When REG_ALLOC_ORDER is defined,
+	use that definition only to order regs, do not try to put call
+	used regs first.  This eliminates the benefits of defining the macro
+	in the first place.
+
+	* real.h: New macros for real arithmetic, REAL_VALUE_FIX_TRUNCATE,
+	REAL_VALUE_UNSIGNED_FIX_TRUNCATE, REAL_VALUE_FIX,
+	REAL_VALUE_UNSIGNED_FIX.
+
+	* cse.c (simplify_unary_operation): Added code to simplify floating
+	point rtx.  Now simplifies UNSIGNED_FLOAT, ABS, FLOAT_TRUNCATE,
+	FLOAT_EXTEND, FIX, and UNSIGNED_FIX.  Add aborts to default case
+	of switches.
+	(simplify_binary_operation): Added code to simplify floating point
+	rtx.  Now simplifies PLUS, MINUS, MULT, and DIV.  Add aborts to
+	default case of switches.
+	(*): Always use REAL_VALUE_TYPE and REAL_VALUE_FROM_CONST_DOUBLE
+	when extracting a floating point number from a CONST_DOUBLE.
+
+Thu Mar 14 14:40:45 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.c (get_pointer_alignment): Update ALIGN for NOP_EXPR.
+
+	* c-decl.c (builtin_function): New arg LIBRARY_NAME.
+	(initialize_decl_processing): Pass that argument.
+
+	* c-decl.c (grokdeclarator): Handle C_TYPE_FIELDS_VOLATILE.
+	(finish_struct): Likewise.
+	* c-tree.h (C_TYPE_FIELDS_VOLATILE): Define it.
+
+	* Makefile.in (gnulib1, gnulib2.portable): Test $$? after compilation.
+
+	* c-typeck.c (check_format): Discard multiple NOP_EXPR levels.
+
+	* objc-actions.c (build_message_expr, build_selector_expr,
+	build_encode_expr, get_class_ivars, start_class):  Finding
+	Objective-C code in c source files is now a fatal error.
+	(They should recompile with -lang-objc.)
+
+	* objc-actions.c (gen_method_decl):  Don't crash for syntax
+	error in method declaration: -bar: x, y
+	(encode_array):	 Treat an undimensioned array the same as a pointer.
+
+Thu Mar 14 07:39:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (try_merge_delay_insns): Previous fix had effect of 
+	disabling this function.  Rework to take into account things
+	needed, instead of set.	 This is still somewhat of a kludge.
+
+	* recog.c (apply_change_group): An insn consisting of just a USE
+	or CLOBBER is always valid, but recog_memoized returns a -1 for it.
+
+	* genattrtab.c: Count all definitions as well as counting insns; use
+	definition # in error message.
+	Most functions that accepted insn_code now accept insn_index as well
+	and similarly for structures containing insn_code.
+
+	* reorg.c (try_merge_delay_insns): If not an annulling branch, take 
+	into account things set in the delay slot.  This prevents merging
+	two increments into one.
+
+	* reorg.c (dbr_schedule): Fix typo in printing statistics.
+
+Thu Mar 14 02:11:56 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* genemit.c, genoutput.c, genrecog.c: Count all definitions
+	as well as counting insns; use # of definition in error messages.
+
+	* toplev.c (pipe_closed, float_signal): Give it an explicit arg.
+	* cplus-decl.c (sigsegv): Likewise.
+	* cccp.c (pipe_closed): Likewise.
+
+	* cccp.c: Delete trigraph from comment.
+
+	* Makefile.in (realclean): Delete objc parser files.
+
+	* assert.h (__assert for __GNUC__): Don't return value of abort.
+
+Wed Mar 13 16:12:54 1991  Richard Stallman  (rms at churchy.ai.mit.edu)
+
+	* expr.c (do_jump_by_parts_greater): Don't lose if labels are 0.
+
+	* cplus-edsel.c: New name for cplus-cadillac.c.
+	* Makefile.in (cplus-edsel.o): Fix the compilation rule.
+
+Wed Mar 13 06:47:53 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (mark_set_resources): Any registers mentioned in REG_INC
+	notes are set by an INSN.
+
+	* flags.h (flag_expensive_optimizations): Add new flag.
+	* toplev.c: Support -fexpensive-optimizations and turn on for -O2.
+	* stmt.c (preserve_subexpressions_p): Use flag_expensive_optimizations
+	instead of testing for -O2 explicitly.
+
+	* expr.h (operand_subword): Add missing declaration.
+
+	* reload1.c (eliminate_regs): Handle INSN_LIST (found in REG_NOTES).
+
+	* tm-i386.h (RETURN_POPS_ARGS): Don't call aggregate_type_p with 
+	IDENTIFIER_NODE.
+
+Wed Mar 13 00:00:29 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (expand_binop, expand_unop): If wordwise, make target non0.
+
+Tue Mar 12 15:24:09 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* fixincludes: Quote the # in an echo.
+	* fixincludes: Fix typos handling size_t and ptrdiff_t.
+	* fixincludes (sys/file.h): Fix incorrect conditional in Ultrix.
+
+	* c-typeck.c (initializer_constant_valid_p): Allow NON_LVALUE_EXPR.
+	Return a tree that indicates the relocation.
+	All callers changed.
+
+	* jump.c (jump_optimize): Rerecognize jump insn after inverting it.
+
+	* expr.c (do_jump):
+	Use can_compare_p on the operand mode, not the comparison's mode.
+
+	* reload.c (subst_reloads): Fix dumb error in last change.
+
+	* expr.c (do_jump_by_parts_equality*): Fix logic errors.
+
+Mon Mar 11 14:27:40 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload.c (subst_reloads): Don't make subregs, just new regs.
+
+	* expr.c (do_jump_by_parts_equality, do_jump_by_parts_greater):
+	(do_jump_for_compare, do_jump_by_parts_equality_rtx): New functions.
+	(do_jump): Use them to handle wide values.
+	* optabs.c (can_compare_p): New function.
+
+	* reload1.c (emit_reload_insns): Don't make subreg around RELOADREG;
+	just make a new REG.
+
+	* cse.c, varasm.c: Fix typos.
+
+	* sparc.md (move SI to reg_or_nonsymb_mem_operand):
+	Separate third alternative into two alternatives.
+	* tm-sparc.h (PREFERRED_RELOAD_CLASS): Return CLASS as given.
+
+	* optabs.c (operand_subword): Fix typo.
+
+	* longlong.h (__umulsidi3): Return .ll field.
+
+Mon Mar 11 11:43:21 1991  Jeffrey A. Law  (law at mole.ai.mit.edu)
+
+	* make-hp9k2bsd: New file.
+	* configure (hp9k200-bsd): Use it.
+
+Mon Mar 11 07:08:12 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-lex.c (check_newline): Clear TREE_INT_CST_HIGH once instead
+	of clearing TREE_INT_CST_LOW twice.
+
+Mon Mar 11 06:51:52 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (mark_used_regs): If we are going to use a later
+	register to auto-increment, make sure it really is a REG.
+	In the case above, count any calls crossed by the new register.
+
+	* global-alloc.c (global_conflicts): Mark registers modified by
+	virtue of a REG_INC note as modified in the insn to make conflicts.
+	(mark_reg_store): Accept SETTER value of 0.
+
+Sun Mar 10 16:56:25 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* optabs.c (operand_subword): New function to get one word of operand.
+	(expand_binop, expand_unop): Use it for word at a time case.
+
+	* configure (a29-bsd*): Renamed from a29-sysv*.
+
+	* expr.c (emit_library_call): Handle GNULIB_NEEDS_DOUBLE.
+	* tm-i860.h (GNULIB_NEEDS_DOUBLE): Define it.
+
+	* tm-harris.h (ASM_FILE_START): Output a .file.
+
+	* reload1.c (constraint_accepts_reg_p): Understand reg classes.
+
+Sun Mar 10 06:58:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (move_by_pieces, move_by_pieces_ninsns, emit_push_insn):
+	If SLOW_UNALIGNED_ACCESS is defined, respect alignment even if
+	STRICT_ALIGNMENT is not defined.
+	* tm-a29k.h (SLOW_UNALIGNED_ACCESS): Define this.
+
+Sun Mar 10 02:57:40 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (handle_directive): If pass_thru and -C, print the
+	input before removing comments from it.
+
+Sat Mar	 9 21:18:48 1991  Torbjorn Granlund  (tege at musta.nada.kth.se)
+
+	* gnulib2.c (div_qrnnd, __umulsidi3, lowpart, highpart, B): Move
+	to longlong.h.
+	(udiv_qrnnd): New name of div_qrnnd.  Rewrite to work correctly.
+	(file header): Remove obsolete comment about internal format.
+	(bits): Remove this function.  count_leading_zeros in longlong.h
+	is similar.
+	(__udivdi3): Use count_leading_zeros instead of bits.
+	(__udivdi3): Use umul_ppmm instead of __umulsidi3, as this makes
+	better code.
+
+Sat Mar	 9 18:02:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Avoid looking at PATTERN of NOTE
+	or CODE_LABEL.
+
+	* reload1.c (reg_is_output_reload, count_for_*groups): Use
+	HARD_REG_SET instead of array to avoid bzero calls.
+	(reload_reg_used*): Likewise.
+
+	* emit-rtl.c (gen_rtx, init_emit_once): Pre-compute CONST_INTs
+	from -64 to 64 to save space.
+
+Sat Mar	 9 14:28:37 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload1.c (choose_reload_regs): Fix typo in last change.
+
+Sat Mar	 9 01:03:01 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (pushtag): Don't call `pushdecl' for nested type if
+	the type is already defined.
+
+Fri Mar	 8 17:24:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* ns32k.md, vax.md (right shift patterns): When generating a right
+	shift, use xSHIFTRT but use (neg x) as the shift count to
+	more accurately represent what is supported by the machine.
+
+	* expmed.c (emit_store_flag): Can't narrow result of scc insn before
+	normalizing.
+
+Fri Mar	 8 12:56:41 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (pushclass): Set CURRENT_FUNCTION_DECL to
+	appropriate value so that pushtag does the right thing for tags
+	pushed into scope.
+
+Fri Mar	 8 02:47:53 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c (delete_temp_files): Delete only ordinary files.
+
+	* tree.c, cplus-tree.c (TYPE_HASH): 777777 was supposed to be octal.
+
+	* reload1.c (choose_reload_regs): Properly ensure EQUIV
+	is free and of the desired class.
+	When a reload may be a group, mark all its regs in use.
+
+	* reload.c (push_reload): Don't call reg_overlap_mentioned_p
+	unless IN is a REG or MEM.
+
+	* c-common.c, cplus-search.c, cplus-class.c (NULL):
+	Undef before defining.
+
+	* sdbout.c (sdbout_one_type): Don't temporarily clear KNOWN_TYPE_TAG.
+
+Thu Mar	 7 10:53:32 1991  Tom Wood  (wood at dg-rtp.dg.com
+
+	* toplev.c (main): Add -dp: annotate the assembly with a comment
+	describing the pattern and alternative used.  Also, make -dm work
+	for USG systems.
+	* genoutput.c (output_epilogue): Output the array `insn_name'.
+	* final.c (debug_insn, final_scan_insn): Record the value of the
+	last insn processed by final_scan_insn.
+	(output_asm_insn): Annotate the assembly output.
+	(ASM_COMMENT_START): Provide a default value.
+	* tm-att386.h, tm-bsd386.h, tm-sun386.h (ASM_COMMENT_START):
+	Specify "/".
+
+Thu Mar	 7 06:15:04 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (propagate_basetype_offsets): Check ASSOC_TYPE in
+	addition to return value from assoc value before aborting.   ???
+	should figure out why assocs are not shared.
+
+Wed Mar	 6 16:29:37 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (NULL): Undef before defining.
+
+	* cccp.c (do_include): Allocate file name permanently.
+
+Wed Mar	 6 09:06:39 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (and/ashift): Added for the new combine.c (ashift/and
+	works with the previous version).
+	(bcnd insns): Use bcnd to test for sign and zero.
+	(muldf3, divdf3): Use new method to deal with a power of two.
+	(andsi3, iorsi3, xorsi3): Split into two insns for some constants.
+	(call, call_value): Deal properly with a CONST_INT address.
+	* out-m88k.c (call_address_operand): Don't allow CONST_INT.
+	(uses_arg_area_p): New function for -moptimize-arg-area.
+	* tm-m88k.h (TARGET_SWITCHES): Delete -mpic in favor of -fpic.
+	Add -moptimize-arg-area and -mno-optimize-arg-area.
+
+Wed Mar	 6 00:07:09 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Takes input and output args.
+	* integrate.c (copy_for_inline, copy_rtx_and_substitute):
+	(restore_constants): Calls changed.
+
+Tue Mar	 5 23:06:36 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* stmt.c (fixup_gotos): Handle jumping to end of rtl.
+
+	* c-decl.c (store_parm_decls): If -traditional,
+	allow unsigned int in prototype in place of int.
+
+	* cplus-cadillac.c: Delete all but the stubs.
+
+Tue Mar	 5 16:59:18 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Handle case of only NOTE insns after
+	NOTE_INSN_LOOP_BEG.
+	(duplicate_loop_exit_test): Return 0 when we hit a block
+	start or end, rather than quitting loop and getting confused.
+
+	* integrate.c (subst_constants): Correctly move constants to
+	second operand of commutative operations.
+
+	* jump.c (comparison_code_p): Deleted.
+	* combine.c (subst): Use GET_RTX_CLASS instead of comparison_code_p.
+	* cse.c (find_comparison_args): Likewise.
+	* recog.c (comparison_operator): Likewise.
+	* loop.c (get_condition): Likewise.
+
+Tue Mar	 5 14:21:57 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cse.c (fold_rtx): When checking for constant pool addresses,
+	handle addresses constructed from LO_SUM.
+
+	* recog.c (constrain_operands): If before reload, `m' and `o'
+	accept all that could be reloaded to fit those constraints.
+
+	* reload1.c (gen_input_reload): Return the first insn emitted by
+	this function, instead of the last insn emitted.
+
+	* stmt.c (expand_end_loop): When move exit test to loop bottom,
+	also move a preceeding NOTE_INSN_LOOP_CONT note if it exists.
+
+	* gcc.c (process_command): Check for running out of args after option.
+
+	* out-mips.c, out-romp.c: Test BYTES_BIG_ENDIAN with #if.
+	* tm-i860.h (*_BIG_ENDIAN): Define as 0.
+	* tm-mips-news.h (BYTES_BIG_ENDIAN, WORDS_BIG_ENDIAN): Deleted.
+	(DECSTATION): Deleted.
+
+	* tm-mips.h: Test WORDS_BIG_ENDIAN with #if.
+
+	* tm-mips.h, tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
+	Use CONST_DOUBLE_LOW and CONST_DOUBLE_HIGH.
+
+	* real.h: dconst0, dconst1, dconstm1 are declared twice.
+	Eliminate the second redundant declaration.
+
+	* cse.c (FIXED_REGNO_P): Exclude OVERLAPPING_REGNO_P registers.
+
+	* cccp.c (path_include): Handle empty names in path.
+
+	* final.c: Use gvarargs.h, not varargs.h
+
+	* configure (i860, i860-bsd): Handle +gas.
+	* tm-i860g.h, tm-i860bsdg.h: New files.
+
+Mon Mar	 4 22:41:36 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cse.c (simplify_unary_operation): When making a real const, use MODE.
+
+Mon Mar	 4 21:35:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_end_of_basic_block): Correctly handle case where
+	we find a "new" branch to follow.
+	(cse_end_of_basic_block, cse_main, cse_basic_block): PATH_SIZE
+	is now actual size, not size - 1.
+
+Mon Mar	 4 06:44:27 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (poplevel): Change test for whether to clobber the
+	DECL_CONTEXT of local variables.  Now we won't clobber context for
+	any nested types.
+
+Mon Mar	 4 00:39:11 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* jump.c (jump_optimize): When deleting x=y after y=x,
+	don't delete more than one death note, and don't delete any
+	unless we really do delete x=y.
+
+	* cccp.c (main): Support -lang-objc++.
+	Eliminate compilation parameter CPLUSPLUS.
+
+	* cccp.c (main): Handle leading or trailing space in `predefs'.
+
+	* fixincludes: Fix typos handling size_t and ptrdiff_t.
+
+Sun Mar	 3 16:41:24 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (main): Handle multiple spaces, and tabs, in `predefs'.
+	* gcc.c (do_spec_1):  Allow extra whitespace in CPP_PREDEFINES.
+	Also transform -Dfoo=bar into -D__foo__=bar correctly.
+
+	* varasm.c (assemble_zeros): Use ASM_BYTE if defined.
+
+	* reload1.c (reload): Only special-case a spill reg alone in a class
+	if there is non-group need for that class.  Be careful not to count
+	a reg in the usual place if it was counted in the special case.
+
+	* reload1.c (order_regs_for_reload): Make fixed regs and
+	eliminable regs twice as bad as explicitly mentioned regs.
+
+	* reload1.c (choose_reload_regs): Fix typos in last change.
+
+	* c-decl.c (init_decl_processing):
+	Return type of memcpy varies if -traditional.
+	(ptr_ftype_ptr_cptr_sizet): Global var deleted.
+
+	* reload1.c (emit_reload_insns): When updating reg_reloaded_contents,
+	first always clear, then maybe store nonzero value.
+
+Sun Mar	 3 16:12:17 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-template.c (mangle_class_name_for_template): Add two
+	leading underscores, to avoid conflicts with programmer's names.
+
+	* cplus-tree.h (struct lang_identifier): New field `template'
+	points to template info from which this identifier was
+	constructed.
+
+	* cplus-template.c (current_template_expansion,
+	current_template_name): Variables deleted.
+
+	* cplus-template.c (lookup_template_class): Top half of old
+	instantiate_template; returns the id_node.
+	(instantiate_template): Takes the id_node as argument now.
+	* cplus-parse.y (template rules): Use separate rule for checking
+	whether expansion is required.	For base classes, always try it;
+	else do it only if `{' is not next token.
+	(template_type_name): New nonterminal for template class name
+	without expansion.
+	(template_type): Includes expansion, if needed.
+
+	* cplus-input.c (input_from_saved_text): Deleted.
+	* cplus-template.c (instantiate_template): Call feed_input directly.
+
+	* cplus-parse.y (base_class_visibility_list): Now type <itype>,
+	cast to tree in base_class action.
+
+Sun Mar	 3 07:46:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (do_store_flag): Consider A & single-bit as cheap.
+
+	* fold-const.c (operand_equal_p): If ARG0 and ARG1 are the same
+	SAVE_EXPR, they are equal.
+
+	* function.c (fixup_var_refs_1): Move mispositioned code in
+	(set (zero_extract ...) ...) case; fix incorrect indentation.
+
+Sun Mar	 3 01:11:46 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cccp.c (include_defaults, cplusplus_include_defaults):
+	Use STANDARD_INCLUDE_DIR.
+	(STANDARD_INCLUDE_DIR): Define by default as /use/include.
+	* tm-mips.h (STANDARD_INCLUDE_DIR): Define, if MIPS_BSD43.
+	(CPP_SPEC): Don't do -I to handle -ZSYSV, -ZBSD43.
+
+Sat Mar	 2 17:20:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Remove unneeded calls to
+	safe_from_p in A ? A : FOO cases.
+
+Sat Mar	 2 16:14:24 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload1.c (choose_reload_regs): Support subreg as reload_override_in.
+	Likewise reload_reg_rtx.  Just don't use REGNO on them.
+	(emit_reload_insns): Handle subreg as OLDEQUIV.
+
+	* reload1.c (delete_output_reload): Pass the output reload insn,
+	not a spill reg index.	Call in emit_reload_insns changed.
+	(emit_reload_insns): Don't actually update spill_reg_store
+	till after all reload insns have been made.
+
+	* reload.c (push_reload): If existing reload has a reload reg,
+	make sure it fits the class of this reload.
+
+	* stmt.c (fixup_gotos): Fix typo in last change.
+
+	* reload1.c (choose_reload_regs): Don't use equiv reg
+	that is clobbered in this insn.
+
+Sat Mar	 2 12:19:19 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-dem.c (optable): Add op for `operator,'.
+
+	* toplev.c (main): Clear WARN_INLINE if FLAG_NO_INLINE is nonzero.
+
+	* cplus-typeck.c (c_expand_return): Perform conversion to reference
+	in time that we can warn about the return of more non-lvalues.
+	Also, fix what appeared to be bugs in the code dealing with
+	WHATS_RETURNED.
+
+Sat Mar	 2 00:11:18 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-parse.y (base_class): Base class may be a template class.
+	Split off non-visibility portion into base_class.1.
+
+	* cplus-parse.y: Replaced PUBLIC, PRIVATE, PROTECTED with a single
+	terminal VISSPEC, with <itype> value, to simplify parser slightly.
+	* cplus-parse.h (enum rid): Added values for VISSPEC terminal.
+	* cplus-lex.c (is_reserved_word): Changed token types to VISSPEC,
+	rid values as appropriate.
+	(yylex): For VISSPEC, set itype value rather than ttype.
+
+Fri Mar	 1 21:50:23 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-parse.y (.set_base_init): Discarded `preserve' code, which
+	was doing nothing.
+
+Fri Mar	 1 19:01:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (redundant_insn_p): Rename second arg to TARGET.
+	Handle the case where TARGET is a SEQUENCE.
+	(mark_target_live_regs): Don't get confused by registers conditionally
+	set in a JUMP_INSN when looking for regs set before used.
+
+Thu Feb 28 17:25:59 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (check_dbra_loop): Replace code that thinks it knows
+	exactly what the RTL looks like (and gets it wrong) with call
+	to get_condition_for_loop.
+
+Thu Feb 28 16:35:21 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (build_compound_expr): Convert array to pointer.
+
+Wed Feb 27 15:46:54 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gnulib1.c (FLOAT_ARG_TYPE, FLOATIFY): New macros.
+	(__*sf*): Use them for `float' args.
+
+	* stmt.c (expand_end_case):
+	Test value of HAVE_casesi and HAVE_tablejump at runtime.
+
+	* stmt.c (fixup_gotos): Check that jump into bindings
+	really comes from before the start of the bindings.
+	Use TREE_REGDECL to indicate error message printed.
+
+Wed Feb 27 15:01:51 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-template.c (end_template_decl): Store correct name in new
+	decl.  Use pushdecl, not pushtag.
+	(instantiate_template): Use identifier's global value, not its
+	type.  Pass back both template and new class in token value.
+	* cplus-lex.c (identifier_type): Templates now have type
+	TEMPLATE_DECL, not TYPE_DECL wrapped around a TEMPLATE_DECL.
+
+Wed Feb 27 06:27:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (replace_regs): Don't make nested SUBREGs.
+
+	* reload.c (push_reload): SUBREG_LOC applies only to INLOC, not OUTLOC.
+
+	* cse.c (simplify_binary_operation): Simplify A&A, A|A, and A^A.
+
+	* reload.c (find_reloads_address_1): Correctly handle (post_inc (mem)).
+
+Tue Feb 26 21:49:15 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expmed.c (store_bit_field, extract_bit_field):  Calls to
+	get_best_mode were passing alignment in bytes rather than
+	alignment in bits.
+
+	* flags.h (flag_pedantic_errors): Declare it.
+
+	* c-tree.h (C_TYPEDEF_EXPLICITLY_SIGNED): New flag.
+	* c-decl.c (grokdeclarator): Record that flag in new typedefs.
+	Check it when determining signedness of bitfields.
+
+	* expr.c (expand_expr): In A ? A : B, make output safe from A and B.
+
+	* reload.c (find_reloads_address, find_reloads_address_1):
+	Reload any reg that appears in a clobber in the same insn.
+	(regno_clobbered_p): New function.
+
+Tue Feb 26 21:41:43 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* expr.c (expand_expr): Add missing arg to exapnd_exit_loop in
+	EXIT_EXPR case.
+
+Tue Feb 26 14:35:47 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Check pedantic error last.
+
+	* tm-i386.h (STRUCT_VALUE, STRUCT_VALUE_INCOMING): Value is 0.
+	(RETURN_POPS_ARGS): Pop the structure return pointer here.
+	* out-i386.c (function_epilogue):
+	current_function_pops_args says how many args to pop.
+
+	* tm-i386.h (CC_Z_IN_NOT_C): New cc flag.
+	* i386.md (je and jne patterns): Handle this flag.
+	(pattern using bt insns): Set the flag.
+	Output test insn instead if bit number is constant.
+	(insv): Changed constraint.
+
+	* tm-i386.h (enum reg_class): Define ABCI_REGS.
+	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Support ABCI_REGS.
+	Fix the contents for ABC_REGS.
+	(REG_CLASS_FROM_LETTER): Define `x' for ABCI_REGS.
+	* i386.md (divsi3, udivsi3): Use `xm' for operand 2 constraint.
+	(divhi3, udivhi3, divmod*, udivmod*): Likewise.
+
+	* cccp.c (pedwarn): Declare as void.
+
+Tue Feb 26 06:41:34 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* tree.h (IDENTIFIER_VIRTUAL_P): New macro for IDENTIFIER_NODE.
+	Nonzero means that this identifier is used by a function declared
+	virtual.
+	* cplus-decl.c (grokfndecl): Set IDENTIFIER_VIRTUAL_P instead of
+	DECL_VIRTUAL_P.
+	* cplus-search.c (get_first_matching_virtual): Test
+	IDENTIFIER_VIRTUAL_P instead of DECL_VIRTUAL_P.
+
+	* cplus-decl.c (pushtag): Handle classes which are nested in
+	function scope (as opposed to class scope).
+	(lookup_nested_type): Ditto.
+	* cplus-method.c (build_overload_nested_name): Ditto.
+
+	* cplus-decl.c (grokdeclarator): Only globalize non-nested classes
+	declared in class scope (i.e., don't globalize in function scope).
+
+Tue Feb 26 06:11:37 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md (storem): Fix typo in operand number.
+
+	* expr.c (do_store_flag): Add missing cast required for some compilers.
+
+	* tm-a29k.h (REG_CLASS_*, REGNO_REG_CLASS): Add new class Q_REGS
+	and constraint letter `q' for the Q register.  Requested by tege.
+
+	* tm-a29k.h (PRINT_OPERAND_ADDRESS): Allow short constant as address.
+
+Mon Feb 25 20:46:43 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* expr.c (expand_expr): In handling A : A ? FOO, use safe_from_p
+	against FOO.  Fix many incorrect operand refs in A : FOO ? A.
+
+	* sdbout.c (plain_type_1): Record type name only if using forward refs.
+
+	* reload.c (find_reloads): Mark those RELOAD_OTHER reloads
+	that are used for output addresses, for choose_reload_regs.
+
+	* integrate.c (copy_rtx_and_substitute):
+	Copy REG_USERVAR_P from original regs to new regs.
+
+	* c-typeck.c (digest_init): Handle STRING_CST before same-type case.
+
+Mon Feb 25 13:31:51 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (grokdeclarator): Handle the identification of
+	constructors declared in nested scope.
+
+Mon Feb 25 06:27:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (next_insn_no_annul): New function.
+	(mark_set_resources, mark_target_live_regs): Don't count insns from
+	the target of a branch if the branch is annulling.
+
+	* expmed.c (emit_store_flag): Get new register for target if
+	preserve_subexpressions_p returns nonzero.
+	Convert to desired mode, then normalize, instead of doing it
+	the other way around; this allows better combining.
+
+Sun Feb 24 20:07:02 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (find_comparison_args): Fix indentation and misplaced paren.
+
+	* Makefile.in (install-headers): Remove extraneous parens from
+	uses of shelllibsubdir.
+
+Sun Feb 24 15:49:42 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* loop.c (check_dbra_loop): Win if loop biv is used only for counting.
+
+	* cccp.c (struct definition): Record file and line.
+	(create_definition): Store that information.
+	(do_define): Identify location of previous definition.
+	(pedwarn_with_file_and_line): New function.
+
+Sat Feb 23 13:36:13 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Error for `signed void', etc.
+	Warning for `signed my_int', and only if pedantic.
+
+	* toplev.c (warn_cast_align): New flag, with -W option.
+	* c-typeck.c (build_c_cast): Warn if target alignment increases.
+
+Sat Feb 23 10:22:03 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-type2.c (store_init_value): Global variables must be
+	specially initialized in PIC under SunOS.
+
+	* cplus-dbxout.c (dbxout_tags): Test that the tag's value has not
+	been cleared before trying to use it as a type.	 This happens when a
+	class starts out looking like a nested class, but turns out to be a
+	reference to an implicitly defined global class.
+
+Sat Feb 23 06:16:44 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (true_regnum): If given a pseudo not assigned a hard reg,
+	return the pseudo register number.
+
+	* out-rs6000.c (update_cc): Remove CC_REVERSE and CC_NONNEG.
+	* rs6000.md (define_attr "cc"): Remove reverse.
+	(cmpsi): Only allow second arg to be a constant.
+	Remove some unneeded comparison patterns.
+
+	* rs6000.md (misc logical patterns): Only add CLOBBER for MQ
+	when we really clobber it; we used to do so in more cases to
+	work around a since-fixed restriction in combine.c
+
+	* rs6000.md (extend*): Use DEFINE_EXPAND instead of a pattern
+	that generates two insns.  Remove (sign_extend (ashift ..) ...)
+	and similar patterns; no longer neeed.
+
+	* rs6000.md (fma instruction): Add missing single-precision case.
+
+	* out-rs6000.c (print_operand, case 's' and 'S'): Truncate to low-order
+	5 bits.
+
+	* out-rs6000.c (output_prolog, output_epilog): Correct code to handle
+	large stack frames; used 65535 instead of 32767 and had a typo.
+
+	* tm-romp.h (CC_IN_NOT_TB): Deleted.
+	* out-romp.c (update_cc): No longer need CC_REVERSE, CC_NONNEG, or
+	CC_NOTTBIT.
+	(print_operand): Remove use of CC_IN_NOT_TB.
+	* romp.md (define_attr "cc"): Remove reverse,nonneg, and nottbit.
+	(mttbi): Remove redundant pattern.
+	(cmpsi): First arg can only be register_operand.
+	Remove some unneeded COMPARE patterns.
+	
+	* romp.md (movhi): Use zero-extend, not sign-extend load.
+
+	* out-romp.c: (float_conversion): Allow CONST_INT as operand.
+
+	* out-romp.c (first_reg_to_save): Ensure we save r14 if we use it.
+
+	* a29k.md (divsf3): Fix typo in name; was divds3.
+
+	* tm-a29k.h: Add new -mno-storem-bug and TARGET_NO_STOREM_BUG.
+	(TARGET_SWITCHES): -m29050 turns on -mno-storem-bug.
+	* a29k.md: (store_multiple_bug): New pattern to work around chip bug.
+	(store_multiple_no_bug): New name for original pattern.
+	(store_multiple): Choose depending on TARGET_NO_STOREM_BUG.
+	(storem patterns): Two cases, with and without bug.
+
+	* a29k.md (extend*): Don't define single insn for sign_extend.
+	Instead, use DEFINE_EXPAND.  Delete DEFINE_SPLITs for the old patterns.
+
+	* a29k.md (jumpfdec pattern): Fix typo.
+
+	* tm-a29k.h, tm-romp.h, tm-rs6000.h (CC1_SPEC): Remove optimization
+	selections.
+	(OPTIMIZATION_OPTIONS): Turn off insn scheduling by default until
+	it is fixed.
+
+	* tm-a29k.h, tm-romp.h, tm-rs6000.h (SETUP_INCOMING_VARARGS):
+	Correctly handle the case of the special argument being other than
+	the first arg.
+
+	* tm-a29k.h (GO_IF_LEGITIMATE_ADDRESS): A tiny constant (< 255)
+	is also a valid address.
+
+	* tm-a29k.h, tm-romp.h, tm-rs6000.h (BYTE_LOADS_ZERO_EXTEND): Add to
+	support combine.c in development.
+
+	* jump.c (jump_optimize, can_reverse_comparison_p, delete_jump):
+	Consistently allow NOTEs between the set and use of CC0.
+	* reorg.c (delete_scheduled_jump): Likewise.
+
+	* expmed.c (emit_store_flag): Pass in UNSIGNEDP; can't derive it from
+	comparison code.
+	* expr.c (do_store_flag): Add UNSIGNEDP arg to emit_store_flag call.
+	* jump.c (jump_optimize): Likewise.
+	* optabs.c (expand_binop): Likewise.
+
+	* local-alloc.c (requires_inout_p): New function.
+	(block_alloc): Use high-priority preferences if we have a hard
+	register used in an insn that requires the same register for
+	input as for the output.
+	(combine_regs): Rename argument COPY to MAY_SAVE_COPY.
+
+	* cse.c (simplify_binary_operation, case MULT): Convert multiply
+	by power of two to shift.
+	(cse_insn): Don't share rtx obtained from the hash table; copy it.
+
+Sat Feb 23 00:27:26 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* rtlanal.c (dead_or_set_p): Don't check for REG_INC.
+
+	* reload.c (push_reload): (subreg:m1 (reg:m2 ...) ...) with M1 wider
+	than M2 is also a paradoxical SUBREG.
+
+Fri Feb 22 14:43:44 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* reload1.c (possible_group_p): Add missing forward declaration.
+
+	* reload1.c (eliminate_regs, case PLUS): Ensure we handle the
+	case of (plus reg1 reg2) where REG1 is eliminable and REG2 is
+	psuedo that didn't get a hard reg and has reg_equiv_constant nonzero.
+	(choose_reload_regs): If reload_needed_for_multiple,
+	the reload can't be input-only or output-only.
+	(emit_reload_regs): Avoid regno_dead_p.
+	* combine.c (regno_dead_p): Function deleted.
+
+	* Makefile.in (maketest): Finish renaming config to configure.
+
+	* gcc.c (lookup_compiler): Create a new entry to represent
+	the result of searching for an alias entry.
+
+	* reload.c (combine_reloads): Swap args to reg_overlap_mentioned_p.
+
+Fri Feb 22 09:40:50 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-parse.y (base_class_list): Re-fix precedence so we can use MI.
+
+	* cplus-except.c (init_exception_processing): Push exception ctors
+	and dtors into scope so they can be inlined.
+
+Fri Feb 22 08:03:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genemit.c (output_init_mov_optab): New function.
+	(main): Have insn-emit.c include insn-codes.h.
+	Call output_init_mov_optab.
+	* optabs.c (gen_move_insn): Handle moving MODE_CC modes; we may have
+	to find a different mode to do this in.
+	(init_optabs): Try to initialize CCmode in mov_optab; if we have
+	EXTRA_CC_MODES, call init_mov_optab.
+	* Makefile.in (insn-emit.o): Now depends on insn-codes.h.
+
+	* rtl.h (get_last_insn_anywhere): Add missing declaration.
+
+	* stmt.c: Now includes hard-reg-set.h (for n_non_fixed_regs).
+	(preserve_subexpressions_p): Renamed from inside_loop.
+	Always return true if optimize >= 2; always return false if
+	optimize == 0.	If optimize == 1, only return true if we aren't
+	very far into a loop instead of whenever we are in any loop.
+	* Makefile.in (stmt.o): Now includes hard-reg-set.h.
+	* expr.c (expand_expr): Use preserve_subexpressions_p instead of
+	inside_loop.
+	Only set TARGET to SUBTARGET if TARGET isn't a pseudo register.
+	(expand_expr, case REAL_CST): Don't call force_reg; now done in
+	expand_binop, if required.
+	* optabs.c (expand_binop, expand_twoval_binop, emit_cmp_insn):
+	If arg is expensive constant and preserve_subexpressions_p is true,
+	force it into a register.
+	* out-sparc.c (emit_move_sequence): Call preserve_subexpressions_p
+	instead of inside_loop.
+
+	* reload1.c (eliminate_regs, case SUBREG): Correct test for paradoxical
+	SUBREG.
+
+	* varasm.c (output_constant_pool): If entry refers to a deleted label,
+	write a zero instead of the undefined label.
+
+Fri Feb 22 02:49:24 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* Reversed all changes dated 20 February.
+	* cplus-template.c (pending_template_expansion): New function;
+	given template name, returns class name of expansion in progress.
+	* cplus-parse.y (PTYPENAME -> typespec): Call it.
+	('~' PTYPENAME -> notype_declarator): Ditto.
+
+Thu Feb 21 15:17:13 1991  Craig Burley	(burley at geech.ai.mit.edu)
+
+	* c-common.c (check_case_value): If value is NULL_TREE, return it
+	without any further checking.
+
+	* stmt.c (pushcase_range): If value1 is NULL_TREE, substitute
+	minimum value for the type, if value2 is NULL_TREE, substitute
+	maximum value for the type, from then on assume both are not NULL_TREE.
+	These changes appear to provide minimal support for case ranges.
+
+	* c-typeck.c (digest_init): For explicit array element initializer
+	case, change check against max value of domain so index may equal it.
+	For array element initialization, give next initializer a chance to
+	override the choice of next index before falling out of loop because
+	next index is out of range.  For structure initialization, give next
+	initializer a similar chance before falling out of loop because no
+	more fields exist.
+
+	* reload1.c (possible_group_p): Needed a forward decl (static).
+
+Thu Feb 21 14:37:01 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator):
+	Don't make bitfield type unsigned if comes from typedef.
+
+	* reload1.c (reload): Don't require INITIAL_FRAME_POINTER_OFFSET
+	if cannot eliminate the frame pointer.
+
+	* i860.md (cbranch, inverse_cbranch): Use eq to test cc0.
+	(negated branch patterns): New patterns.
+
+	* tm-i860.h (INITIALIZE_TRAMPOLINE): Use size_int, not build_int.
+
+	* reload1.c (reload): Save and restore notes around find_reloads.
+
+	* tm-sun2os4.h (LINK_SPEC): New macro.
+	* tm-sun386i.h (LINK_SPEC): Undef before redefining.
+
+	* cccp.c (do_include): Check for -2, not -1, as value of lookup_import.
+
+	* c-parse.y (initlist): Fix typo.
+
+Mon Feb 18 02:50:38 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (grokdeclarator): Try to come up with better magic
+	for implicitly globalizing classes implicitly declared in class
+	scope.
+
+Sun Feb 17 09:27:38 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-tree.c (virtual_offset): New function.	Returns the offset
+	of a baseclass that is virtual or comes from a virtual baseclass, or
+	NULL if there is no such baseclass.
+	* cplus-class.c (modify_vtable_entries): Call this function instead
+	of `virtual_member'.  `virtual_member' can return the wrong thing if
+	we try to use it for an offset computation of a baseclass which is
+	not strictly a virtual baseclass.
+
+Sat Feb 16 06:21:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (validate_replace_rtx_1): Use correct rtx_code for the
+	new operation when commuting operands.
+	Generalize to commute operands on comparison operation.
+
+Fri Feb 15 23:01:24 1991  Richard Stallman  (rms at geech.ai.mit.edu)
+
+	* c-parse.y (initlist): Finish changing `case N:' to `[N]'.
+
+	* combine.c (try_combine): Update reg_first_use.  Flush useless links.
+
+Thu Feb 14 17:06:44 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-parse.y (template_parm): New derivation from `class ID',
+	for consistent return of `identifier_node' nodes with `class A :
+	B' case.
+	* cplus-template (end_template_parm_list): Nothing to strip off of
+	identifier_nodes now.
+	(process_template_parm): Strip off one level of tree_list,
+	discarding (for now) the required base class.  Don't need to run
+	through grok* any more.
+
+Sun Feb 10 19:23:21 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c (main, process_command, default_compilers): Fix typos.
+
+Sat Feb	 9 15:06:43 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* gcc.c (process_command): Handle separate args for -B, -b, -V.
+
+	* gcc.c (lookup_compiler): New function.  Handles alias entries.
+	(main): Call that.
+	(default_compilers): Make all real suffixes into alias entries.
+	(infiles): Now a vector of structures, containing specified language.
+	(process_command): Handle -x to specify language.
+	(main): Use specified language if any.
+
+Fri Feb	 8 18:31:00 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* fold-const.c (fold): Set TREE_USED when create COMPOUND_EXPR.
+	* stmt.c (warn_if_unused_value): Don't warn if TREE_USED.
+	* c-typeck.c (build_unary_op): Handle multiple casts inside ++.
+
+Fri Feb	 8 07:37:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* real.h (dconst2): New variable.
+	* emit-rtl.c (init_emit_once): Initialize dconst2.
+	* tree.c (real_twop): New function.
+	* cse.c (simplify_unary_operation): Fold FLOAT, FLOAT_EXTEND, and
+	FLOAT_TRUNCATE.
+	(simplify_binary_operation): Convert x*2 to x+x.
+	(cse_insn): Handle case where constant equivalent is in table.
+	Fix minor bug with merging src_related_elt.
+	* fold-const.c (fold): If commutative operation, move a constant
+	first operand to the second operand.
+	Remove tests of constants as first operand for commutative operations.
+	Convert x*2 to x+x.
+
+Fri Feb	 8 03:07:34 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-ptree.c (print_lang_decl): Corrected argument list.  Print
+	address of template info for TEMPLATE_DECL nodes.
+
+	* cplus-decl.c (set_current_level_tags_transparency): New
+	function, for altering tag-transparency of a context.
+
+	* cplus-parse.y (PRE_PARSED_METHOD_DEF): Was unused; now gone.
+	(template_instantiation): Handle $-references correctly.  Generate
+	a class_head-like value for LC actions to operate on.
+	(maybe_base_class_list): New non-terminal: colon and base class
+	list, or empty.
+	(named_class_head): Use it.
+	(unnamed_class_head): Use '{', not LC.
+	(class_head): If template_instantiation found, use its value.
+	(template_arg): Apply groktypename to typename args.
+
+	* cplus-template.c (template_text_obstack): Deleted, just use
+	permanent_obstack instead.
+	(init_template): Deleted; callers changed.
+	(current_template_info): New variable: pointer to last-saved
+	template info record.
+	(end_template_decl): Use DECL_NAME, DECL_ARGUMENTS,
+	DECL_LANG_SPECIFIC, rather than TREE_OPERANDs.	Save most of
+	template info here.
+	(reinit_parse_for_template): Only save text here, in
+	already-allocated template info record.
+	(mangle_class_name_for_template): New function.
+	(instantiate_template): Finally written.
+
+Thu Feb	 7 22:06:56 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-i386v4.h (ASM_OUTPUT_COMMON): Specify rounding in the output.
+	(ASM_OUTPUT_LOCAL): Use .local and .comm.
+
+	* tm-news.h (FUNCTION_PROLOGUE): Correct syntax of link insn.
+	(PRINT_OPERAND_ADDRESS): Use period, not colon, before index reg width.
+
+	* stmt.c (pushcase, pushcase_range):
+	Don't warn for code before first `case' if there is a label on it.
+
+Thu Feb	 7 06:23:10 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (initialize_for_inline): Accept COPY argument.
+	Only copy parameter DECL_RTL if COPY non-zero; in that case,
+	also replace DECL_RTL with copy.  All callers changed.
+	(copy_decl_rtls): New function.
+	(save_for_inline_copying): Use copy_decl_rtls to copy MEM DECL_RTLs
+	in the function.
+	Copy address of pseudos if they are a MEM.
+
+Wed Feb	 6 19:19:25 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault): No warn for RSHIFT by 0.
+
+Wed Feb	 6 17:37:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (fixup_var_refs_1):  Accept a location in rtx instead
+	of an rtx.
+	Unless -fforce-mem, if an insn is valid with MEM, leave it alone.
+	Rework ZERO_ and SIGN_EXTRACT cases to properly do adjustments
+	and generalize to support other than QImode MEMs.
+	(fixup_var_refs_insns): Change call to fixup_var_refs_1.
+
+Wed Feb	 6 08:14:21 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (cmp): Use reg_or_0_operand to avoid swapped compares.
+	(call patterns): Put use of r1 in a parallel construct.
+	(multiply and divide by a power of two): Now just multiply.  The
+	new combiner will change divide by a power of two into multiply.
+	(movhi, movqi): Use zero-extend load.
+	* tm-m88k.h (BYTE_LOADS_ZERO_EXTEND): Use it.
+	(H constraint): Changed to mean one or two.
+	* out-m88k.c: Use the proper includes for non-USG systems.
+	* xm-m88k.h: Include tm.h at the end.	
+
+Wed Feb	 6 02:24:38 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (pushtag): Don't try to nest classes from non-C++
+	language scopes.
+
+Wed Feb	 6 01:33:16 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* cse.c (simplify_binary_operation): Don't change div into mult.
+
+Tue Feb	 5 10:59:53 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-parse.y (template_instantiation): Supply base class list
+	and use guts of class declaration.  Untested; will have to be
+	fixed up to deal with template context manipulations.
+
+Tue Feb	 5 00:52:57 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-common.c (combine_strings): Finish fixing wide strings.
+
+	* reload1.c (possible_group_p): New subroutine.
+	(reload): Don't kill last group when looking for a non-group.
+
+	* expmed.c (expand_divmod): If emit cmp insn, force op0 into reg.
+
+	* objc-parse.y (init_lex, yylex): max_wide now measured in chars. 
+	(yylex): Treat \r as whitespace if traditional.
+
+	* toplev.c (compile_file): Add missing arg for dbxout_finish.
+
+	* objc-actions.c (lang_finish): New dummy function.
+
+	* calls.c (expand_call): Recognize other names for setjmp-like fns.
+
+	* gcc.c (main): Use obstack_init, not gcc_obstack_init.
+
+	* varasm.c (assemble_zeros): New function.
+	All calls to ASM_OUTPUT_SKIP elsewhere now use this function.
+	Handle ASM_NO_SKIP_IN_TEXT.
+	* toplev.c (compile_file): Use assemble_zeros.
+	* final.c (end_final): Likewise.
+	* tm-3b1.h, tm-att386.h, tm-mot3300.h (ASM_NO_SKIP_IN_TEXT):
+	Define as 1.
+	* tm-3b1.h (ASM_OUTPUT_SKIP): Don't deal with outputting zeros.
+
+Mon Feb	 4 20:37:33 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* m68k.md: Use %$ and %& where appropriate.
+	(special float_truncate pattern): New, for 68040.
+	(68881 DF multiply recognizers): Avoid fscale if 68040. 
+	(68881 SF multiply recognizers): Avoid fsglmul if 68040.
+
+	* tm-next.h (SECTION_FUNCTION): Simplify; remove last arg. 
+	(EXTRA_SECTION_FUNCTIONS): Rewrite to go with that change. 
+
+Mon Feb	 4 18:22:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (link_cc0_isns): New function.
+	(fill_simple_delay_slots, fill_slots_from_thread): Call it.
+	(fill_slots_from_thread): Don't make REG_CC_STATUS notes.
+	(delete_scheduled_jump): Use REG_CC_SETTER instead of REG_CC_STATUS.
+	Correctly locate compare insn in CC0 case.
+	(steal_delay_list_from_target): Don't steal an insn that sets cc0;
+	we can't safely copy it.
+	(fill_slots_from_thread): Can't put insn that sets CC0 in delay slot
+	if we don't own its thread; this would otherwise require copying it.
+	(relax_delay_slots): Don't collapse jump to next insn if it has a
+	cc0-setting insn in a delay slot.
+
+	* reorg.c (update_block): Accept location to place USE marker; use if
+	INSN is in a delay slot.
+	(mark_target_live_regs): Handle the case where we deleted the start
+	of the basic block that was previously used for a target.
+	Ignore insns with INSN_FROM_TARGET_P.
+	(optimize_skip, try_merge_delay_insns, fill_simple_delay_slots):
+	Pass new argument to update_block.
+	(try_merge_delay_insns, redundant_insn_p): Clear INSN_FROM_TARGET_P
+	to show that this insn will be used in both paths of the branch.
+	(try_merge_delay_insns): Add calls to update_block for insns deleted
+	from delay slots.
+
+	* reorg.c (mostly_true_jump): If no jumps between target and end of
+	function, predict as false.
+	If comparison == 0, predict false; != 0, predict true.
+
+	* reorg.c (steal_delay_list_from_{target,fallthrough}):
+	Ignore redundant insn even if it can't be placed in our delay slot.
+	(fill_slots_from_thread): Likewise.
+	Ensure we don't call redundant_insn_p on any insns that conflict
+	with what we need and set.
+
+	* reorg.c (fill_eager_delay_slots): Pick up new value of JUMP_LABEL;
+	it may have been changed by first call to fill_slots_from_thread.
+
+	* rtl.h (REG_TAIL_CALL): Deleted; never documented or used.
+	(REG_CC_SETTER, REG_CC_USER): Replacements for REG_CC_STATUS.
+	* rtl.c (reg_note_name): New names.
+	* final.c (final_scan_insn): Replace REG_CC_STATUS with REG_CC_SETTER;
+	now only one insn.
+	* emit-rtl.c (next_cc0_user, prev_cc0_setter): Use REG_CC_SETTER and
+	REG_CC_USER.
+
+	* cplus-cadillac.c, cplus-class.c, cplus-decl.c, cplus-lex.c:
+	Replace obstack_init with gcc_obstack_init.
+	* cplus-search.c, flow.c, gcc.c, loop.c, reload1.c: Likewise.
+	* reorg.c, stmt.c: Likewise.
+
+	* reload1.c (eliminate_regs, case ASM_OPERANDS): Fix typo when making
+	new ASM_OPERANDS.
+
+	* recog.c: Now includes insn-flags.h and insn-codes.h.
+	(validate_replace_rtx_1): If replacing the source of a ZERO_ or
+	SIGN_EXTRACT with a MEM, try to put the MEM in the mode to be used for
+	the MEM.
+	* Makefile.in (recog.o): Depends on insn-flags.h and insn-codes.h.
+
+Mon Feb	 4 17:39:36 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* c-typeck.c (digest_init): Error if init array with another array.
+
+Mon Feb	 4 04:58:20 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-tree.def (TEMPLATE_DECL): New node type.
+	(TEMPLATE_PARM_IDX): New node type; like integer, with an extra
+	field.
+
+	* cplus-method.c (check_text_len): Fix up error message to be more
+	correct.  Moved function before new_text_len so that the latter
+	can call it and inlining can work.
+	(new_text_len): Call check_text_len.
+
+	* cplus-method.c (build_overload_name): No longer static.
+
+	* cplus-class.c (unuse_fields): Now static.
+	(popclass): Use a temporary when building C_C_D.
+
+	* cplus-decl.c (lookup_tag): Don't complain about type mismatch if
+	the tag found is for a template.
+
+	* cplus-lex.c: New lookup tables, for new "template" keyword.
+	(reinit_lang_specific): Call init_template.
+	(init_lex): Ditto.
+	(file_from_saved_text): Renamed from input_from_saved_text.
+
+	* cplus-lex.c (identifier_type): New function; returns primary
+	type (IDENTIFIER, TYPENAME, PTYPENAME) indicated by token name.	 A
+	PTYPENAME is returned for (TYPE_DECL (TEMPLATE_DECL ...)) nodes.
+	(see_typename): Call it.
+
+	* cplus-lex.c (yylex): In handling identifiers, use subset of
+	TYPENAME code for PTYPENAME tokens.
+
+	* cplus-template.c: New file.
+	(begin_template_parm_list): Push new scope and switch to permanent
+	obstack.
+	(end_template_parm_list): Return parameter list as a tree vector.
+	(end_template_decl): Save away new TEMPLATE_DECL node.
+	(process_template_parm): Build up tree list of template
+	parameters.
+	(instantiate_template): For now, just complain.
+	(init_template): Set up template obstack.
+	(reinit_parse_for_template): Gobble up class definition text and
+	save it away.
+
+	* cplus-parse.y (template_header, template_parm_list): Call above
+	routines.
+	(datadef): Put template declarations here, instead of in
+	class_head.
+	(named_class_head_sans_basetype, named_class_head,
+	unnamed_class_head): Break up old class_head derivations.
+	(class_head): Now any of the above, plus template types with or
+	without instantiation.
+	(template_type): Call instantiate_template.
+	(template_arg_list): Build up list of args.
+
+	* cplus-tree.h (lang_type): Add TEMPLATE field.	 Also add macro
+	TYPE_TEMPLATE.
+
+Sun Feb	 3 21:16:36 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* tm-m68k.h (PRINT_OPERAND): Handle `&' and `$'.
+	(PRINT_OPERAND_PUNCT_VALID): They are valid.
+
+	* out-next.c (handle_pragma): Unread the newline.
+
+	* toplev.c (main): Warn if meaningless optimizations are requested.
+	Don't enable options by default that would get warnings.
+
+	* m68k.md (extend QI to HI): Typo in clr insn.
+
+	* c-common.c (combine_strings): Decrement LEN properly when copying.
+	* c-parse.y (init_lex, yylex): max_wide now measured in chars. 
+
+	* tree.c (gcc_obstack_init): Fix typo in forward decl.
+
+Sat Feb	 2 09:24:56 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (poplevel): Change DECL_CONTEXT of decls only of
+	their context is CURRENT_FUNCTION_DECL.
+
+Fri Feb	 1 13:46:07 1991  Richard Stallman  (rms at mole.ai.mit.edu)
+
+	* print-tree.c (print_node): Don't print chain for `c' and `x' nodes.
+
+	* loop.c (record_excess_regs): Moved here.
+
+See file ChangeLog.2.
diff --git a/gcc/ChangeLog.4 b/gcc/ChangeLog.4
new file mode 100644
index 0000000..af668a3
--- /dev/null
+++ b/gcc/ChangeLog.4
@@ -0,0 +1,10783 @@
+Mon Jan 13 19:12:18 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* unroll.c (find_splittable_givs): When completely unrolling loop,
+	use biv initial value stored in splittable_regs instead of
+	bl->initial_value, since the later may not be safe.
+
+	* sched.c (schedule_block):  When calculating whether a register
+	crosses a call, must do this after registers are killed and before
+	new registers are made live.
+
+	* x-rs6000: Define INSTALL as /usr/ucb/install -c.  /etc/install
+	(the SYS V version) does not handle -c option as Makefile.in
+	intends it.
+
+Mon Jan 13 11:21:24 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile (parse_stabs_common): Don't relocate N_LBRAC and
+	N_RBRAC stabs for compatibility with other stabs implementations.
+
+Mon Jan 13 07:41:32 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Don't set TREE_PRIVATE here.
+	TREE_PRIVATE is only for visibility.
+	(start_function): Don't test TREE_PRIVATE here.  #pragma
+	interface/implementation should properly handle the case of static
+	(i.e. non-public) defns in implementation section now.
+
+Mon Jan 13 07:31:38 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.c (output_ascii): The AIX assembler silently truncates
+	strings longer than 666 characters, so break them up well before that.
+
+Mon Jan 13 00:26:47 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Warn about shadowing at top level any symbol
+	that was declared among the function parms.  But don't warn for
+	parms in a nested function.
+	* tree.c (chain_member): New function.
+
+	* sparc.c (output_return): Handle structure value in all the cases.
+
+	* toplev.c (main): -gstabs+ means use stabs with gdb extensions.
+
+	* fixincludes: Insert #undef NULL before #define NULL.
+
+	* gvarargs.h (va_list): Check some macros to avoid redefinition.
+
+	* tree.h (DECL_PACKED): New macro.
+	* c-common.c (decl_attribute): Handle `packed'.
+	* stor-layout.c (layout_record): Handle DECL_PACKED.
+	* c-parse.y (attrib): Accept `packed' with no arg.
+
+	* c-decl.c (shadow_tag): For useless keyword, just warn.
+	(duplicate_decls): Don't preserve volatile bit from old decl
+	if that is just a default declaration for abort, exit, etc.
+
+	* cccp.c (do_assert, do_unassert, check_assertion):
+	No pedantic warnings in system header files.
+
+	* ultrix.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined.
+	(WCHAR_TYPE_SIZE): Defined.
+
+	* i386.h (HI_REGISTER_NAMES): Add a name for dummy reg 16.
+
+	* dbxout.c (flag_minimal_debug): Make it static.
+
+Sun Jan 12 18:10:46 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-lex.c (check_newline): Check #line for `3' meaning system header.
+	* cccp.c (output_line_command): Output `3' if system header.
+	* c-tree.h (system_header_p): Declare it.
+	(ridpointers): Declaration deleted.
+
+	* dwarfout.c (fundemental_type_code): Treat OFFSET_TYPE like integer.
+	(type_is_fundamental, output_type): Likewise.
+
+	* optabs.c (expand_float): Abort if FROM has VOIDmode.
+	* expr.c (expand_expr, FLOAT_EXPR case): Don't pass a VOIDmode.
+
+Sun Jan 12 16:11:40 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (ASM_OUTPUT_SPACE): If assembler is gas, don't use the
+	.space directive, since the table PREDICATE_CODES generates tickles
+	a bug.
+
+Sun Jan 12 15:59:41 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c: Include real.h.
+	(make_tree): Properly handle CONST_INT and handle many more rtl codes.
+	(expand_mult_add): Don't do folding here; just call make_tree and fold.
+	* Makefile.in (expmed.o): Includes real.h.
+
+Sun Jan 12 12:26:20 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (store_parm_decls): Finish change started 11 Jan 1992.
+
+	* cp-decl.c (pushtag): Don't set CLASSTYPE_TAGS after
+	CURRENT_CLASS_TYPE has been defined.
+
+	* cp-lex.c (check_newline): Set INTERFACE_UNKNOWN if we see a
+	#pragma implementation or if it's the toplevel file.
+
+Sat Jan 11 22:04:34 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.md (fix_truncsfsi2_opt): Delete, since the optimizer will
+	strip the clobbers when substituting a register for a cs'ed value,
+	unlike GCC 1.
+	(fix_truncdfsi2_opt): Likewise.
+	(long long shifts): Fix various typos.
+
+Sat Jan 11 15:26:24 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.h (GEN_FCN): Alternate definition if FUNCTION_CONVERSION_BUG.
+	* xm-romp.h (FUNCTION_CONVERSION_BUG): Define it.
+
+	* i386.md (cmpstrsi recognizers): Change back to repz.
+
+Sat Jan 11 11:18:32 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (store_parm_decls): Don't put non-PARM_DECL nodes in the
+	list that will become DECL_ARGUMENTS.
+
+	* cp-decl2.c (grokfield): Convert () initialization to =
+	initialization in FIELD context.
+	* cp-decl.c (parmlist_is_exprlist): Now non-static.
+
+	* cp-decl.c (grokdeclarator): Don't let static class members be
+	declared `static' at top-level.
+
+	* cp-decl.c (pushdecl_class_level): Don't use DECL_ASSEMBLER_NAME.
+
+	* cp-decl.c (grokdeclarator): Don't let language linkage interfere
+	with declarator grokking--the two are independent.
+
+	* cp-call.c (compute_conversion_costs): Look for constructor or type
+	conversions regardless of whether we have CONTRAVARIANCE_HARSHNESS
+	or not.  Also, `#if 0' some dead code.
+
+	* cp-method.c (report_type_mismatch): Fix bugs in formatting error
+	messages.
+
+	* cp-decl.c (grokvardecl): Verify that when static class members are
+	declared at toplevel, the types match their initial declaration.
+
+Sat Jan 11 08:41:24 1992  Fred Fish  (fnf at fishpond)
+
+	* config/m68kv4.h (NO_DOLLAR_IN_LABEL):  Undefine so that the
+	default for m68k/SVR4 systems is to use '$', which is more
+	widely supported.
+
+Sat Jan 11 10:56:10 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
+
+	* Finish PIC implementation on the 68k
+	* output.h (flag_pic): Declare here so that insn-*.c can see it.
+
+	* reload1.c (reload): When compiling PIC ignore REG_EQUIV notes
+	which are CONSTANT_P, but are not LEGITIMATE_PIC_OPERAND_P.
+
+	* m68k.md (call, call_value): Make these into define_expands. If
+	compiling PIC code, then load the address of the function into a 
+	register so that we make indirect calls.
+	(Non-PIC call, call_value): New define_insns.  These are 
+	standard call insns.
+	(PIC call, call_value): New define_insns which output PIC calls.
+	(movsi): Make this into a define_expand.  Legitimize PIC addresses
+	if necessary.  Old movsi code is now an unnamed define_insn pattern.
+
+	* m68k.h (GO_IF_LEGITIMATE_ADDRESS case INDIRECTABLE_1_ADDRESS_P):
+	Use LEGITIMATE_PIC_OPERAND_P to reject SYMBOL_REFS and LABEL_REFS 
+	without PIC relocation when compiling PIC code.
+
+	* m68k.c (legitimize_pic_address): New function.  Given an address 
+	return that address as "legitimized" PIC code. 
+	(print_operand_address): When generating PIC code, handle PIC
+	relocated label_refs just like a PIC relocated symbol_ref.
+	(print_operand_address): If -fpic then add ":w" to displacement in
+	PIC relocated references.
+	(print_operand_address): If -fPIC then add ":l" to displacement in 
+	PIC relocated references.
+
+Fri Jan 10 18:03:08 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-init.c (build_new): Don't allocate header for arrays if no
+	destructor is needed.  Also fix broken calculation of array size.
+	(build_delete): Don't skip array header if no destructor is needed.
+
+Fri Jan 10 14:54:19 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-cvt.c cp-decl2.c cp-expr.c cp-gc.c cp-init.c cp-lex.c cp-parse.y
+	cp-pt.c cp-search.c cp-tree.c: Clean up problems found with -Wreturn
+	(from rfg).
+
+	* cp-typeck.c cp-tree.c cp-cvt.c cp-lex.c cp-call.c cp-class.c:
+	Add (unsigned) casts to all places where native SVr4 compilers
+	expect to see unsigned values.
+
+Fri Jan 10 08:34:36 1992  Fred Fish  (fnf at sunfish)
+
+	* m68ksgs.h (REGISTER_NAMES):  Provide separate versions for
+	SUPPORT_SUN_FPA defined and not defined.
+
+Fri Jan 10 22:36:41 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* Improve I/O performance of gcc on VMS.
+	* cccp.c (VMS_open, VMS_fopen, VMS_freopen): New functions.
+	(open, fopen, freopen): Define as macros on VMS.
+	* toplev.c (VMS_fopen): New function.
+	(fopen): Define as macro on VMS.
+
+Fri Jan 10 22:00:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genrecog.c (merge_trees): If two trees both have actions, but
+	one adds clobbers and one doesn't, ignore the one that does.
+
+	* genemit.c (gen_split): Say that we are giving the definition number
+	in our error message.
+	* genrecog.c (fatal): Likewise.
+	* genoutput.c (scan_operands): Likewise.
+
+	* caller-save.c: Include expr.h (for gen_move_insn).
+	(regno_save_elim): Deleted.
+	(init_save_areas): Don't initialize it.
+	(setup_save_areas): Don't set it.
+	(save_call_clobbered_regs, restore_referenced_regs): Accept mode,
+	not spill register.
+	(insert_save_restore): Don't do our own register elimination and
+	reloading; instead set the insns we make to the desired mode.
+	* reload1.c (struct elim_table): New field MAX_OFFSET.
+	(reload): Always call init_save_areas.
+	Initialize max_offset each pass.
+	At each CALL_INSN, create a need for a spill register that will
+	be used by caller-save.
+	Pass mode for insns to save_call_clobbered_regs instead of a
+	spill reg number.
+	Call reload_as_needed if we will have to reload the caller-save
+	insns, even if nothing else needs reload (unlikely).
+	(eliminate_regs_in_insn): Record maximum offset value.
+	* Makefile.in (caller-save.o): Includes expr.h.
+
+	* reload.c (find_reloads): CALL_INSNs can't have output reloads.
+	* reload1.c (emit_reload_insns): Put any reloads for a CALL_INSN
+	in front of any immediately-preceeding USE insns.
+
+	* flow.c (life_analysis): Mark all global regs as live at the end of
+	the function.
+	(propagate_block): Each call makes all global registers live.
+	(mark_used_regs): A RETURN may use the stack pointer and uses all
+	global regs.
+	* cse.c (cse_insn): A CALL_INSN clobbers any global regs.
+	* reorg.c (mark_referenced_resources): Calls used global regs.
+	(mark_set_resources): CALL_INSNs clobber global regs.
+
+Fri Jan 10 17:24:06 1992  Michael Meissner  (meissner at osf.org)
+
+	* collect2.c (whole file): Major rewrite to merge in collect3
+	functionality which uses GCC to build up the constructor and
+	destructor tables, instead of using the assembler.  Also improve
+	the support for cross compilers to find the tools.  The old assembly
+	language support has been removed.
+
+	* mips-tfile.c (CODE_MASK): Move to mips.h to use with mips-tdump
+	also.
+	(MIPS_IS_STAB): Likewise.
+	(MIPS_MARK_STAB): Likewise.
+	(MIPS_UNMARK_STAB): Likewise.
+
+	* mips-tdump.c (various): Changes by Per Bothner to print
+	encapsulated stabs, and to shorten the output.
+
+	* mips.h (MIPS_VERSION): Set Meissner version # to 7.
+	(cmp2_op): Make cmp2_op a real function instead of just a
+	macro to cmp_op.
+	(OPTIMIZATION_OPTIONS): -O now sets flag_caller_saves and
+	flag_schedule_insns_after_reload.
+	(CC1_SPEC): Fix typo preventing -mgpopt from being set if
+	optimization.
+	(PREDICATE_CODES): Define.
+	(USE_COLLECT, EXTENDED_COFF, NO_UNDERSCORES): Delete, not needed in
+	GCC 2.00.
+	(ASM_INT_OP, ASM_SHORT_OP, ASM_CHAR_OP): Likewise.
+	(CODE_MASK): Move from mips-tfile.
+	(MIPS_IS_STAB): Likewise.
+	(MIPS_MARK_STAB): Likewise.
+	(MIPS_UNMARK_STAB): Likewise.
+
+	* mips.c (cmp2_op): Make this a real function, instead of a macro
+	pointing to cmp_op.
+	(volatile_buffer): New static variable to support .set volatile.
+	(mips_move_1word): Do .set volatile/.set novolatile around volatile
+	memory references.
+	(mips_move_2words): Likewise.
+
+	* mips.md (sne define_split): Fix so that it generates a gtu 0.
+	(all set cc define_splits): Remove reload_completed tests.
+	(all set cc define_insns): Don't allow 0 as operand 1.
+
+Fri Jan 10 16:40:45 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
+
+	* m68k.md (addsi3, addhi3, subsi3, stack adjustment peepholes):
+	Perform small (8 < N <= 16) constant additions and subractions to
+	address registers with two addqw (or subqw) instructions.
+
+Fri Jan 10 06:54:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* calls.c (expand_call): Check for _longjmp as well as longjmp;
+	clean up code a bit and merge with check for setjmp-like names.
+	Emit a BARRIER if this is a call to longjmp in addition to
+	volatile calls.
+
+Fri Jan 10 02:25:54 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (digest_init): Properly return error_mark_node
+	after invalid element in array initializer.
+
+	* gcc.c (pexecute): Use `fork' in error message if don't have vfork.
+
+	* Makefile.in: Add .NOEXPORT.
+
+Thu Jan  9 13:36:25 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_expr): Handle OFFSET_REF.
+
+	* cse.c (simplify_binary_operation): Never use associative law for
+	floating arithmetic.
+
+	* fixinc.svr4: Renamed INCLUDES to INPUT.
+
+	* i386.md (cmpstrsi recognizers): Output repe, not repz.
+
+Thu Jan  9 18:02:34 1992  Dennis P. Glatting  (dennisg at tti)
+
+	* tree.h (CONSTRUCTOR_NAME_FORMAT): Changed name format.  Old format
+	was recognized as destructors not constructors.
+	* objc-actions.c (build_module_descriptor):
+	Null-terminate global_object_name.
+
+Thu Jan  9 10:35:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_syms): Don't attempt to output a LABEL_DECL.
+
+Thu Jan  9 08:17:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (merge_component_references): Treat constants as
+	unsigned, so we don't get extra sign bits where we don't want them.
+
+Wed Jan  8 19:12:59 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reload.c (combine_reloads): Don't use a fixed_reg as an reload
+	reg, even if it dies.
+
+	* loop.c (record_giv): Fix typo extracting insn_uid.
+
+Wed Jan  8 15:41:10 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cpp.texi, gcc.texi: Files renamed.
+	* invoke.texi, extend.texi, md.texi, rtl.texi, tm.texi: New subfiles.
+	* Makefile.in: Corresponding changes.
+
+	* fixincludes: Renamed INCLUDES to INPUT.
+
+	* m68k.c (notice_update_cc, print_operand): Fix typos.
+
+	* cp-decl.c (expand_static_init): Save and restore current obstacks.
+
+	* c-decl.c (poplevel): Put labels in BLOCK_VARS of top-level block.
+
+Wed Jan  8 12:53:48 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (expand_static_init): Switch to PERMANENT_OBSTACK during
+	expansion.
+
+Wed Jan  8 07:45:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88kv3.h (STARTFILE_SPEC): SVR3 has *crt0.o files.
+
+	* configure (m88k-*sysv{3,4}): The files are named m88kv{3,4}.
+
+Wed Jan  8 06:01:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* romp.md (mftbi): Allow memory in the contraints since there can't
+	be an input reload on an insn that uses cc0.
+
+	* cse.c (FIXED_BASE_PLUS_P): Include virtual_incoming_args_rtx.
+	(NONZERO_BASE_PLUS_P): New macro.
+	(find_comparison, simplify_relational_operation_args): Use
+	NONZERO_BASE_PLUS_P instead of FIXED_BASE_PLUS_P when appropriate.
+
+	* m68k.md (peepholes): Don't change around stack adjusts and pushes
+	when we are pushing something whose address involves sp.
+
+	* cse.c (simplify_unary_operation): Check for operations on
+	integers by looking at mode of OP, not output mode, to avoid
+	confusion with FIX operations whose result is an integer.
+
+	* rtl.h ([df]const[012]_rtx): Deleted.
+	(const_tiny_rtx): New declaration.
+	(CONST0_RTX): Use const_tiny_rtx instead of {d,f,}const0_rtx.
+	(CONST1_RTX, CONST2_RTX): New macros.
+	* emit-rtl.c ([df]const[012]_rtx): Deleted.
+	(const_tiny_rtx): New definition.
+	(init_emit_once): Initialize const_tiny_rtx instead of old vars.
+	* cse.c (simpify_binary_operation): Use CONST[01]_RTX.
+	* varasm.c (immed_real_const_1): Likewise.
+	* combine.c (subst): Likewise.
+	* reg-stack.c (record_reg_life, stack_reg_life_analysis): Likewise.
+	* convex.md, i860.md, m88k.c, spur.md, vax.h, ns32k.md: Likewise.
+
+Tue Jan  7 22:11:17 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* x-i386isc (ENQUIRE_LDFLAGS): New defn: add -posix.
+
+	* protoize.c (_POSIX_SOURCE): Define only if POSIX.
+
+	* m68k.h (FPA_REG_P): Always define this somehow.
+
+	* c-decl.c (c_decode_option): Handle -Wchar-subscripts.
+	* c-typeck.c (build_array_ref): Do the real work.
+
+Tue Jan  7 21:15:54 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.md (branch_zero_false): Use correct mode (CC_0) on
+	match_operator.
+
+Tue Jan  7 14:24:45 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reg-stack.c (replace_reg): get mode class from a mode, not a reg.
+
+Tue Jan  7 14:16:18 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reg-stack.c (emit_pop_insn): Fix typo FPmode_reg.
+
+	* protoize.c (longjmp): Don't declare it.
+
+Tue Jan  7 09:47:47 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-lex.c (real_yylex): From John Hassey, allocate space for the
+	terminating null on wide character literals.
+
+Tue Jan  7 07:41:42 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88kv3.h (LIB_SPEC): Add -lg.
+
+Tue Jan  7 06:29:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stor-layout.c (layout_type): Don't over-align a structure
+	when strict alignment is not required.
+
+	* rs6000.h (CALL_USED_REGISTERS): r31 should not be marked call-used.
+
+	* rs6000.md (add-and-compare): Fix duplicate operand number.
+
+	* a29k.md (inbyte, inhw): Correct duplicate operand number.
+
+	* fold-const.c (fold, case MULT_EXPR): Simplify (a * (1 << b)).
+	* combine.c (subst, case MULT): Likewise.
+	(simplify_shift_const, shift cases): Similarly, associate A << B << C.
+
+	* genoutput.c (seen): New array.
+	(scan_operands): Give error if an operand number was specified
+	twice.  Include pattern number in error message.
+	(gen_insn, gen_expand, gen_split, gen_peephole): Initialize `seen'.
+	(gen_split, gen_peephole): Add initializations for arrays that
+	are copied.
+
+	* optabs.c (expand_unop): Complete recent change; one TARGET was
+	not changed to TEMP.
+
+	* expmed.c (expand_mult): Always try multiplication by value and
+	by negated value. Fix bug where we don't include the cost of the negate
+	when seeing which way is better.  Write proper value in REG_EQUAL
+	note.
+
+	* optabs.c (extendtab): Replacement for {zero,sign}_extend_codes.
+	(can_extend_p): Use new table and return type is not enum insn_code.
+	(gen_extend_insn): Deleted; not used.
+	(init_extends): Make like init_flottab: use new table and initialize
+	unused entries to CODE_FOR_nothing, not zero.
+	* expr.c (convert_move): can_extend_p fails if it returns
+	CODE_FOR_nothing, not zero.
+	* expr.h (can_extend_p): Add definition.
+
+	* expr.h: Add "extern" to function definitions.
+
+Mon Jan  6 10:12:34 1992  Leonard Norrgard  (vinsci at nic.funet.fi)
+
+	* m68k.c (SUPPORT_SUN_FPA): Conditionalize references to the
+	optional Sun 3 Floating Point Accelerator with SUPPORT_SUN_FPA.
+	* m68k.h (SUPPORT_SUN_FPA): Likewise.
+
+	* m68k.c (notice_update_cc): New function.
+	* m68k.h (NOTICE_UPDATE_CC): Just call notice_update_cc.
+
+        * sun3.h (SUPPORT_SUN_FPA): New define.
+
+Mon Jan  6 16:42:43 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* varasm.c (assemble_global, assemble_label): New functions.
+	* objc-actions.c (finish_objc): Call them to define and globalize.
+	Use output_constant to reference a class.
+
+	* Makefile.in (install-limits-h): New target.
+	(install-headers): Depend on install-limits-h.
+	(USER_H): Deleted LIMITS_H.
+	(INSTALLED_H): Added limits.h.
+	(mostlyclean): Remove tmp-limits.h.
+	* limitx.h: New file.
+
+	* x-isc: File deleted.
+
+	* objc-actions.c (build_module_descriptor): Init global_object_name.
+
+	* Makefile.in (collect2): Depend on version.o.
+
+	* protoize.c (PATH_MAX): Definition deleted.  Just test it
+	to see if param.h should be included.
+
+	* cse.c (simplify_binary_operation, case MULT): Make a copy
+	of the operand when converting 2.0 * X to X+X.
+
+	* reload.c (find_reloads): Refine when we set force_reload and
+	better document the cases.
+
+Mon Jan  6 08:22:19 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.c (output_float_compare): Output only single-pop compare
+	if both operands are the FP top of stack reg.
+	When comparing FP top of stack with itself, print `%st(0)' as the
+	reg name, not `%st'.
+
+Mon Jan  6 12:01:51 1992  Tiggr  (rcpieter at mole.gnu.ai.mit.edu)
+
+	* arm.md (mulsi3): Fixed contraints.
+
+Mon Jan  6 08:21:46 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k-move.sh: Renamed from m88k-movstr.sh.  Rename the generated
+	files move*.asm from movstr*.asm to be SVR3-legit.
+	* t-m88k, t-m88kluna, t-m88kv4: Use the new names.
+
+	* c-aux-info.c, dbxout.c: Include errno.h as in protoize.c.
+
+	* Makefile.in (BISONFLAGS): Don't use -v since *.output is big.
+	(cp-parse.c): Do use -d to create cp-parse.h.
+	(cp-parse.o): Don't define PARSE_OUTPUT.
+	* x-mips, x-m88kdgux (BISONFLAGS): No -v.
+
+Mon Jan  6 07:54:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genpeep.c (match_rtx): Loop over vectors (e.g., PARALLEL) in the
+	natural order so we see an operand before we see a MATCH_DUP referring
+	to it.
+
+	* genrecog.c (write_tree_1): Simplify code that writes braces and
+	avoid writing them unnecessarily.
+	Don't write dead code when last test was unconditional.
+
+	* optabs.c (expand_binop, expand_twoval_binop, expand_unop):
+	Standardize loop for wider mode.
+	(emit_cmp_insn, emit_float_lib_cmp): Likewise.
+	(expand_binop): Correct how extensions are done: use convert_to_mode,
+	don't use SUBREG for non-integer operations, and remove test
+	involving HOST_BITS_PER_INT.
+	(expand_unop): Similar changes; make code closer to expand_binop.
+	Handle failure of recursive call when expanding.  Fix incorrect use
+	of TEMP when widening.  Use SUBREG for NEG and NOT.
+
+	* reload.c (find_reloads_address_part): New function.
+	(find_reloads_address): Call it instead of push_reload when we are
+	reloading a PLUS or a constant.
+
+Sun Jan 5 18:34:15 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com:  Change file names from cp-tab.* to cp-parse.*.
+
+Sun Jan  5 18:06:11 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Correctly grok REFERENCE_TYPE
+	parameters when TYPE_REFERENCE_TO is automagically converted.
+
+Sun Jan  5 05:19:19 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tree.h (CONSTRUCTOR_NAME_FORMAT): New macro.
+	* objc-actions.c (build_module_descriptor): Make constructor name
+	from name of file or of a global that it defines.
+	Return constructor name.
+	(finish_objc): Use name returned as name to call.
+
+	* protoize.c (GUESSPATHLEN): New macro.
+	(main): Use that for initial buffer size for getcwd.
+	* dbxout.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
+	(dbxout_init): Call getcwd in loop, as in protoize.c.
+	* c-aux-info.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
+	(gen_aux_info_record): Call getcwd in loop.
+	* i386v.h, i386vgas.h (MAXPATHLEN): Don't define.
+
+	* svr3.h (LINK_SPEC): Don't pass -K.
+
+	* reload.c (find_reloads): Do record in non_reloaded_operands if no -O.
+
+	* m68k.c (output_function_prologue, output_function_epilogue):
+	Add braces and adjust conditionals to fix balance and indentation.
+
+	* objc-actions.c (build_module_descriptor): Mark __objc_file_init used.
+
+Sat Jan  4 13:27:40 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* protoize.c: unprotoize getcwd & fork declarations.
+	(edit_fn_declaration): use "VOLATILE", not "volatile".
+
+Sat Jan  4 20:19:41 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (set_volatile): Add new global variable reference.
+
+	* mips.c (set_volatile): New global variable to keep track of the
+	number of .set volatile's done.  At present, no code actually turns
+	this on.
+	(mips_move_1word): Use %. instead of putting const0_rtx into an
+	unused operator and using %z to get to $0, which is hardwired to 0.
+	(mips_move_2words): Likewise.
+	(override_options): Allow %., %{, and %} punctuation.
+	(print_operands): Add support for %. to get the current name of
+	register 0, %{ to turn on .set volatile, and %} to turn on .set
+	novolatile.
+	(function_epilogue): Give an error if .set volatile was left on in
+	the epilogue.
+	(mips_asm_file_start): Don't emit .set nobopt unless we are filling
+	branch delay slots.
+
+	* mips.md (set reg on comparison define_splits): Don't allow the
+	scheduler to split any set of a comparision insns, to work around a
+	bug in sched.c.
+
+Sat Jan  4 23:01:41 1992  Jeffrey A Law  (law at planet.super.org)
+
+	* m68k.c (output_function_prolog): Decrement (instead of 
+	increment) num_saved_regs when a frame pointer is needed.
+	(the link/unlk will restore the frame pointer register)  
+
+Sat Jan  4 11:11:24 1992  Dennis P. Glatting  (dennisg at tti)
+
+	* next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef before defining.
+
+Sat Jan  4 07:40:25 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_to_mode): Correctly zero-extend a constant into
+	a mode whose size is twice the host int size.
+
+	* machmode.h (enum mode_class): Add MAX_MODE_CLASS.
+	(GET_CLASS_NARROWEST_MODE): New macro.
+	(byte_mode, word_mode): Add declarations.
+	* caller-save.c (choose_hard_reg_mode): Use GET_CLASS_NARROWEST_MODE.
+	* combine.c (make_extraction): Don't use explicit QImode and SImode.
+	* cse.c (simplify_unary_operation): Integer CONST_DOUBLEs have 
+	VOIDmode, not DImode.
+	(simplify_binary_operation): Remove explicit DFmode reference.
+	* expmed.c (init_expmed): Don't make our own copy of word_mode.
+	(store_bit_field, extract_bit_field): Remove explicit
+	QImode reference; don't recompute word_mode.
+	(store_fixed_bit_field, {store,extract}_split_bit_field): Don't
+	recompute word_mode.
+	(emit_store_flag): Likewise.
+	(extract_fixed_bit_field): Replace explicit mode references with a
+	loop on modes; don't recompute word_mode.
+	* expr.c (convert_mode, move_block_{to,from}_reg, use_regs): Don't
+	recompute word_mode.
+	(emit_push_insn, do_jump_by_parts*): Likewise.
+	(push_block): Remove explicit QImode reference.
+	(get_inner_reference): Use mode_for_size.
+	* emit-rtl.c (restore_reg_data): Make unused regs word_mode.
+	(operand_subword): Don't recompute word_mode.
+	* fold-const.c (optimize_bit_field_compare): Likewise.
+	(merge_component_references): Likewise.
+	* flow.c (mark_set_1, mark_used_regs): Likewise.
+	* loop.c (combine_movables): Use GET_CLASS_NARROWEST_MODE.
+	* optabs.c (expand_binop): Replace SImode references in multi-word
+	multiply with the mode used for each subpart.
+	(expand_binop, expand_unop): Don't recompute word_mode.
+	* reg-stack.c (reg_to_stack): Use GET_CLASS_NARROWEST_MODE.
+	* reload.c (find_equiv_reg): Check for MODE_FLOAT, not SFmode/ DFmode.
+	* rtl.c (class_narrowest_mode, byte_mode, word_mode): Define.
+	(init_rtl): Initialize them.
+	* sched.c (attach_deaths): Don't recompute word_mode.
+	* stor-layout.c (mode_for_size): Use GET_CLASS_NARROWEST_MODE.
+	(get_best_mode): Likewise.
+	Don't recompute word_mode.
+	* unroll.c (unroll_loop): Replace default of SImode with word_mode.
+
+	* calls.c (calls_alloca): Don't recurse on BLOCK_SUPERCONTEXT.
+
+Sat Jan  4 03:42:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* protoize.c (pointer_type): Use char * if non-ANSI.
+	(const_pointer_type): Likewise.
+	(malloc, realloc): Declare to return pointer_type.
+	(setjmp): Don't declare, to avoid trouble with macro defns.
+	(const): If not ANSI, define as empty macro.
+
+Sat Jan  4 00:59:53 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sparc.c (legitimize_pic_address): When converting a symbol_ref,
+	use an extra temp reg when -fPIC, and add a REG_EQUAL note to the
+	insn referencing the global offset table.  This allows loop to
+	optimize these PIC sequences.
+
+Fri Jan  3 20:29:57 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (return): Always output return insns.
+
+	* i386.h (FUNCTION_PROLOGUE): If the last nonnote insn in a function
+	is a BARRIER, don't output a function epilogue.
+
+Fri Jan  3 12:43:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips (ALL):
+	Use libgcc.a, not libgcc.
+
+	* protoize.c (STRINGIFY): Provide non-ANSI alternative definition.
+
+	* c-decl.c (get_parm_info): Keep non-parms in the parm list.
+
+	* stmt.c (cost_table): Now short.
+	(estimate_case_costs): Handle that.
+
+	* Makefile.in (float.h, *protoize.1, gcc.xtar.Z):
+	Make temp files, then rename.
+	(clean): Delete those temp files.
+
+	* Makefile.in (c-parse.c): Don't use -d, since cp-parse.output is big.
+
+Fri Jan  3 10:32:31 1992  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (cp-parse.c): Add missing -o flag.
+
+Fri Jan  3 08:21:04 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reg-stack.c: Complete last change (renaming DFmode_reg).
+
+	* expmed.c (init_expmed): Pass dummy pointer to number of clobbers to
+	recog so it can let us see patterns that need added clobbers.
+
+Fri Jan  3 07:54:32 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* c-decl.c (implicitly_declare): Record whether this is an implicit
+	declaration before setting IDENTIFIER_IMPLICIT_DECL.
+
+Thu Jan  2 21:17:12 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.c (compute_frame_size): Don't count FP registers twice.
+
+Thu Jan  2 14:59:55 1992  Michael Tiemann  (tiemann at hal)
+
+	* cp-lex.h: Renamed from cp-parse.h.  Now cp-parse.h is the file
+	created by bison from cp-parse.y.
+	* Makefile.in: reflect this naming change.
+
+Thu Jan  2 12:37:32 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (build_obj_method_call): Typo in NEXT case.
+
+	* next.h (HAVE_ATEXIT): Defined.
+
+	* c-decl.c (duplicate_decls):
+	No error if override decl that has DECL_BUILT_IN_NONANSI.
+
+	* Makefile.in (c-parse.c): Don't use -o, since cp-parse.output is big.
+
+	* Makefile.in (protoize, PROTOIZE): Delee these 2 new targets;
+	`protoize' was redundant.
+
+	* c-typeck.c (build_function_call): If the fn is volatile,
+	make a pointer-to-volatile-function type pointer.
+	* calls.c (expand_call): Handle calls to such pointers as volatile.
+
+	* expmed.c (init_expmed): Pass all 3 args to `recog'.
+
+	* varasm.c (output_constant): For REAL_TYPE, mode_for_size arg is bits.
+
+	* sparc.md (storing SF into mem at symb addr): Fix typos.
+
+	* protoize.c (my_access, my_stat, my_execvp, my_link, my_unlink):
+	(my_open, my_chmod): Macros that run access, stat,... with casts.
+	Renamed from former POSIX-only macros and made unconditional.
+	All calls to these functions also renamed.
+
+	* m68k.h (LEGITIMATE_PIC_OPERAND_P): Undo change below,
+	thus making the behavior really change to accept all CONST_DOUBLE.
+
+	* libgcc1.c, libgcc2.c: Renamed from gnulib1.c, gnulib2.c.
+	* gcc.c (link_command_spec): Link with libgcc.a.
+	* Makefile.in (libgcc): Rename targets and variables from gnulib.
+	* *.h, t-*, x-*: Rename refs to those symbols and files.
+	* expr.c (LIBGCC_NEEDS_DOUBLE): Renamed from GNULIB_...
+
+	* m68k.c (symbolic_operand): Reject all CONST_DOUBLE.
+	* m68k.h (SELECT_RTX_SECTION): Use LEGITIMATE_PIC_OPERAND_P.
+	(LEGITIMATE_PIC_OPERAND_P): Reject the CONST_DOUBLEs
+	that symbolic_operand used to accept.
+
+Thu Jan  2 21:06:13 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* protoize.c (is_id_char,free_def_dec,check_aux_info):
+	Don't declare them `inline'.
+	(save_def_or_dec,munge_compile_params,find_extern_def,check_source,
+	scan_for_missed_items): Use alloca instead of variable length arrays.
+
+	* Makefile.in (protoize,unprotoize): Get $(LIBS) for alloca.
+
+Thu Jan  2 21:40:52 1992  Jeffrey A Law  (law at b115.super.org)
+
+	* sparc.h (OPTIMIZATION_OPTIONS): Enable caller-saves for -O2
+	and higher optimization levels.
+
+Thu Jan  2 06:46:56 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* final.c (final_scan_insn): Compare debug_info_level with entries in
+	its enum, not with integers.
+
+	* reg-stack.c ({SF,DF}mode_reg): Deleted.
+	(FP_mode_reg): New array, indexed by register and by mode.
+	(reg_to_stack): Replace initialization of old vars with initialization
+	of FP_mode_reg.
+	(replace_reg): Use new array.
+
+	* romp.c, romp.h, romp.md: Rename symbolic_operand to
+	romp_symbolic_operand.
+
+	* emit-rtl.c (init_emit_once): Create virtual registers before the
+	structure value regsisters, since the latter might use the former.
+
+	* varasm.c (output_constant): Fix typo: missing arg to expand_expr.
+
+	* vax.md (call_pop, call_pop_value): Use correct register number for
+	stack pointer.  Add new patterns for case of zero args.
+
+Thu Jan  2 08:12:59 1992  Fred Fish  (fnf at sunfish)
+
+	* x-amix:  Minor changes to some comments.
+	* x-amix (CCLIBFLAGS, GNULIB2_CFLAGS, XCFLAGS):  Remove definitions.
+	* x-amix (manext):  Add definition.
+
+Thu Jan  2 11:14:28 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* fold-const.c (fold, case PLUS_EXPR): If association permits
+	reduction to var+0, convert var to the desired type before returning
+	it.
+
+Wed Jan  1 10:37:50 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* expr.c (convert_move): When GET_MODE_BITSIZE (TO_MODE) >
+	BITS_PER_WORD, check that it's also > GET_MODE_BITSIZE (FROM_MODE).
+
+	* expr.c (expand_expr): In CONSTRUCTOR case, preserve
+	MEM_IN_STRUCT_P when creating a new target when TARGET and EXP might
+	not be independent.
+
+Wed Jan  1 18:32:03 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (parmlist_1): Accept `PARMS; PARMS'.
+	(parmlist_or_identifiers_1): Likewise.  Also use plain parmlist_2.
+	Delete the ([names] decls) syntax.
+	(defn_parms, defn_parmlist_2): Deleted.
+	* c-decl.c (get_parm_info): Put parm decls into original order.
+	Don't nreverse the original decls list.
+	(pushdecl, duplicate_decls): Avoid error for forward parm decl.
+	(clear_parm_order): New function.
+	(push_parm_decl): Record original order of parms.
+
+	* c-decl.c (struct binding_level): New slot subblocks_tag_transparent.
+	(pushlevel): Use that, not ->parm_flag.
+	(start_function): Set that slot.
+
+	* config.sub: Always distinguish between amix and sysv4.
+	Convert commodore to cbm and digital to dec.
+
+	* m68k.md (stack adjust then push SI): New peephole.
+
+	* m68k.h, fx80.h (WCHAR_TYPE): Use precisely "long int".
+	* sun3.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Undef before defining.
+
+	* cexp.y (yylex): Use LONG_TYPE_SIZE, not INT_TYPE_SIZE.
+	(LONG_TYPE_SIZE): Add default definition.
+
+	* objc-actions.c: Declare index and rindex.
+	(build_module_descriptor): Simplify last change.
+	Use a fixed name for the initialization function.
+	(init_objc): Don't do constructor here.
+	(finish_objc): Do it here, with proper name if not NEXT_OBJC_RUNTIME.
+
+	* protoize.c: Unprotoized.
+	(edit_file): Improve message in -n case.
+
+	* Makefile.in (LANGUAGES): Add proto.
+	(C, C++, OBJC, OBJECTIVE-C): Aliases for l.c. targets.
+	(PROTOIZE, protoize, PROTO): Aliases for proto.
+	(rest.encap): Delete dep `proto'.
+
+Wed Jan  1 15:07:41 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.md (extend*): Use gen_lowpart to make the SUBREG, rather than
+	doing it wrong by hand.  If not optimizing, make sign extends from
+	memory not force the operand into a register first and do two
+	shifts -- combine already does this when optimizing.
+	(copyright): Add 1992 to list of years the file was modified.
+
+Wed Jan  1 06:10:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): When forcing an illegitimate constant into
+	memory, use mode of SET_DEST in case constant is VOIDmode.
+
+	* stmt.c (expand_end_case): Pass index type to emit_case_nodes instead
+	of unsigned flag.
+	(node_has_{low,high}_bound): Accept INDEX_TYPE as an argument and see
+	if the a node value is at the limit of values of the type.
+	(node_is_bounded): Accept INDEX_TYPE and pass to above functions;
+	always call them.
+	(emit_case_nodes): Accept INDEX_TYPE instead of UNSIGNEDP as arg;
+	pass index type to recursive calls and to calls to bound checking
+	functions.
+
+	* varasm.c (assemble_integer_zero): Deleted.
+	(assemble_integer, assemble_real): New functions.
+	(output_constant_pool, output_constant): Use new functions.
+	* final.c (end_final, profile_function): Likewise.
+
+	* calls.c (calls_alloca): Don't interpret operands that are RTL as if
+	they were trees; check args of nested CALL_EXPR for alloca calls.
+
+Wed Jan  1 16:51:30 1992  Fred Fish  (fnf at fishpond)
+
+	* Makefile.in (manext): Include the '.' character.
+	(mandir): Don't use manext.
+	(install-man, uninstall): Change uses of manext.
+
+Wed Jan  1 21:31:01 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* i860.md (cmpeqsi, cmpltsi, cmpgtsi):  Made control flow more obvious.
+	(cmpnesi, cmplesi, cmpgesi):  New patterns.
+	(cmpgeusi, cmpleusi):  Fixed bug in compares against zero.
+
+Tue Dec 31 11:16:37 EST 1991   Dennis P. Glatting (...!uunet!tti!dennisg)
+
+	* objc-actions.c (build_module_descriptor): Emit a constructor 
+	function.  Constructor function calls a ObjC run-time routine passing
+	a pointer to the module's module structure.
+	(init_objc): Call different constructor function if not Next.
+	(build_selector_translation_table): Don't give a selector global scope.
+	Changed in construction of decl_specs.
+
+Tue Dec 31 18:06:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genrecog.c (add_to_sequence): Clear PREDS for "const_int_operand".
+	(same_modes): Properly check when we should ignore a mode test.
+
+	* reload1.c (emit_reload_insns): Only change spill_reg_store for
+	output reloads.
+	Clear spill_reg_store when we did an input reload to a spill register.
+	(delete_output_reload): Use single_set.
+	(count_occurrences): Don't count use which is SET_DEST.
+
+Tue Dec 31 16:51:37 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (MIPS_VERSION): Change Meissner version # to 6.
+	(ASM_FINAL_SPEC): Don't pass -d and friends to mips-tfile.
+	(CONSTANT_ALIGNMENT): Align constructors on word boundaries.
+
+	* mips.md (extend*): Replace sign extension insns with a
+	define_expand that converts the expansion into the appropriate
+	shifts.  Add insns that do sign extension from memory, which the
+	optimizer will utilitize if the thing being sign extended really
+	comes from memory.  This allows the shifts to compete for CSE, at a
+	potential cost of generating worse code if reload spills a HI or QI
+	register to the stack.
+	(sne define_split): Instead of using a constant 0 as the second
+	argument to the slti instruction, use a hard coded regisiter 0.
+
+	* mips-sysv.h (MD_STARTFILE_PREFIX): Define to point into the
+	directory where the MIPS compilers live.
+	(LIB_SPEC): Add crtn.o after all libs.
+	(STARTFILE_SPEC): Use crt1.o, not crtn.o.
+	(MACHINE_TYPE): Correct typo, this is System V, not BSD.
+	Changes are from Ron Guilmette (rfg at ncd.com).
+
+	* configure (mips-*-sysv): Correctly use mips-sysv.h instead of
+	mips.h.  Change is from Ron Guilmette.
+
+Tue Dec 31 16:51:37 1991  Michael Stump  (mrs at charlie.secs.csun.edu)
+
+	* t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips: Remove
+	collect2 from EXTRA_PASSES, as collect2 does not need installing as
+	collect2.  Also, change the symlink back to a hard link.
+
+	* Makefile.in: Add collect2 to STAGESTUFF as it is something that
+	needs removing or moving to stagen, but it should not be installed.
+
+Tue Dec 31 15:47:50 1991  Michael Tiemann  (tiemann at hal)
+
+	* combine.c (simplify_comparison): Swap evaluation of OP0 and OP1 so
+	the lattern can use the result of the former.
+
+	* conditions.h: In comments, refer to `tm.h', since `tm-' is no
+	longer the form used for these files.
+
+Tue Dec 31 11:45:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cp-lex.c (lineno, finput): Decls deleted.
+
+	* global-alloc.c (find_reg): New arg RETRYING.
+	(retry_global_alloc, global_alloc): Pass that arg.
+
+	* Makefile.in (*protoize, *protoize.o): Compile with CC.
+	* protoize.c: Include config.h, not tconfig.h.
+	Always define _POSIX_SOURCE.
+
+	* convex*.h (CPP_SPEC): !ansi controls _POSIX_SOURCE, _CONVEX_SOURCE.
+	* conv1*.h, conv2*.h: Files deleted.
+
+	* m68k.h, fx80.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Defined.
+
+Tue Dec 31 08:08:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cexp.y (yylex): Record the parsed characters when dealing with
+	multibyte characters.
+
+Mon Dec 30 17:13:30 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (mulhi3,mulsi3): If a multiply by constant 128, use the
+	two operand multiply instead of three operand form: the AT&T
+	assemblers generate incorrect object code for the latter.
+
+Mon Dec 30 17:39:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Complete last change: use expand_and result.
+
+	* reload1.c (emit_reload_insns): Check if reload_in needs a secondary
+	reload if we have an in-out reload, since it might have been the
+	output the needed the secondary reload.
+
+	* cse.c (simplify_unary_operation): Mode of integer CONST_DOUBLE is
+	VOIDmode, not DImode.
+
+	* fold-const.c (fold, case COND_EXPR): Make an ABS_EXPR when the
+	comparison is LE_EXPR or LT_EXPR.
+
+	* calls.c (calls_alloca): New function.
+	(expand_call): Preexpand any argument that contains a call to alloca
+	if this call will use the stack.
+
+	* rs6000.h (DATA_SECTION_OP): Make result a string to avoid compilation
+	error.
+
+	* rs6000.h, sparc.h, sun2o4.h, sun3.h (WCHAR_TYPE_SIZE): Fix
+	incorrect definition.
+
+Mon Dec 30 16:10:46 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (CC1_SPEC): Complete change deleting -mnogpopt and -mngpopt
+	in favor of -mno-gpopt.
+
+Mon Dec 30 11:32:05 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-class.c (build_vtable): If we're doing #pragma interface
+	and the interface is known, set TREE_PUBLIC, regardless of
+	TREE_EXTERNAL settings.
+
+	* cp-decl.c (make_temporary_for_reference): Don't call
+	`convert_pointer_to', since the type may not be an aggr type.
+
+	* cp-decl.c (finish_decl): Now takes 4th arg NEED_POP.
+	All callers changed.
+
+	* cp-class.c (permanent_obstack): Declare it.
+	(add_method): push and pop obstacks before changing out of/into
+	temporary allocation.
+	* cp-decl.c (implicitly_declare): Add
+	push_obstacks_nochange/pop_obstacks around changes out of/into
+	temporary allocation.
+	(shadow_tag,xref_tag,start_decl,finish_decl): Ditto.
+	* cp-decl2.c (grokfield,get_temp_name): Ditto.
+	* cp-except.c ({ansi_}lookup_exception_object): Ditto.
+	* cp-lex.c (get_time_identifier): Ditto.
+	* cp-tree.c (build_exception_variant): Ditto.
+	* cp-typeck.c (mark_addressable): Ditto.
+
+	* cp-decl.c (grokdeclarator,maybe_build_cleanup): Delete calls to
+	preserve allocation status.  Now handled by callers.
+
+Mon Dec 30 01:44:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-lex.c (yyprint): Function moved here.
+	* c-parse.y, objc-parse.y: Moved from here.
+
+	* Makefile.in (c-parse.c, objc-parse.c, cp-tab.c, cexp.c):
+	cd to srcdir to run Bison.
+
+	* c-lex.c (check_newline): Get rid of #ident pedantic warning.
+	* cccp.c (do_ident): Put it here.
+	Don't warn if in system header file.
+
+	* cccp.c (main, finclude): Warn if file ends in backslash-newline.
+
+	* next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): New definitions.
+
+	* global-alloc.c (find_reg): Kick out local regs if that helps.
+	(global_alloc): Set up vars local_regs_live_length, local_regs_n_refs.
+
+	* protoize.c (do_processing): Fix setting syscalls_absolute_filename.
+
+	* configure (m68k-*-sysv4*, m68k-*-amix*): New alternatives.
+	* config.sub (*-commodore): Default OS to Amigados.
+	(-amix*): Allow this as input.
+	(amiga): New abbreviation.
+
+	* sparc.c (output_function_epilogue): Skip unimp differently in leaf.
+	Use jmp insn rather than separate add.
+	(output_return): Skip unimp here too.
+	* sparc.md (return "peepholes"). Handle skipping the unimp.
+
+	* fold-const.c (fold, optimizing 2*EXPR): Use save_expr.
+
+	* varasm.c (make_decl_rtl): Permit initializer for local explicit reg.
+
+	* c-decl.c (kept_level_p):  Changed to also return TRUE for binding
+	levels which contain only tagged type declarations.
+
+	* calls.c (expand_call): Cleaned up prev change.
+
+Mon Dec 30 11:29:47 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+
+	* cp-lex.c (real_yylex): Call REAL_VALUE_TRUNCATE with 2 args.
+
+	* calls.c (expand_call): Handle allocating ARGBLOCK in the case
+	that ACCUMULATE_OUTGOING_ARGS is not defined.
+
+Mon Dec 30 10:27:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* protoize.c: fix typo in <sys/wait.h> inclusion.
+
+Mon Dec 30 06:16:16 1991  Leonard Norrgard  (vinsci at nic.funet.fi)
+
+	* c-decl.c (grokdeclarator): Changed erroneus error message.
+
+Sun Dec 29 16:16:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (main): Last -On option wins.
+	* Makefile.in (ENQUIRE_CFLAGS): Add -O0.
+
+	* Makefile.in (cp-tab.c): Change "expect" message.
+
+	* final.c (leaf_renumber_regs): Renumber just the PATTERN.
+
+Sun Dec 29 14:20:15 1991  Per Bothner  (bothner at cygnus.com)
+
+	* dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
+	20) was a little too drastic: If it succeded, no type info was
+	emitted at all, which made for syntactically invalid stabs.
+	Instead, just set 'full=0',
+	* dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
+	little cleaner.  It *seems* to work ...
+
+Sun Dec 29 07:04:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_move): Add truncates from DImode to smaller modes.
+	(move_by_pieces, move_by_pieces_ninsns): Rework to remove explicit
+	references to integer modes.
+	Never need to align greater than BIGGEST_ALIGNMENT.
+
+	* optabs.c (init_extends, init_fixtab, init_floattab, init_optabs):
+	Add TImode operations.
+
+	* reload.c (find_reloads): Prefer alternatives that reload SCRATCH
+	instead of something else.
+
+	* rs6000.md (movti): Adjust constraints and alternative order so
+	we actually get to use the  stsi insn.
+
+	* rs6000.h (REG_ALLOC_ORDER): Put r9 in front of r11 so we don't try to
+	put a TImode value in r11 as often.
+
+	* caller-save.c (setup_save_areas): New parameter pchanged; set when
+	memory is allocated.
+	* reload1.c (reload): Pass pointer to something_changed to
+	setup_save_areas.
+
+	* loop.c (scan_loop): Don't suppress moving insns that can trap just
+	because we have passed a call inside a libcall/retval block.
+
+	* jump.c (get_label_before): Don't separate a CALL_INSN from any USE
+	insns immediately preceeding it.
+	(get_label_after): Likewise, for following CLOBBERs.
+
+	* cse.c (fold_rtx, case '<'): When seeing if we have seen this
+	comparison before, use a constant equivalence.
+	Add test for things like "(a | 1) != 0".
+	(fold_rtx, case '2'): Move code to handle associative operations to
+	here; add support for MINUS, SMAX, SMIN, UMAX, and UMIN.
+	(record_jump_equiv): See if OP1 is equivalent to a constant.
+
+	* jump.c (jump_optimize): Don't pass a SUBREG as a target to
+	expand_and.
+
+	* combine.c (subst): Never associate floating-point, even if not IEEE.
+	Associate MAX and MIN operations.
+
+	* output.h (output_asm_insn, asm_fprintf): Add "extern" to decls.
+	(alter_subreg): Add declaration.
+	* rs6000.md (movsf, movdf): Don't declare alter_subreg here.
+	(trunc_call_rtl): Don't declare trunc_used; use rs6000_trunc_used.
+	* rs6000.c (rs6000_trunc_used): New name of trunc_used.
+	* rs6000.h (rs6000_trunc_used): Add declaration.
+
+Sat Dec 28 18:14:21 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-method.c (build_overload_name): Don't call OB_FINISH unless END
+	is nonzero.
+
+Sat Dec 28 17:46:05 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* gcc.c (default_compilers): Handle -ansi in the C++ entries
+	exactly the same way as the C entries do.
+
+	* rtl.c (add_dependence): Cast enums to int before doing an
+	ordered comparison, since some compilers can't do this.
+
+	* sparc.c (pic_address_needs_scratch): New function.  Returns
+	true if the pic address X needs a scratch register when loaded.
+	(legitimize_pic_address): Clean up.  New argument SCRATCH, which
+	is a scratch register for those loads that need it.
+	(emit_move_sequence): New argument SCRATCH_REG, which is a scratch
+	register for those loads that need it.  When loading a pic label,
+	set %o7 instead of clobbering it so its value can be used later.
+	(compute_frame_size): Leaf functions need to allocate space for
+	register window in frame if size greater than 0.
+	(print_operand): Delete obsolete %^ which added %o7 to addresses.
+	All uses of %o7 are now explicit.
+	* sparc.h: Fix callers of legitimize_pic_address.
+	(REG_CLASS_FROM_LETTER): Add 'r' case.
+	(SECONDARY_INPUT_RELOAD_CLASS): New macro, to force reload to
+	allocate a scratch register for certain pic address reloads.
+	(flag_pic): Define as extern so that it will be defined for
+	insn-emit.c.
+	* sparc.md: Fix all callers of legitimize_pic_address and
+	emit_move_sequence.
+	(reload_insi): New pattern.  Used to force reload to allocate a
+	scratch register for those pic address loads that need one.
+	(reload_insi+2): When loading pic label, set %o7 instead of
+	clobbering it.
+	(movdf, movsf): Reject matches that would require reloading via
+	use of a condition.
+	(tablejump): Now a define_expand, so can generate different
+	pattern when pic.
+	(pic_tablejump): Explicitly mention in rtl that %o7 is used,
+	instead of using %^.
+
+	* m88k.h, sparc.h: Delete references to non-existent
+	BLOCK_PROFILER_USED_REG_P macro.
+
+Sat Dec 28 14:31:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-lex.c (check_newline): Set ignore_escape_flag for reading filename.
+	(yylex): Handle ignore_escape_flag in string constant.
+
+	* gnulib2.c (__do_global_dtors): Count elements properly.
+
+	* m68k.md (tsthi): Don't allow address register.
+
+Sat Dec 28 11:49:06 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* final.c (final): Initialize elements of line_note_exists.
+
+	* protoize.c: Don't include <sys/wait.h> on USG unless SVR4.
+
+Sat Dec 28 11:09:36 1991  Fred Fish  (fnf at fishpond)
+
+	* Makefile.in (includes): Pre-remove the tmp dir; fix INSTALLED_H ref.
+
+Sat Dec 28 06:31:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* sparc.md (movstrsi): Fix typo testing for more than 32 subunits.
+
+	* genrecog.c: Major rework.
+	We now check to see if pairs of comparison nodes can have anything
+	that they both match.  If not, they can be reordered.  An efficient
+	ordering is established that groups all nodes with identical rtl
+	codes inside groups with identical modes.  This allows us to generate
+	a comparison tree that is a list of nested switch statements.
+	Also, genrecog.c is now indented properly so that debugging is eased.
+	(add_to_sequence): Enforce mode on the first arg of COMPARE, comparison
+	operation, SIGN_EXTEND, and ZERO_EXTEND.
+
+	* a29k.h, romp.h, rs6000.h (PREDICATE_CODES): Add definition.
+
+Fri Dec 27 17:31:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.h, decrose.h, encrose.h, m88kdgux.h (WCHAR_TYPE_SIZE):
+	Add definition.
+	* rs6000.h, sparc.h, sun2o4.h, sun3.h, svr3.h, svr4.h: Likewise.
+
+	* expmed.c (expand_mult): For negative values, try multiplication by
+	the original value as well as by negated value.
+
+Fri Dec 27 20:54:59 1991  Fred Fish  (fnf at fishpond)
+
+	* m68kv4.h:  Include m68ksgs.h rather than m68k.h.
+
+	* m68kv4.h:  Define TARGET_DEFAULT to be 68020 + 68881.
+	(CPP_SPEC): Define based on TARGET_DEFAULT
+
+	* m68kv4.h (PCC_STATIC_STRUCT_RETURN): Undef this.
+	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Defs deleted.
+	(ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Defs deleted.
+
+	* m68kv4.h (ASM_OUTPUT_SKIP, FUNCTION_VALUE_REGNO_P):
+	(FUNCTION_PROFILER, STRUCT_VALUE_REGNUM, BSS_ASM_OP):
+	(FUNCTION_VALUE, FUNCTION_EXTRA_EPILOGUE, LIBCALL_VALUE):
+	(STACK_BOUNDARY, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT):
+	Redefined to match m68k/SVR4 conventions.
+
+	* m68ksgs.h (ASM_OUTPUT_SKIP): Redefined to use `.space'.
+	(ASM_NO_SKIP_IN_TEXT): Defined.
+
+	* amix.h, xm-amix.h, x-amix: New files.
+
+Fri Dec 27 20:43:11 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-tree.h (build_overload_name): Declare this function.
+	* cp-decl2.c, cp-method.c: Delete random `extern' declarations.
+
+	* cp-lex.c (get_directive_line): Declare it extern.
+	(lineno,yychar,yylval,lastiddecl,finput): Ditto.
+	(ridpointers): Don't need to declare it here.
+	(check_newline): Handle new #pragmas.
+
+	* cp-class.c (add_method): Add a cast in call to `obstack_base'.
+
+Fri Dec 27 20:22:05 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (push_overloaded_decl): Now returns a value.
+	All callers changed.
+
+	* cp-decl.c (duplicate_decls): Give better error message when user
+	declaration conflicts with built-in one.  Also, when we decide to
+	keep a builtin function builtin, copy the DECL_RTL from OLDDECL to
+	NEWDECL.
+
+Fri Dec 27 17:18:15 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (TRAMPOLINE_TEMPLATE): Define correctly for MIPS.
+	(TRAMPOLINE_SIZE): Define to be 9 words.
+	(INITIALIZE_TRAMPOLINE): Define correctly for MIPS.
+	(TRANSFER_FROM_TRAMPOLINE): Define to do a mprotect of the
+	trampoline, so that we can jump to it.  I suspect the mprotect may
+	fail on some MIPS based systems, because the trampoline is on the
+	stack, and not in the data section.
+
+	* mips.c (mips_output_filename): Don't warn about ECOFF not
+	handling #line's within functions if we are using the OSF/rose
+	object format.
+
+Fri Dec 27 15:35:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_array_ref): Special warning about `register' array.
+
+	* gnulib2.c (L_trampoline): Don't create a function here.
+	The definition of TRANSFER_FROM_TRAMPOLINE can do that if nec.
+	* m68k.h (TRANSFER_FROM_TRAMPOLINE): Make the function here.
+
+	* fx80.*: Renamed from alliant.*.
+	* configure: Alternative renamed to fx80-alliant-*.
+	* config.sub: Corresponding changes.
+
+	* cccp.c (traditional): No longer static.
+	* cexp.y (yylex): Handle full variety of character constants.
+	Include stdlib.h and locale.h if needed.
+
+	* c-decl.c (shadow_tag): Change warnings to error or pedwarn.
+
+	* gnulib2.c (__do_global_dtors): If length not given, count it.
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Ignore length; scan till null.
+	(__CTOR_END__, __DTOR_END__): Declarations deleted.
+
+	* cp-decl2.c (finish_file): Always change $ to _
+	regardless of NO_DOLLAR_IN_LABEL.
+
+Fri Dec 27 15:04:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* svr4.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo.
+
+	* m88k.c: Move extern decls.
+	(output_ascii): Use ASCII_DATA_ASM_OP.
+	* m88k.h (HAVE_ATEXIT): Delete.
+	(ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL,
+	 ASCII_DATA_ASM_OP): Override svr4.h.
+	(EXTRA_SECTIONS): No ctors/dtors for m88k-luna.
+	* m88kdgux.h (STANDARD_STARTFILE_PREFIX): No need to override svr4.h.
+
+Fri Dec 27 11:34:59 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-pt.c (mangle_class_name_for_template): Use a local obstack
+	rather than fixed-size buffers.
+
+	* cp-class.c (add_method): Case obstack_base value to desired type
+	when reallocating vector node.
+
+Fri Dec 27 09:16:50 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* sort-protos:  New file.
+
+	* i386.c: Remove decls of frame_pointer_needed; include flags.h.
+	* i386.c (output_387_binary_op, output_float_compare):
+	Moved declarations of strcat to top level.
+
+	* i860.md (cmpnesf, cmpnedf):  New patterns.
+	* i860.md (cmplesf, cmpgesf):  Corrected to allow for IEEE conformance.
+
+Thu Dec 26 11:20:07 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-class.c: Declare N_* variables here.
+	* cp-class.h: Declare N_* variables extern here.
+
+	* cp-gc.c (build_static_gc_entry): Call `assemble_gc_entry' instead
+	of implementing it directly.
+	* varasm.c (assemble_gc_entry): New function.
+
+	* calls.c (expand_call): Don't crash if somebody declared a void
+	function `const'.
+
+	* cp-cvt.c (convert): Handle case when two equal array types are
+	distinct (in memory).
+	* tree.c (build_index_2_type): Don't set TREE_TYPE of lower bound.
+	(index_type_equal): New function.
+
+	* cp-spew.c (yylex): Extend special-case ptr-to-func ((*)()) parsing
+	to handle (*)[] and (&)[] declarations as well.
+
+	* cp-decl2.c (finish_file): Unconditionally call
+	assemble_{constructor,destructor}.  Also, delete code for writing
+	_init and _fini sections that was #if 0'd.  These actions belong in
+	varasm if anywhere.
+
+	* cp-class.c (add_method): Fix handling of obstacks to correctly
+	extend TREE_VECs.
+
+Thu Dec 26 15:24:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (main): Add new option -include.  Rename -i to -imacros.
+	* gcc.c (SWITCH_TAKES_ARG): Remove -i.
+	(WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
+	* hp800.h (WORD_SWITCH_TAKES_ARG): Add all the standard alternatives.
+	* mips.h (SWITCH_TAKES_ARG): Remove -Y and -i.
+	* next.h, sparc.h (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
+	* sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Copy from sparc.h.
+	* svr4.h (SWITCH_TAKES_ARG): Remove -i, -f.
+	(WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
+
+	* toplev.c (flag_gnu_linker): New variable.  -fgnu-linker.
+	* flags.h (flag_gnu_linker): Declare it.
+	* varasm.c (assemble_constructor, assemble_destructor):
+	Handle flag_gnu_linker.
+
+	* sparc.md (structure values): Separate unimp pattern deleted.
+	New pattern for combined call and unimp.  `call' pattern changed.
+	(type): Deleted type marker, added call_no_delay_slot.
+
+Thu Dec 26 05:04:28 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reg-stack.c (move_for_stack_reg): If a SET_DEST is REG_UNUSED,
+	just pop the SET_SRC.
+
+Wed Dec 25 17:23:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Fix type of exit, _exit.
+
+	* jump.c (cross_jump_death_matters): Move def to front, make static.
+
+Tue Dec 24 20:41:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* hard-reg-set.h (reg_names): Declare here.
+	* stmt.c (expand_asm_operands): Not here.
+
+	* gcc.c (handle_braces, do_spec_1, give_switch): Clear up %*.
+
+	* expr.c (expand_expr): Delete decl of lang_expand_expr.
+
+	* final.c (final_scan_insn): Delete line number followed by another
+	line number, if numbers are effectively consecutive.
+
+	* jump.c (jump_optimize): Set cross_jump_death_matters from cross_jump.
+	* reg-stack.c (reg_to_stack): Pass 2 for cross_jump to jump_optimize.
+	Don't set cross_jump_death_matters here.
+	(record_reg_life): Delete decl of call_used_reg_set.
+
+	* c-decl.c (init_decl_processing):
+	Declare abort, exit, and _exit as volatile.
+
+	* c-decl.c (implicitly_declare): Set IDENTIFIER_IMPLICIT_DECL earlier.
+	(pushdecl): Test that and avoid nested extern warning.
+
+	* c-decl.c (init_decl_processing): Don't handle EXPAND_BUILTIN_VARARGS.
+
+Tue Dec 24 15:42:34 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-init.c (add_friends): Add missing IDENTIFIER_POINTER macro
+	application to strncmp argument.
+
+	* cp-method.c (build_overload_*): Now uses SCRATCH_OBSTACK instead
+	of relying on fixed buffers of finite length.
+	(fndecl_as_string): Ditto.
+	All callers changed.
+	* cp-except.c (cplus_exception_name): Definition moved to
+	cp-method.c.
+
+Tue Dec 24 10:38:49 1991  Michael Collison  (collison at osf.org)
+
+	* ns32k.c (hard_regno_mode_ok): Define this as a function now.
+	Also change the way it work so that we don't allow moves between
+	the general registers and the floating point registers.
+
+	* ns32k.h (HARD_REGNO_MODE_OK): Turn it into a function call.
+
+	* ns32k.md (call_value): fix to correct a bug where the compiler thinks
+	the return value of a function call is in f0 instead of r0. Fix
+	courtesy of vince russo.
+	(movqi, movhi): Fix up these patterns because they could return
+	undefined instruction templates. Fix courtesy of vince russo.
+
+Tue Dec 24 10:14:20 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* mips-tfile.c (main): Move nested extern decl of version_string to
+	file-scope.
+	(catch_signal): Move nested extern decl of sys_siglist to
+	file-scope.
+
+	* varasm.c (assemble_variable): Handle ASM_OUTPUT_ALIGNED_COMMON.
+	* svr4.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): New.
+	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Deleted.
+
+	* gcc.c (SWITCH_TAKES_ARG, default_compilers):  Eliminated -Y* option.
+	(execute):  Moved decls of execv and execvp to top level.
+	(do_spec, do_spec1, handle_braces, give_switch): Support new %* spec.
+
+	* c-lang.c (recognize_objc_keyword):  Added explicit return.
+
+	* svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):  New definitions.
+	(ASM_SPEC, LINK_SPEC): Support more standard svr4 options.
+	(LIB_SPEC):  Fixed to link crtend.o *after* libc.a.
+
+	* svr4.h (CONST_SECTION_FUNCTION):  Moved decl of `text_section' to
+	top level.
+
+	* cexp.y (main): Add explicit return type and explicit value.
+	Move decl of yydebug to top level.
+
+	* gnulib2.c (__bb_init_func):  Moved decl of ___tcov_init to top level.
+
+	* toplev.c (main):  Deleted obsolete checks for -opt and -noreg.
+	Moved decls of environ, version_string, language string to file-scope.
+	Compile-time error if PREFERRED_DEBUGGING_TYPE is missing.
+
+	* tree.c (dump_tree_statistics): Deleted decl of class_obstack.
+	(object_permanent_p):  Added explicit return type.
+
+Tue Dec 24 09:29:24 1991  Charles Hannum  (mycroft at hal.gnu.ai.mit.edu)
+
+	* expr.h (lang_expand_expr): Fix typo.
+
+Tue Dec 24 06:52:45 1991  Michael Meissner  (meissner at osf.org)
+
+	* gnulib2.c (__main): Make sure the exit module is pulled in if we
+	have atexit, since that module defines constructor/destructor
+	variables as bss symbols rather than as references.
+
+	* decrose.h (HAVE_ATEXIT): Define.
+	* encrose.h (HAVE_ATEXIT): Define.
+	* i386rose.h (HAVE_ATEXIT): Define.
+	* decstatn.h (HAVE_ATEXIT): Define.
+
+	* gcc.texinfo (HAVE_ATEXIT): Expand documentation.
+	(EXIT_BODY): Document.
+
+	* protoize.c (POSIX): Make protoize accept TARGET_POSIX as a synonym
+	for POSIX to make the code and documentation agree.  Also, if the
+	user defined _POSIX_SOURCE explicitly, turn on POSIX support in
+	protoize.
+
+Tue Dec 24 00:14:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* calls.c (emit_call_1): Additional arg STRUCT_VALUE_SIZE.
+	Use as arg in call and call_value insns.
+	(expand_call): Record the size, to pass it.
+	* expr.c (emit_library_call): Pass 0 for STRUCT_VALUE_SIZE.
+	* sparc.md (call, call_value): Make use of new arg.
+	Generate an unimp instruction to use sparc calling convention.
+	Add nameless pattern to recognize it.
+	* sparc.c (output_function_epilogue): Skip the caller's unimp insn.
+
+	* Makefile.in (INSTALLED_H): New variable.
+	(includes): Preserve just those specific files.
+
+	* expr.h (lang_expand_expr): Declare it.
+	* expr.c: Don't declare it.
+	* cp-expr.c (init_cplus_expand): Set up lang_expand_expr here.
+	* cp-lex.c (init_lex): Call init_cplus_expand.
+
+Mon Dec 23 15:17:59 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* configure: Delete m88k-v88r32 (this is supported by m88k-svr3)
+	and add m88k.
+	* config.sub: Delete v88r as a system type.
+
+Mon Dec 23 19:50:48 1991  Fred Fish  (fnf at fishpond)
+
+	* 3b1.h, crds.h, hp320.h, m68k.md, m68ksgs.h, mot3300.h, news.h,
+	tower-as.h:  Replace port oriented macros SGS_3B1, HPUX_ASM, and
+	SONY_ASM, with configuration oriented macros SGS_SWITCH_TABLES,
+	SGS_SWAP_W, SGS_CMP_ORDER, and SGS_NO_LI.
+
+	* m68ksgs.h: New file.
+
+	* m68k.c (print_operand_address): Change switch labels for MOTOROLA.
+	Don't use a `%'.  Add missing `L' to some labels.
+	For SGS assembler, use one symbol for the offset.
+
+Mon Dec 23 17:03:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* recog.h (insn_name): New declaration.
+	* final.c (output_asm_insn):  Don't declare insn_name here.
+
+	* dbxout.c (dbxout_function, dbxout_begin_function):
+	Pass missing arg to dbxout_really_begin_function.
+
+	* jump.c (jump_optimize): Set new var can_reach_end.
+	* c-decl.c, cp-decl.c (finish_function):
+	Merge that into current_function_returns_null.
+
+	* config.sub (fx2800): New machine alias.
+
+	* va-m88k.h (va_start): Test __GNUC__, not __CLASSIFY_TYPE__.
+
+	* m88kv4.h: New version from Wood.
+	(CPP_PREDEFINES): Put -A options here.  Remove __CLASSIFY_TYPE__.
+
+	* cccp.c (initialize_builtins): Define __GNUC__ as 2.
+
+	* rtl.h (read_rtx): New declaration.
+
+	* c-lex.c: Don't include output.h.
+	(asm_out_file): Declare it.
+	(ridpointers): Allocate storage here.
+
+	* c-lex.h (lastiddecl, token_buffer): Declare here.
+	(yylex, make_pointer_declarator, reinit_parse_for_function): Likewise.
+	* c-parse.y, objc-parse.y: Not here.
+
+	* objc-actions.c (error_with_ivar, error_with_method):
+	(warn_with_method): Use count_error, not errorcount.
+
+Mon Dec 23 11:50:37 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* sdbout.c:  Fixed typo.
+	* stmt.c (init_stmt, init_stmt_for_function):  Explict return type.
+	* gnulib2.c (__fixunsdfdi, __fixunssfdi): Move extern decls.
+	* recog.c (init_recog):  Added explicit return type.
+	* longlong.h (count_leading_zeros):  Moved decl of `__clz_tab'.
+	* print-rtl.c (insn_name_ptr):  Make decl `extern'.
+
+	* objc-actions.h, objc-actions.c (doing_objc_thang):  Make extern.
+	* objc-actions.h, objc-actions.c (finish_class):  Return void.
+	* objc-actions.c (continue_class):  Added default error return value.
+
+	* fixinc.svr4: Map assertion tests to equivalent ANSI macro tests.
+
+	* i860.c (output_block_move):  Disabled code to move by words or
+	halfwords until it can be made to work right.
+
+	* i860.c (output_block_move):  Moved a sequence of common
+	`output_asm_insn' calls out of (and before) conditionals.
+
+	* i860.c (output_block_move):  Corrected bugs in move loop.
+
+Mon Dec 23 15:25:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88kv4.h (CPP_PREDEFINES): Fix for varargs/stdarg.
+	(includes): Include svr4.h before m88k.h so the overrides in m88k.h
+	will take effect.
+
+Mon Dec 23 07:06:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* i860.c (output_delayed_branch): Call insn_extract and
+	constrain_operands so that `which_alternative' is set properly.
+
+	* stor-layout.c (layout_type, case ARRAY_TYPE): Handle
+	TYPE_NO_FORCE_BLK similar to RECORD_TYPE.
+
+	* encrose.h, i386rose.h, mips.h (LIBG_SPEC): Deleted; unused.
+
+Sun Dec 22 12:02:03 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.c (function_epilogue): Use correct operand for insn mode.
+
+Sun Dec 22 12:20:16 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for member
+	functions that are really declared as inline methods.
+
+	* cp-init.c (build_virtual_init): Add missing call to
+	`assemble_external' when we use a virtual function table.
+
+	* cp-decl.c (implicitly_declare): Don't allocate a decl if at the
+	global binding level.
+
+	* vax.h (PRINT_OPERAND): Handle new 'R' case.
+	* vax.md: Change all patterns which passed a negated operand for
+	`rotl' to use 'R' as the negator, since rotl cannot acctually handle
+	negative arguments.
+
+Sun Dec 22 12:31:46 1991  Ron Guilmette (rfg at ncd.com)
+
+	* i386v4.h (TARGET_VERSION):  Added definition.
+	* i860v4.h (TARGET_VERSION):  Added definition.
+
+	* m68kv4.h:  New file.
+	* fx2800.h:  New file.
+
+	* m88kv4.h (DWARF_DEBUGGING_INFO):  Deleted redundant definition.
+	(It's defined already in svr4.h.)
+
+	* m88kv4.h (CPP_PREDEFINES): Added definition.
+
+	* m88kv4.h (CPP_SPEC, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC):
+	Deleted redundant definitions.  (These are defined in svr4.h.)
+
+	* cccp.c (errno, sys_nerr, sys_errlist): Moved extern decls to top lev.
+	* function.c (round_down): Likewise.
+	* calls.c, c-convert.c: Delete block-level extern decls.
+	* c-convert.c: Include flags.h.
+
+	* configure (i386-*-sysv*):  Fixed tmake_file value.
+	(i860-*-sysv3*):  Fixed xmake_file and tmake_file value.
+	(i860-alliant-*):  New configuration.
+
+	* i860.c (recog_operand, call_used_regs, insn_template,
+	insn_n_operands, insn_outfun, alter_subreg):  Moved extern
+	declarations out of local contexts and put them at file-scope.
+
+	* i860.c (zero_operand):  Deleted useless function.
+
+	* i860.c (singlemove_string): Added code to optimize moving halfword
+	constants.
+
+	* i860.c (output_block_move):  Don't do CC_STATUS_INIT until it is
+	definitely necessary & appropriate.
+
+	* i860.c (output_block_move):  Create up to 16 sequential load/store
+	pairs for constant length moves regardless of operand sizes (e.g.
+	byte, halfword, word).
+
+	* i860.c (output_block_move):  Try to generate widest kind of
+	sequential load/store pairs for constant length moves before trying
+	the less efficient (narrower) ones.
+
+	* i860.c (output_block_move):  Don't do sequential load/store pairs
+	for constant length moves unless the size is a multiple of the
+	size of the operands moved each time (i.e. word, halfword, byte).
+
+	* i860.c (output_block_move):  Re-wrote code to do inline variable
+	length block moves to correct fatal errors (e.g. no check for zero
+	or neagtive start count) and to make it more efficient (saved 1 cycle
+	per iteration).
+
+	* i860.c (output_block_move):  Make variable length moves with starting
+	alignment of 4 or 2 `#if 0' for now, until they can be fixed to work
+	right.  Also reordered all three cases so that longer alignments are
+	checked for first.
+
+Sun Dec 22 01:25:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* i386v4.h: Include svr4.h just once.
+
+	* protoize.c (fprintf, printf): Decls put in #if 0.
+
+	* emit-rtl.c (stack_slot_list): Delete superfluous extern decl.
+	(emit): Abort if arg isn't recognized.
+
+	* c-parse.y (current_declspecs, declspec_stack): Declare static.
+	(undeclared_variable_notice): Likewise.
+	(lastiddecl): Declare extern.
+	* objc-parse.y: Same changes as c-parse.y.
+	(token_buffer): Declare extern.
+
+	* c-lex.c: Include output.h.
+	(check_newline): Decl of asm_out_file deleted.
+
+	* c-lex.h (ridpointers, NORID): Declare/define here.
+	* c-lex.c, c-parse.y, objc-parse.y: Not here.
+
+	* sun3.h (WORD_SWITCH_TAKES_ARG): Add `-assert'.
+	(LINK_SPEC): Pass -assert to linker.
+
+	* gbl-ctors.h (__CTOR_END__, __DTOR_END__): Remove `extern'.
+
+	* sparc.h (RTX_COSTS): Increase multiply cost to 20.
+	(MULSI3_LIBCALL): Use .umul.
+	(UMULSI3_LIBCALL): Deleted.
+
+Sat Dec 21 18:34:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_comparison): Allow OP0 to be VOIDmode if it
+	is a COMPARE or a comparison operation.
+
+	* i860.md (bte): Remove now unneeded patterns.
+	Correct mode mismatch errors in patterns that will now be used.
+
+Sat Dec 21 00:14:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* ns32k.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Dummies deleted.
+	(INITIALIZE_TRAMPOLINE): Likewise.  #error inserted.
+
+	* ns32k.c (print_operand_address): For invalid address, just abort.
+
+	* Makefile.in (FIXINCLUDES): New variable.
+	(includes, maketest): Use that.
+	* x-i386v4 (FIXINCLUDES): Override here.
+
+Fri Dec 20 18:28:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_really_begin_function): New subroutine.
+	(dbxout_function): Use that, but only if not DBX_FUNCTION_FIRST.
+	(dbxout_begin_function): New function.
+	* varasm.c (assemble_start_function): Call dbxout_begin_function.
+
+	* dbxout.c (dbxout_function): Implement DBX_OUTPUT_FUNCTION_END.
+
+	* sparc.md (movstrsi): Add missing double quote.
+
+	* gcc.c (process_command): Handle -Xlinker.
+
+	* calls.c (expand_call): Treat vfork like setjmp.
+
+	* c-decl.c (implicitly_declare): Use push_obstacks_nochange.
+
+	* sparc.h (WORD_SWITCH_TAKES_ARG): Add -assert.
+	(LINK_SPEC): Pass -assert to linker.
+
+	* svr4.h (ASM_OUTPUT_LOCAL): Fix typo.
+
+Fri Dec 20 07:52:19 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl2.c (lang_decode_option): Recognize more -fno-OPTION
+	options which need special treatment (in the turning off of the
+	option).
+
+	* cp-parse.y (named_class_head_sans_basetype_either): Rule deleted.
+	(identifier_either): Rule deleted.
+	(delete): Don't call `build_x_delete'' if the type does not have a
+	destructor.  We may still need to adjust the address passed to
+	`operator delete'.
+
+	* cp-init.c (build_delete): New argument MAYBE_ADJUST.  All callers
+	changed.  Also, add #if 0/#endif around code dealing with ALIGNMENT.
+	It's dead code, and that's unclear otherwise.
+	(maybe_adjust_addr_for_delete): New function.
+	(build_new): Initialize special header for arrays allocated with
+	`operator new[]'.  This is a rewrite of Ken's code.
+	(init_init_processing): New built-in type BI_header_type.
+
+	* cp-init.c (build_{new,delete}): Call `build_builtin_call' for BIN,
+	BID.
+	(build_builtin_call): New function.
+
+	* cp-decl.c (grokvardecl): Set TREE_EXTERNAL.
+	(grokdeclarator): Set TREE_PUBLIC for all member functions.  They
+	are effectively global.  Do the same for static members.
+	(start_function): Don't clear TREE_EXTERNAL in case the function
+	belongs to another file's implementation.  Other fixes to
+	TREE_PUBLIC/TREE_EXTERNAL logic based on interface/implementation.
+
+	* cp-method.c (hack_identifier): Call `assemble_external' if
+	necessary.
+
+Fri Dec 20 06:27:38 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (emit_reload_insns): Always record first insn emitted
+	for a reload, including any insns for a secondary reload.
+	(gen_input_reload): Correct documentation of function.
+
+Thu Dec 19 22:01:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gnulib1.c (perform_fixdfsi): New customization macro.
+
+	* svr4.h (SELECT_RTX_SECTION): Undef before defining.
+
+Thu Dec 19 16:59:12 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* cccp.c (hack_vms_include_specification): Make conversion of 
+	filenames more versatile for user specified include directories.
+
+Thu Dec 19 17:38:18 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (#error's): Put tab in front of all #error's, so that
+	ancient pre-ANSI compilers will not complain about unknown
+	directives, even if the #error is #ifdef'ed out.
+
+	* mips.md (fix_trunc*): Reorder constraints so that 'd' comes before
+	'f', and put a '*' in front of 'f' constraints to keep integer in
+	the GP registers.
+	(define_splits): Add reload_completed check for all define_splits
+	that use subreg on the arguments to work around bug in sched.c.
+
+	* cccp.c (lang_asm): New static variable to indicate we are
+	processing an assembly file and to ignore unknown directives in case
+	they are comments, like they are on the MIPS systems.
+	(main): Set lang_asm if -lang-asm switch.
+	(handle_directive, skip_if_group): Don't report about unknown
+	directives if lang_asm is set.
+
+	* gcc.c (default_compilers array): Pass -lang-asm to cpp when
+	processing .S files instead of -lang-c.
+
+Thu Dec 19 15:06:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (c_decode_option): Handle -fno-ident.
+	* c-lex.c (check_newline): Ignore #ident for -fno-ident.
+
+	* svr4.h (ASM_OUTPUT_LOCAL): Use assemble_name.
+
+	* mips.h: Use #error, not #include, for error messages.
+
+	* cccp.c (warning, main): Implement -Werror.
+
+	* i386sco.h (CPP_SPEC): Move non-fixed option here.
+	(CPP_PREDEFINES): From here.
+
+	* gcc.c (do_spec_1): For %p, just pass -D options.
+	For %P, pass all -A options.  Put in whitespace, fix typos.
+
+	* c-parse.y (parmlist_2, defn_parmlist_2): Warn about (...).
+	* c-decl.c (get_parm_info): Don't warn here.
+
+Thu Dec 19 06:15:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* toplev.c (compile_file): Avoid ordered comparison of debug_info_level
+	since it is an enum.
+
+	* mips.c: Include gstab.h.
+
+	* sparc.md: Fix typo.
+
+	* caller-save.c (save_call_clobbered_regs): Don't save regs that
+	die in a CALL_INSN or that are born there.
+
+Thu Dec 19 04:28:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-aux-info.c (gen_aux_info_record): Don't write space at line beg.
+
+Wed Dec 18 11:46:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cse.c (cse_main): Use get_max_uid rather than computing it.
+
+Wed Dec 18 18:13:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (scan_loop): Ensure replacement made  by single-use code
+	is not modified in the life of the register being replaced.
+
+Wed Dec 18 15:37:52 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* rtl.h (fconst2_rtx, dconst2_rtx):  Added extern declarations.
+
+	* flags.h (flag_inhibit_size_directive): Declared.
+
+	* svr4.h (INT_ASM_OP, INIT_SECTION_ASM_OP):  Moved around.
+	(ASCII_DATA_ASM_OP):  Definition added.
+	(flag_inhibit_size_directive):  Deleted superfluous extern decls.
+
+	* Makefile.in:  Correct number of expected shift/reduce conflicts
+	reported by bison for cp-parse.y.
+
+	* sparcv4.h:  New file.
+
+	* i860.h (FUNCTION_ARG_BOUNDARY):  Added definition.
+	(sfmode_constant_to_ulong):  Added extern declaration.
+
+	* i860.md (BTE/BTNE patterns):  Changed all instances of
+	`(match_operand:SI 2 "zero_operand" "J")' to `(const_int 0)'.
+
+	* i860.md (load then BTE/BTNE patterns):  Added 8 new patterns,
+	for cond branch on EQ/NE of a zero-extended memref with small integer.
+
+	* i860.md: 20 new patterns (involving BTE/BTNE) like existing 20
+	but simplified so that the combiner will find them.
+
+	* i860.md (sfmode_constant_to_ulong, fconst2_rtx):  Removed
+	superfluous nested extern declarations.
+
+Wed Dec 18 15:39:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* va-i860.h (va_start for stdarg.h): Divide reg counts by 4.
+
+	* stmt.c (emit_case_nodes): Fix typo, near testing cost_table.
+
+	* i860.h (CUMULATIVE_ARGS): Define a named struct, then use it.
+
+	* function.c (expand_function_start): Compute sizes in proper order.
+
+	* svr4.h (MD_STARTFILE_PREFIX): Defined.
+	(STANDARD_STARTFILE_PREFIX): Deleted.
+
+	* sparc.md (movstrsi): Disable if needs more than 32 insns.
+
+	* expr.c (store_expr): Handle copying too-short STRING_CST.
+
+	* gstdarg.h (_VA_LIST): Handle this like _VA_LIST_.
+
+	* m68k.h (LOCAL_LABEL_PREFIX): Remove the `L'.
+	Fix uses of %L by adding `L'.
+	* m68k.c (print_operand_address): Fix use of %L.
+	* m68k.md (movhi): Fix use of %L.  They were inconsistent.
+
+Wed Dec 18 14:59:26 1991  Michael Meissner  (meissner at osf.org)
+
+	* limits.h (whole file): Protect against inclusion.
+
+	* t-decrose (LIMITS_H): Don't install limits.h on OSF/1.
+	* t-encrose (LIMITS_H): Don't install limits.h on OSF/1.
+	* t-i386rose (LIMITS_H): Don't install limits.h on OSF/1.
+
+	* x-decrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
+	* x-encrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
+	* x-i386rose (SYSTEM_INCLUDES): Don't do -I/usr/include.
+
+Wed Dec 18 04:53:23 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-init.c (build_new): Rewrote some of the array-handling code.
+	Now stores the number of elements (after stripping off all outer
+	ARRAY_TYPE nodes) at the start of allocated storage, just before the
+	pointer the user's program sees.  We also store the 2s compliment
+	value of the pointer returned so we can distinguish when deleting a
+	pointer whether it was "adjusted" or not.
+	(expand_vec_init): Added a type conversion for cases when the
+	address of an array gets passed in and we want to deal with the
+	elements.
+	(build_delete): Catch a case where deletion of arrays could slip
+	through.
+	(build_vec_delete): More array-handling rewrites.  Extract the
+	stored value and use it as the number of objects to destroy; ignore
+	any value supplied by the user.
+
+	* cp-init.c (init_vfields): Now static.
+
+	* cp-tree.h (struct lang_decl_flags): Merged "dummy" fields.
+
+	* cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): New macro for finding a
+	list of instantiations already made of a template.  (Only
+	implemented for functions currently.)
+	* cp-tree.def (DECL_TEMPLATE_INSTANTIATIONS): Describe it.
+	* cp-pt.c (instantiate_template): Maintain and make use of it.
+
+	* cp-pt.c (tsubst, case REFERENCE_TYPE): Call build_reference_type
+	instead of constructing the type here.
+
+Wed Dec 18 03:37:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (label_decl): Use identifiers_or_typenames.
+
+	* c-parse.y: Support FUNCTION ([ARGNAMES] DECLS) {...}.
+	(defn_parmlist_2, defn_parms): New nonterminals.
+	(identifiers_or_typenames): New nonterminal.
+	(parmlist_or_identifiers_1): Changed.
+	* c-decl.c (combine_parm_decls): New function.
+
+Tue Dec 17 22:18:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (expand_main_function): Build SYMBOL_REF with Pmode,
+	not VOIDmode.
+
+	* rs6000.h (HARD_REGNO_NREGS, CLASS_MAX_NREGS): FP regs can only hold
+	64 bits, not any size FP value.
+
+	* reload1.c (reload): Remove variable old_caller_save_needed.
+	Call init_save_areas and setup_save_areas instead of
+	allocate_save_areas and elim_save_addrs.
+	* caller-save.c (init_caller_save): New function, from part of
+	allocate_save_areas.
+	(setup_save_areas): New function, from rest of allocate_save_areas
+	and elim_save_addrs.
+	When scanning pseudos to find hard regs that might need caller-save,
+	look at all parts of multi-word registers.
+
+	* flow.c (elim_reg_set): New variable.
+	(flow_analysis): Set it to contain those regs that we can eliminate.
+	(mark_used_regs): Don't set eliminable regs as live when they are used.
+
+	* global-alloc.c (global_alloc): Clear preferences with eliminable
+	regs, in addition to clearing conflicts.
+
+	* reload.c (find_reloads_toplev): Abort instead of making
+	a SUBREG of a VOIDmode constant.
+
+	* emit-rtl.c (copy_rtx_if_shared): SCRATCH may always be shared.
+
+Tue Dec 17 21:06:03 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (MIPS_VERSION): Bump MM version number to 5.
+	(processor_type): New enum to hold which type of
+	processor to schedule for.
+	(mips_cpu): New global to hold processor type.
+	(MASK_*, TARGET_*): Rearrange target bits, add bits to select
+	processor type, r4000 int/long/long long sizes.
+	(TARGET_SWITCHES): Delete redunant no options, only leave no-
+	version.
+	(CUMULATIVE_ARGS): Make this a structure, not a pointer to a
+	structure.
+	(INIT_CUMULATIVE_ARGS): CUMULATIVE_ARGS changes.
+	(FUNCTION_ARG_ADVANCE): Ditto.
+	(FUNCTION_ARG): Ditto.
+	(FUNCTION_ARG_PARTIAL_NREGS): Ditto.
+	(RTX_COSTS): Count simple memory refs as one instruction.
+	(REGISTER_MOVE_COST): Define as 4, to make sure constraints are
+	checked.
+
+	* mips.md (hilo type attribute): Add hilo type attribute to
+	separate moves to/from the hi/lo registers with other register
+	transfers.
+	(move patterns): Set hilo attribute as appropriate.
+	(define_function_units): Update the integer and memory functional
+	units to include R4000 and R6000 processors, keyed off of the
+	-mr[46]000 switches.  Add a new functional unit for transfering
+	stuff between register sets.
+	(mov{sf,df}_xfer*): Remove these patterns, as they are no longer
+	needed in GCC 2.00 to move between the different register sets,
+	and generate insn not found messages if used.
+	(movsi_ulw, movsi_usw): Correct test to see if stack loads are
+	aligned.  Use UNITS_PER_WORD-1 instead of a hard coded 3.
+	(move define_expands): Delete move define_expands, since they are
+	illegal according to the documentation, and the bug they guard
+	against has long ago been fixed.
+
+	* mips.c (mips_cpu): New global to hold processor type.
+	(override_options): Set mips_cpu, check for 64 bit r4000 switches
+	if processor not a r4000.
+	(init_cumulative_args): CUMULATIVE_ARGS changes.
+	(function_arg_advance): Ditto.
+	(function_arg): Ditto.
+	(function_arg_partial_nregs): Ditto.
+	(mips_output_filename): Except for first .file, don't emit any other
+	.file if encapsulating stabs in ECOFF, just put out stabs.  This
+	confuses gdb.
+	(mips_output_lineno): Don't put out .loc's if encapulating stabs in
+	ECOFF.
+	(mips_asm_file_start): Put a .set nobopt for MIPS assembler to
+	work around bug where the assembler goes bonkers if a branch
+	inside of a .set noreorder section jumps to a label outside of a
+	.set noreorder section.  This is supposed to be fixed in 2.20 of
+	the assembler.
+	(function_epilogue): Correctly emit nops with tabs and newlines if
+	needed.
+
+	* decrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
+	enable OSF/rose support, rather than use nm.
+
+	* encrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
+	enable OSF/rose support, rather than use nm.
+
+	* i386rose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
+	enable OSF/rose support, rather than use nm.
+
+	* t-decrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
+	and link it to ld.
+
+	* t-encrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
+	and link it to ld.
+
+	* t-i386rose (EXTRA_PASSES): Build collect2 instead of collect-osf,
+	and link it to ld.
+
+	* x-decrose (DEBUG): Delete -g, since CFLAGS already passes it.
+	(GCC_CFLAGS): Define POSIX so we can build protoize.
+
+	* x-encrose (DEBUG): Delete -g, since CFLAGS already passes it.
+	(GCC_CFLAGS): Define POSIX so we can build protoize.
+
+	* x-i386rose (DEBUG): Delete -g, since CFLAGS already passes it.
+	(GCC_CFLAGS): Define POSIX so we can build protoize.
+
+	* t-decstatn (EXTRA_PASSES): Explicitly mention collect2.
+	(ld): Use $(SYMLINK) rather than just ln.
+
+	* t-mips (EXTRA_PASSES): Explicitly mention collect2.
+
+	* collect2.c (whole file): Rewrite file based on collect-osf, to
+	make it more portable.  Highlights include: running ld only once if
+	there are no constructors; OSF/rose support; not assuming that the
+	linker, assembler, nm live in /bin; -v support to trace the commands
+	being executed and print a version number; loops instead of
+	recursion used to write out the tables; support for user using -r;
+	checking all error returns; not using the shell to start processes.
+
+	* collect-osf.c (whole file): Deleted, merged into collect2.c.
+
+Tue Dec 17 15:49:06 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c (schedule_insns): Don't update value of reg_live_length
+	when it is negative, because negative values are special.
+
+	* sched.c (schedule_block): Make new_needs an int not an enum, since
+	some compilers won't accept using `|' and `&' with enums.
+
+	* sparc.md: Don't emit nop after floating point compare; this is
+	no longer needed.
+
+	From Tom Wood:
+	* sched.c (memrefs_conflict_p): Exchange xsize and ysize when x
+	and y are exchanged.
+
+Tue Dec 17 15:01:04 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-decl.c (set_nested_typename): use SET_IDENTIFIER_TYPE_VALUE,
+	not set_identifier_type_value, so that the binding doesn't get
+	unwound by leaving class scope.
+
+Tue Dec 17 10:57:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* toplev.c (main): Make -g0 produce no debugging information.
+
+Tue Dec 17 15:15:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (do_spec_1): In %P, duplicate the names with __ just in front.
+
+	* gstab.h: Renamed from stab.h.
+	* collect2.c, dbxout.c, final.c, mips-tfile.c: #include changed.
+	* dbxout.c (N_CATCH): Define this if stab.h does not.
+	* Makefile.in: Depend on gstab.h where appropriate.
+
+	* Makefile.in (STAGESTUFF): Remove collect and collect2.
+
+	* c-parse.y (parmlist_2): Allow just `...' with no named args.
+	* c-decl.c (get_parm_info): Pedantic warning for that usage.
+
+	* final.c (final_scan_insn): Don't output blocks for -g1.
+
+	* Makefile.in (crtbegin.o, crtend.o): Use -g0.
+
+	* function.c (expand_main_function): Do nothing if INIT_SECTION_ASM_OP.
+
+	* varasm.c (assemble_asm): Handle ADDR_EXPR of a STRING_CST.
+	* stmt.c (expand_asm): Likewise.
+	* c-parse.y (extdef, stmt): Accept STRING_CST or ADDR_EXPR in asm.
+
+Tue Dec 17 15:01:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.h (INIT_SECTION_ASM_OP): Override svr[34].h.
+	* m88kv4.h (INIT_SECTION_ASM_OP): Override svr4.h and m88k.h.
+	* m88kdgux.h ({INIT,CTORS,DTORS}_SECTION_ASM_OP): Override m88k.h
+	except when compiling crtstuff.c.
+
+Mon Dec 16 21:50:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (struct case_node): Remove unused field `test_label'.
+	(pushcase, pushcase_range): Don't initialize it.
+
+	* stmt.c (check_for_full_enumeration_handling): Only print warnings
+	if -Wswitch is specified.
+	(expand_end_case): Call check_for_full_enumeration_handling even if
+	-Wswitch is not specified.
+
+	* expr.c (convert_move): Add missing arg to call to force_reg.
+	(convert_to_mode): Likewise, for protect_from_queue.
+
+Mon Dec 16 20:33:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_builtin): Check number and types of args.
+
+	* c-parse.y (stmt, extdef): Allow constant expression inside plain asm.
+
+	* m68k.md (movhi): Use asm_fprintf to print .set or equivalent.
+	* m68k.c (print_operand_address): Use %R when printing pc register.
+	* m68k.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
+	Use %L.
+
+	* c-typeck.c, cp-typeck.c (c_sizeof): Give error for incomplete type.
+
+Mon Dec 16 11:14:28 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-decl.c (init_decl_processing): Don't declare unused function
+	__builtin_vec_delete.
+
+Mon Dec 16 08:35:04 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
+
+	* gnulib2.c (__udivmoddi4): Add comment.
+
+Mon Dec 16 07:47:13 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-call.c (ideal_candidate): Always set BEST before using it.
+	Also, call `build_component_ref_1' with 3 args everywhere, and
+	`build_indirect_ref' with 2 args everywhere.
+
+Mon Dec 16 07:17:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.h: Add `extern' to function declarations.
+	(gen_input_reload): Add declaration.
+	* reload1.c (reload): Allocate save area if caller-saves are needed;
+	check for case when it becomes needed after some spill registers are
+	obtained.
+	Can now eliminate frame pointer even when caller-saves are needed.
+	Perform register elimination of save area and see if caller-save needs
+	a spill register.
+	If required, find a spill register and pass it to caller-save code.
+	(gen_input_reload): No longer static.
+	* Makefile.in (caller-save.o): Now includes reload.h (again).
+	* global-alloc.c (global_alloc): Can eliminate frame pointer even if
+	we have caller-saves.
+	* toplev.c (compile_file): Call init_caller_saves.
+	
+	* caller-save.c: Major rewrite; almost entirely new code.
+	Integrate caller-saving with frame pointer elimination.
+	Don't try to save and restore registers that cannot be directly
+	copied to memory (such as MQ).
+	Correctly place save and restore insns.
+	Don't restore a saved register until end of block or if it is needed.
+
+	* cse.c (mention_regs): Now returns int to indicate that the hash code
+	may have changed.
+	For COMPARE and comparison op, ensure that any register operand has
+	a quantity number.
+	(insert_regs): Return value from mention_regs.
+	(rehash_using_reg): New function.
+	(record_jump_equiv, mention_regs): Call rehash_using_reg if an operand
+	of a compare is a REG whose hash code is changing.
+
+Mon Dec 16 07:09:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* function.c (expand_main_function): New subroutine.  Call __main.
+	* c-decl.c, cp-decl.c (store_parm_decls): Use that.
+	* cp-decl.c (init_decl_processing): Don't declare __main.
+
+	* objc-actions.c (init_objc): Call __objcInit as a constructor.
+
+	* toplev.c (compile_file): Reenable SDB code #if 0'd before.
+
+	* protoize.c (version_string): Make it extern.
+	* Makefile.in (protoize, unprotoize): Link with version.o.
+
+Sun Dec 15 23:31:47 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-tree.c (virtual_member): When recurring, don't dive into
+	nonexistent baseclasses.
+
+	* cp-decl.c (grokdeclarator): Set TREE_STATIC for initialized const
+	arrays.
+	* cp-typeck.c (mark_addressable): A decl that was TREE_STATIC might
+	be chagned to TREE_EXTERNAL due to #pragma interface/implementation.
+
+Sun Dec 15 14:57:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (SYSCALLS.c.X): Fix typo.
+	(INTERNAL_CFLAGS): Delete -DMERGED.
+
+	* dbxout.c (dbxout_init): Pass proper args to ASM_OUTPUT_MAIN_*.
+	* newpbb.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Add proper arguments.
+
+	* stmt.c (emit_case_nodes): Rewrite to change induction conditions.
+	Handle boundedness in the bounded node itself.
+	Handle branching entirely at the parent level.
+
+	* gstdarg.h: Use va-i860.h.
+	* va-i860.h (va_start for ANSI): Fix typo.  Call __builtin_next_arg.
+
+Sat Dec 14 20:45:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (USER_H): va-hp9k8.h should be va-hp800.h.
+
+	* loop.c (invariant_p): Call-clobbered register is not invariant if
+	loop has calls.
+	(count_loop_regs_set): Count a CLOBBER as a setting of a register.
+
+	* stmt.c: Move include of ctype.h and definition of cost variables to
+	front of file.
+	(expand_end_case): Always set use_cost_table.  Check type here instead
+	of in estimate_case_costs.  Don't suppress use of cost table when
+	not optimizing.
+	(estimate_case_costs): Now returns int.  Check for any case tag
+	that is an unusual control character here and reject use of table
+	if so.  Always do comparisons signed, since that's how we access the
+	cost table.
+	(balance_case_nodes): Don't check for strange control characters here.
+	(node_has_low_bound): Do checking if we don't have a left branch,
+	instead of if we do.
+	(node_has_{low,high}_bound): Remove spurious checks on branches.
+	(emit_case_nodes): Ensure operation passed to emit_cmp_insn matches
+	the branch we actually emit.
+	Fix case of a range node with no left or right branch; use of case
+	and default label were backward for the high test.
+	Remove unused variables defaulted_{left,right}.
+
+Sat Dec 14 16:10:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* protoize.c: Don't include limits.h.
+	Rename `pathname' to `filename' everywhere.
+	Clean up indentation of fprintf calls.
+	Use standard GNU format for file name/line in error messages.
+	(n_base_source_files): Renamed from base_source_files.
+	(convert_filename, invocation_filename, base_source_filenames):
+	`path' renamed to `filename'.
+	(syscalls_absolute_filename): Renamed from syscalls_pathname.
+	(find_file): Arg FILENAME no longer const.
+	(main): Fix getcwd error-checking logic.
+	(varargs_style_indicator): Delete `const'.
+	(savestring): Declare arg `input' const.
+
+	* Makefile.in (protoize, protoize.o, unprotoize, unprotoize.o):
+	Use GCC_FOR_TARGET.
+	(getopt.o, getopt1.o): Likewise.
+	(GCC_FOR_TARGET): Delete -B./.
+	(GCC_CFLAGS): Add -B./.  Copy ALL_CFLAGS's definition, less XCFLAGS.
+
+	* cp-init.c (add_friends): Pass proper args to strncmp.
+
+	* toplev.c (compile_file): Clear DECL_RTL for vars not really output.
+	#if 0 possibly redundant code for SDB output.
+
+	* sys-types.h: Include gstddef.h to get size_t and wchar_t.
+
+	* ultrix.h (CPP_PREDEFINED): Add __unix, __ultrix, __bsd4_2.
+
+	* Makefile.in (STAGESTUFF): Add collect, collect2.
+
+Sat Dec 14 12:16:12 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-search.c (get_baselinks): Use obstacks right, instead of
+	aborting when we know we're using them wrong.
+
+	* cp-parse.y (structsp): Fix typo in exception declaration rule.
+
+	* cp-typeck.c (build_modify_expr_1): Recursive call to
+	`build_modify_expr_1' used pre-BINFO representation for
+	BASETYPE_PATH argument.
+
+	* cp-decl.c (start_decl): Don't switch to temporary allocation for
+	decls of type REFERENCE_TYPE, as their initializers may live a long
+	time, too.
+
+Sat Dec 14 07:11:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads_toplev): If we have a SUBREG of a multi-word
+	constant, try to extract just the word we want.
+
+	* global-alloc.c (global_alloc): Correct reference to ELIMINABLES.
+
+Fri Dec 13 15:28:38 1991  Michael Meissner  (meissner at osf.org)
+
+	* configure (mips-mips-sysv): On MIPS System V, use xm-umips.h, not
+	xm-mips.h.
+
+	* gstddef.h (__PTRDIFF_TYPE__): Provide default definition in case
+	non-GCC 2.00 compiler is used.
+	(__SIZE_TYPE__): Ditto.
+	(__WCHAR_TYPE__): Ditto.
+
+Fri Dec 13 14:49:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* config.sub: Renamed from config.subr.
+	Support os -sym1.
+	Convert -svr3, -svr4 to -sysv3, -sysv4.
+	* configure: Used new name.
+
+	* Makefile.in (includes): Preserve files from GCC already in dir.
+
+Fri Dec 13 11:01:12 1991  Fred Fish  (fnf at fishpond)
+
+	* att386.h:  Fix unparenthesized macro arguments in
+	ASM_OUTPUT_ASCII macro.
+
+	* i386v4.h:  Select an assembly language syntax file and include
+	it.  Supply missing macros from ones in i386v.h (TARGET_DEFAULT,
+	VALUE_REGNO, FUNCTION_VALUE_REGNO_P).
+
+	* svr4.h:  Fix misspelled variable name labelno (was labeno).
+
+Fri Dec 13 09:07:22 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-typeck.c (build_component_ref): Call `assemble_external' as
+	nec.
+	(build_function_call_real): Call `assemble_external' as nec. for
+	function calls we build.  Code slightly rearranged for clarity.
+	* cp-call.c (build_method_call): Call `assemble_external' as nec.
+
+Thu Dec 12 22:03:52 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Change message given to user. Change c-parse_tab.*
+	  to c-parse.*
+
+	* config-gcc.com: Purge excess versions of version.opt.
+
+Thu Dec 12 20:25:20 1991  Michael Meissner  (meissner at osf.org)
+
+	* Makefile.in (BOOT_CFLAGS): Remove quotes around the argument,
+	since this causes a syntax error when it is later expanded.
+
+Thu Dec 12 17:53:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* config.subr: Add many new machines and some OS's.
+
+	* va-i860.h: Rewrite from rfg.
+
+	* toplev.c (main): Handle -dm on USG systems.
+
+	* m68k.c (print_operand, print_operand_address): New functions.
+	* m68k.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Just call them.
+
+	* m68k.c (S_*, D_*): Delete the #undefs at the end.
+
+	* stmt.c (expand_return): Special case if fcn returns void.
+
+	* objc-actions.c (build_objc_method_call): Fix typo in NeXT case.
+
+	* expr.c (expand_builtin, BUILT_IN_ARGS_INFO): Cast init of word_ptr.
+
+	* protoize.c: Delete the `extern "C"' for C++ compilation.
+
+Thu Dec 12 10:01:13 1991  Michael Meissner  (meissner at osf.org)
+
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Fix off by one error in
+	handling the constructor list when a valid count is supplied.
+
+	* collect2.c (write_hooks): Emit a count before the list of
+	constructors, to go back to the old format.
+
+	* collect-osf.c (write_s_file): Emit a count before the list of
+	constructors, to go back to the old format.
+
+	* gnulib2.c (exit): Provide default defintions as bss symbols for
+	all of the constructor/destructor related symbols if the macro
+	INIT_SECTION_ASM_OP is not defined.  The second link that collect
+	does and/or gld will provide the right values.
+
+	* decrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
+	* encrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
+	* i386rose.h (HAVE_ATEXIT): Nuke macro, no longer used.
+
+Thu Dec 12 07:27:05 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* gbl-ctors.h (__CTOR_LIST__, __DTOR_LIST__): Renamed from *_BEGIN__.
+	* collect-osf.c collect2.c: Rename here as well.
+
+Thu Dec 12 04:15:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (stmt): Make asm alternatives allow expr.
+	* c-typeck.c (c_expand_asm_operands): Get the STRING_CST from the expr.
+
+	* c-parse.y (datadecl, datadecls, lineno_datadecl): New rules.
+	(xdecls): Use them.
+
+Wed Dec 11 18:36:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Just one definition; use ON_EXIT.
+	Test for -1 and handle both kinds of table format.
+	* gnulib2.c (__do_global_dtors): Check for -1...
+	(__do_global_ctors): Dummy defn of ON_EXIT if no other defined.
+	(__main): Do nothing if called again.
+	(exit): Use EXIT_BODY if defined.
+	* crtstuff.c (__CTOR_LIST__, __DTOR_LIST__):
+	Renamed from *_BEGIN__.  Add -1 as first elt.
+	(__CTOR_END__, __DTOR_END__): Add 0 as last elt.
+	(ON_EXIT): Dummy defn if no other is defined.
+
+Wed Dec 11 18:08:36 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-parse.y (template_parm): removed some reduce/reduce conflicts
+	by noting which of identifier or identifier_defn would actually be
+	passed up in this context.
+
+Wed Dec 11 17:52:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (propagate_block): Adjust loop depth if it is changed in
+	notes at the end of a block.
+	Abort if loop depth ever reaches zero.
+
+Wed Dec 11 16:30:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (do_endif): Don't call record_control_macro at top level.
+
+Wed Dec 11 14:45:42 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-decl.c (set_identifier_type_value): If we're in a
+	class_binding_level, shadow the type there.
+	(xref_defn_tag): New function. Calls xref_tag with special flag set
+	to indicate that we know we're defining something.
+	(pushdecl_top_level): if class_binding_level is set, search from it
+	instead of only from current_binding_level when trying to find
+	shadowed values. This is in support of tests m5.cc through m8.cc,
+	which broke after the changes for m9.cc were installed.
+
+	* cp-spew.c (do_aggr): New function. Looks ahead from AGGR to see if
+	we have AGGR identifier { or AGGR identifier : which are both
+	definitions, and passes up identifier_DEFN instead. This is in
+	support of test m9.cc.
+	(yylex): add SPEW_DEBUG case after EMPTY, so we don't have gaps in
+	the displayed stream.
+	(yylex, case AGGR): added call to do_aggr.
+	(debug_yychar): added call to debug_yytranslate for proper
+	translations.
+
+	* cp-parse.y (debug_yytranslate): New function to support SPEW_DEBUG
+	translations. 
+	(TYPENAME_DEFN): new token, TYPENAME seen by do_aggr.
+	(IDENTIFIER_DEFN): new token, ditto.
+	(PTYPENAME_DEFN): new token, ditto.
+	(identifier_defn): corresponds to identifier, but when the
+	identifier has been seen by do_aggr.
+	(named_class_head_sans_basetype_defn): specially recognize aggr
+	identifier_defn.
+	(named_class_head): add parallel clauses calling xref_tag_defn when
+	we know we're defining this aggr.
+	(named_class_head_sans_basetype_defn_either): for when we don't care
+	if it is a defn or not (such as templates)
+	(identifier_either): ditto.
+
+	* cp-tree.h (xref_defn_tag): New declaration.
+
+Wed Dec 11 12:37:51 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-parse.y (label_colon): New nonterminal, with all label prefixes
+	from "stmt" moved here.
+	(stmt): Use it.  Also provide useful message for label followed by
+	end of block (close-brace).
+
+	* cp-init.c (BIVN): Deleted unused variable.
+	* cp-decl.c (init_decl_processing): Don't declare function
+	__builtin_vec_new; it's never used.
+
+Wed Dec 11 10:59:48 1991  Michael Meissner  (meissner at osf.org)
+
+	* toplev.c (main): Complete last change from RMS, use variable
+	'level' which used to be named 'arg'.
+
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't reference ON_EXIT for
+	those poor systems without atexit or on_exit.
+
+Wed Dec 11 09:06:52 1991  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
+
+	* m68k.c (output_function_prologue, output_function_epilogue):
+	When saving/restoring only 2 registers, do so with two "movel"
+	instructions instead of a single "moveml".  This results in
+	faster code for the 68020 and later machines.
+
+Wed Dec 11 06:45:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* x-romp (MAKE): Add definition; the supplied `make' doesn't define it.
+
+Tue Dec 10 22:17:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Always make a copy of I2's pattern if
+	it will be used in a PARALLEL (`added_sets_2' nonzero).
+
+	* Makefile.in (BOOT_CFLAGS): New parameter.
+	(bootstrap*): Use it.
+
+	* flow.c (find_basic_blocks): Set depth of last insn, not first,
+	into basic_block_loop_depth.
+	(propagate_blocks): Use consistently with new definition.
+
+	* cse.c (cse_end_of_basic_block, cse_basic_block): Remove previous
+	change; it can cause loops following around branches.
+
+	* Makefile.in (USER_H): Add va-hp9k8.h.
+
+Tue Dec 10 17:22:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k*.h: Include svr3.h as the default.  m88kv4.h and m88kdgux.h
+	include svr4.h.  Override svr[34].h as needed.
+	* t-m88k, t-m88kv4: Specify EXTRA_PARTS.
+
+	* m88k.c (uses_arg_area_p): Check current_function_varargs.
+
+Tue Dec 10 15:41:03 1991  Michael Meissner  (meissner at osf.org)
+
+	* osf-main.c (whole file): Delete, since the constructor stuff was
+	moved to gnulib2.c.
+
+	* Makefile.in (collect2, collect2.o): Change to use the default
+	compiler to build collect2, instead of the newly built GCC, since
+	otherwise, collect2 will create a circular dependency.  Also, pass
+	LDFLAGS when linking.
+
+	* collect-osf.c (write_s_file): Change to the new way of doing
+	constructors and destructors of having an end marker instead of a
+	count.
+
+	* collect.c (REAL_AS_PATH, REAL_LD_PATH, REAL_NM_PATH): New macros
+	to allow cross compilers to specify where the real linker,
+	assembler, and nm live.
+	(NM_FLAGS): New macro to allow a configuration to change what flags
+	get passed to nm.
+	(alloca defines): Remove alloca defines, since config.h provides
+	them.
+	(write_hooks): Change to the new way of doing constructors and
+	destructors of having an end marker instead of a count.  Cast all
+	alloca calls to be the appropriate pointer type.  Put both
+	constructors and destructors into the data section, because the MIPS
+	tools do not like non-instructions in the .text section.
+
+	* decrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
+	(FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Remove, no longer used.
+
+	* encrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
+	(FULL_PROTOTYPES): Remove, no longer used.
+
+	* i386rose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
+
+	* t-decrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
+	needed, since constructor/destructor support moved into gnulib2.c.
+
+	* t-encrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
+	needed, since constructor/destructor support moved into gnulib2.c.
+
+	* t-i386rose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
+	needed, since constructor/destructor support moved into gnulib2.c.
+
+	* t-decstatn (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
+	and gnulib2 are both compiled with -G 0, in case the users compiles
+	and links this way.  It also fixes a bug where the constructors and
+	destructors that collect2 produces are in the big data section, but
+	gnulib2 thinks they are in the small data section, because it only
+	sees a pointer.
+	(ld): Add -f to remove old ld link to collect2, if it exists.
+
+	* t-mips (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
+	and gnulib2 are both compiled with -G 0, in case the users compiles
+	and links this way.  It also fixes a bug where the constructors and
+	destructors that collect2 produces are in the big data section, but
+	gnulib2 thinks they are in the small data section, because it only
+	sees a pointer.
+	(ld): Add rule to link collect2 to ld.
+	(EXTRA_PASSES): Build collect2 (aka ld).
+
+	* xm-mips.h (alloca): If not GNU C, declare alloca to be char *.
+
+	* mips-tfile.c (add_aux_sym_tir): Move code to record bitfield size,
+	so that it agrees with MIPS ECOFF practice, rather than the
+	documentation, which affects enum bitfields.  Changes from Per
+	Bothner.
+
+Tue Dec 10 14:10:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Get rid of __reverse_order, etc.
+	* gnulib2.c (__do_global_dtors): Remove & before arrays.
+
+	* configure: Set a default value for xm_file.
+	Remove redundant defaulting of cpu_type.
+
+	* svr4.h (ASM_DECLARE_FUNCTION_SIZE): Output internal label properly.
+
+	* function.c (assign_parms): Set current_function_args_info.
+	* output.h: Declare that var.
+	* tree.h (BUILTIN_ARGS_INFO): Renamed from BUILT_IN_VARARGS.
+	* expr.c (expand_builtin): Implement __builtin_args_info.
+	* c-decl.c (init_decl_processing): Declare it.
+	* va-i860.h: Use it.
+	Also update order of elements in struct __va_ctl.
+
+	* toplev.c (main): Eliminate -gsdb and -gdbx.
+	Clean up setting of use_gdb_dbx_extensions.
+
+Tue Dec 10 10:33:58 1991  Tom Wood  (wood at gen-rtx)
+
+	* svr4.h (ASM_DECLARE_FUNCTION_SIZE): Use an internal label.
+
+Tue Dec 10 07:12:28 1991  James Van Artsdalen  (james@raid)
+
+	* Makefile.in (crtbegin.o, crtend.o): crstuff.c is in $(srcdir).
+
+Tue Dec 10 06:56:26 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (kept_level_p): New function, borrowed from c-decl.c.
+	* cp-parse.y (compstmt): Call it.
+
+Mon Dec  9 18:37:32 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-decl.c (grok_enum_decls): Don't give warning for class-local
+	enum types; this is a perfectly reasonable usage.
+
+Mon Dec  9 12:23:48 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* toplev.c (main):  Check that no extra chars follow the level #
+	in a -gNNN option.  Also check that the debugging level requested
+	is between 0 and 3 (inclusive).
+
+Mon Dec  9 20:34:48 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c (schedule_block): Don't crash if `line' is zero.
+	(schedule_insns): Initialize line_note_head.
+
+Mon Dec  9 15:31:46 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (pseudo_ops array): Correctly size the .stabs and
+	.stabn elements.
+
+	* mips.c (function_prologue, function_epilogue): Use assemble_name
+	to print the current function, instead of fprintf, in case there is
+	a  leading '*'.
+
+	* mips-news.h (CPP_PREDEFINES): Define news3700, not news7300.
+
+	* mips.md (ashldi3_internal3): Fix typos.
+	(ashrdi3_internal3): Ditto.
+	(lshldi3_internal3): Ditto.
+
+Mon Dec  9 11:49:52 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
+
+	* longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
+	2 constraint.
+
+Mon Dec  9 11:22:58 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-typeck.c (build_x_function_call): A method might have type
+	pointer-to-method as well.  Don't build an OFFSET_REF for any
+	"function" that already has pointer type.  Only use
+	DECL_CLASS_CONTEXT to find type of `this' for FUNCTION_DECLs; for
+	method pointer expressions, look up the basetype of the method type.
+	(build_unary_op): Fix comment in typo.
+
+	* cp-tree.c: Fix typo in comment at start of file.
+
+Mon Dec  9 07:17:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): When a jump is converted to unconditional, 
+	delete the dead code, but leave the notes.
+	(cse_basic_block, cse_end_of_basic_block): Some unconditional jumps are
+	part of the basic block.
+	(cse_basic_block): Add missing arg to cse_end_of_basic_block call.
+	
+Mon Dec  9 07:16:15 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* sys-types.h:  New file.
+	* sys-protos.h:  New file.
+	* SYSCALLS.c: Just include those files.
+
+	* protoize.c (VOLATILE):  Define this symbol conditionally so that
+	it can be used to declare GNU `volatile' functions.
+	(abort):  Added VOLATILE extern declaration (but not if it's a macro).
+	(kill, fork):  Added extern declaration.
+	(substr): Declare c as int.
+
+	* gbl-ctors.h: New file.
+	* crtstuff.c: Include gbl-ctors.h.
+	(INIT_SECTION_ASM_OP):  Delete default definition.
+	Only compile .init section code if INIT_SECTION_ASM_OP is defined.
+	(pointer):  Globally changed to `func_ptr'.
+	* Makefile.in (crtbegin.o, crtend.o, gnulib2): Depend on gbl-ctors.h.
+	* gnulib2.c:  Added definition of __builtin_saveregs for i860/svr4
+	and fixed up definition of __builtin_saveregs for i860/non-svr4.
+	(__bb_avoid_warning):  Added explicit return type.
+	(__builtin_new, __builtin_vec_new, __builtin_delete,
+	__builtin_vec_delete): Use `void*' where appropriate.
+	(exit): Change conditional to ON_EXIT.  Make dummy if no real exit.
+	Include gbl-ctors.h.
+	(__main): Change conditional to INIT_SECTION_ASM_OP.
+	(__do_global_ctors): Conditional on INIT_SECTION_ASM_OP.
+	Use DO_GLOBAL_CTORS_BODY for the guts.
+	Include gbl-ctors.h.
+
+Mon Dec  9 01:07:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fixinc.svr4: Don't change #ident or assertion tests.
+	Don't install inline.h.
+
+	* c-common.c (get_directive_line): Declare c as int.
+
+	* configure: Create additional file tconfig.h.
+	* protoize.c: Include that, not tm.h.
+	* Makefile.in (protoize.o, unprotoize.o): Depend on tconfig.h.
+
+	* svr4.h (HAVE_ATEXIT): Defined.
+	* gnulib2.c (_main, exit): Use HAVE_ATEXIT to control use of atexit.
+
+	* final.c (final_scan_insn): Output first and last note in a series.
+
+	* objc-actions.c (build_objc_method_call):
+	New arg LOOKUP_OBJECT.
+	(build_message_expr): Pass RECEIVER for LOOKUP_OBJECT.
+	Pass RECEIVER or self_decl as OBJECT.
+
+	* unx386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): Deleted.
+
+	* rtl.h: Undef FLOAT.
+
+	* svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE):
+	Fix typo.
+
+Sun Dec  8 21:46:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* protoize.c (main): Declare `value'.
+	(abspath): Declare endp.  Declare and set outp and inp.
+
+	* cp-decl.c (sigsegv): Function deleted.
+	(init_decl_processing): Don't use it.
+	Also don't include signal.h.
+
+	* t-svr4: New file.
+	* configure (i386-*-sysv4*, i860-*-sysv4*): Use that file.
+
+Sun Dec  8 12:01:36 1991  Ron Guilmette (rfg at ncd.com)
+
+	* fixinc.svr4: New file.
+
+	* final.c (profile_function): Specify return type.
+	(get_attr_length):  Added a return statement to prevent warnings.
+
+	* final.c (final_scan_insn):  Switch to .text section before output
+	of jumptable lable (if requested by JUMP_TABLES_IN_TEXT_SECTION).
+	Don't switch sections again after the label.
+
+	* configure (i386-*-sysv*):  Configuration deleted.
+	(i386-*-sysv3, i386-*-sysv4, i860-*-sysv3, i860-*-sysv4):
+	Added assignment to `tmake_file' (to pick up def of EXTRA_PARTS).
+	(i860-*-sysv3, i860-*-sysv4):  Added assignment to `xmake-file'.
+	(i860-*-sysv3):  Deleted bogus GAS related stuff.
+
+	* combine.c (combinable_i3pat):  Added explicit return type.
+
+	* i860.h (TARGET_FPU):  Deleted this target flag.  i860 fpu is on chip.
+	(TARGET_XP):  New target flag for XR and XP models.
+	(TARGET_FLAGS, HARD_REGNO_MODE_OK):  Adjusted for above changes.
+	(REG_ALLOC_ORDER): Use first the regs less likely for other purposes.
+	(LITERAL_COMPARE_BETTER_UNSIGNED):  Defined.
+	(BRANCH_COST): Defined.
+	(CC_ONLY_*):  Deleted these obsolete defines.
+	(CC_NEGATED):  Added for IEEE behavior with cmpgesf and cmplesf.
+	(ASM_OUTPUT_CASE_LABEL):
+	Added .align so assembler doesn't barf on subsequent .long(s).
+	(FLOAT_TYPE_VALUE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE):
+	Added definitions needed to build a useable gnulib1 library.
+
+	* i860.md:  Removed all references to CC_ONLY_* symbols.
+	(cmpledf, cmpgedf):  Adjusted assembler code  as suggested
+	by i860 manuals, for IEEE results.
+	(cbranch, flipped_cbranch, inverse_cbranch, flipped_inverse_cbranch):
+	Check for CC_NEGATED.
+	(bte, btne patterns): Complete rewrite.
+	(anonymous sign-extend patterns): Moved before the named patterns.
+
+	* i860.md (addsi3, subsi3):  Disparaged alternatives with a floating-
+	pointer input register to avoid complicated reloading problem.
+	(negsi2):  Deleted bogus `I' constraint on operand 1.
+	(divdf3, divsf3):  Added additional continuation characters
+	needed to make lines acceptable to `read_rtx' in the gen* programs.
+
+	* i860.c:  Include "flags.h" to get access to `optimize' flag.
+	(leaf_function_p):  Added extern declaration.
+	(zero_operand): New function.
+	(must_preserve_r1, must_preserve_bytes): New variables.
+	(function_prologue, function_epilogue): 
+	Support treatment of return-address reg (r1) in leaf functions.
+
+	* i860v4.h (CPP_PREDEFINES):  Add pre-assertions for i860/svr4.
+	(CPP_SPEC):  Deleted definition.
+	(TYPE_OPERAND_FMT):  New definition.
+	(ASM_OUTPUT_FUNCTION_PREFIX):  #undef before defining.
+	(ASM_OUTPUT_EPILOGUE_SUFFIX):  Deleted obsolete macro.
+	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+	TDESC_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
+	TDESC_SECTION_FUNCTION):  Definitions added.
+
+	* i860v3.h: Complete rewrite.  Uses svr3.h.
+
+	* i386v4.h:  Don't include i386v.h.  Include i386.h instead.
+	(SDB_DEBUGGING_INFO):  #undef deleted.
+	(ASM_OUTPUT_DWARF_STRING):  Added definition.
+
+	* gcc.c (default_compilers):  Pass -g* options to cpp.
+
+	* gcc.c (do_spec_1):  Don't duplicate -A options in CPP_PREDEFINES.
+
+	* gnulib2.c (exit, __main, __do_global_dtors, __do_global_ctors):
+	New functions.
+
+	* i386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX):
+	Define here, and use IP.
+
+	* i386.h: Don't include syms.h or define FILNMLEN.
+
+	* x-i860v3, x-i860v4: New files.
+	* x-i386v4 (CCLIBFLAGS, GCC_CFLAGS):  Added definitions.
+
+	* xm-svr3.h:  New file.
+	* xm-i86v3.h, xm-i86v4.h, xm-i386v.h: Rewritten.
+	* xm-i38v4.h: New file.
+
+	* svr4.h (LIB_SPEC):  Make crtend.o come before any *crtn.o
+	file (to avoid hitting return without standard epilogue in .init code).
+	(INIT_SECTION_ASM_OP):  Added definition for crtstuff.c (and friends).
+	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):
+	Adjusted indentation of continuations to match those in rest of file.
+
+	* svr3.h (CPP_PREDEFINES):  Don't define this here.
+	(ASM_FILE_START_1):  Provide no-op default definition.
+	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):  Undef these before defining.
+	(INT_ASM_OP, USE_CONST_SECTION, INIT_SECTION_ASM_OP,
+	CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+	EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, READONLY_DATA_SECTION,
+	CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION,
+	ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR, SELECT_SECTION,
+	SELECT_RTX_SECTION):  Definitions added.
+
+Sun Dec  8 15:27:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+   	* next.c (handle_pragma): Use get_directive_line.
+
+	* gnulib2.c (__do_global_dtors, __do_global_ctors):
+	Remove the feature to control the order of execution.
+	This is not a clean solution to the overall problem.
+
+Sun Dec  8 14:47:44 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (toplevel, add_local_symbol, parse_stabs_common):
+	More changes for smuggling stabs through from meissner@osf.org and
+	bothner@cygnus.com.
+
+	* mips.h (ignore_line_number): New global, set when we must avoid
+	putting out a MIPS ECOFF .loc because the file changed inside of a
+	function, and we are also putting out stabs, which can handle this.
+	(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Define to put a comment
+	in front of the pseudo op, if we are encapsulating stabs in MIPS
+	ECOFF.
+	(ASM_OUTPUT_SOURCE_FILENAME): Change to call mips_output_filename.
+	(ASM_OUTPUT_SOURCE_LINE): change to call mips_output_lineno.
+
+	* mips.c (toplevel): Include stab.h for encapsulating stabs.
+	(ignore_line_number): New global variable.
+	(reg_or_0_operand): Call register_operand for REG's as well as
+	SUBREG's.
+	(override_option): Don't allow ints in FP registers unless -mdebugh.
+	(mips_output_filename): New function to write the filename to the
+	assembler output.  Add special support for encapsulating .stabs in
+	MIPS ECOFF.
+	(mips_output_lineno): New function to write the line number to the
+	assembler output.  Add special support for encapsulating .stabs in
+	MIPS ECOFF.
+	(function_epilogue): Clear ignore_line_number.
+
+	* mips.md (fix_trunc??si_opt, mov??_internal): Change '!' constraint
+	back to '*'.
+
+Sat Dec  7 16:58:57 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-spew.c (scan_tokens): Stop scanning at semi-colon.
+
+	* cp-spew.c: Made SPEW_DEBUG code useable:
+	(yylex): Use stderr in SPEW_DEBUG code.
+	(yytags): Deleted table.
+	(debug_yychar): Print to stderr, and don't try finding translations
+	for values over 256.
+
+	* cp-class.c (push_lang_context): Fix typo in comment.
+
+	* cp-decl.c (finish_decl): Undo `pushclass' done in start_decl for
+	top-level decls of methods.
+
+	* cp-lex.c (restore_pending_input): Cast 0 to pointer type for
+	obstack_free.
+
+	* cp-pt.c (do_pending_expansions): Use TREE_USED instead of
+	TREE_ADDRESSABLE for functions.  Put in comments explaining why we
+	compile unused methods of classes that are interface-unknown: the
+	file initializer/cleanup functions might need them.
+	(mumblefrotz): Delete unused function; this code is in cp-parse.y.
+
+Sat Dec  7 15:46:55 1991  Timothy Moore (moore@cs.utah.edu)
+
+	* function.c: Handle ARGS_GROW_DOWNWARD.
+	(pad_below, pad_to_arg_alignment, round_down): New subroutines.
+	(locate_and_pad_parm): Use them, for the existing case.
+	Also handle the ARGS_GROW_DOWNWARD case, using them.
+
+Sat Dec  7 15:46:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tree.h (DECL_ARG_TYPE_AS_WRITTEN): New macro.
+	* c-decl.c (grokdeclarator): Store value there.
+
+	* m68k.c (output_function_prologue, output_function_epilogue):
+	Support MOTOROLA syntax.
+
+	* toplev.c (main): Testing for -ggdb catches -g also.
+	Default use_gdb_dbx_extensions to 1 for -gstabs, 0 for -gdbx.
+	Specified default is for -g.
+
+	* cccp.c (handle_directive): Store start address in directive_start.
+	(do_xifdef): Use that, checking if at start of file.
+	(do_endif): Compute ep properly.
+
+	* protoize.c (abspath): Fix errors referencing argument cwd.
+	(main): Allocate big enough buffer for getcwd.
+	Don't clobber varargs_style_indicator, copy it.
+	(savestring): New function.
+
+Sat Dec  7 00:53:16 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* c-decl.c (warn_redundant_decls, warn_nested_externs): New vars.
+	(c_decode_option): Support -Wredundant-decls and -Wnested-externs.
+	(pushdecl): Print those warnings.
+	* c-tree.h (warn_redundant_decls, warn_nested_externs): Declared.
+
+	* c-decl.c (pending_xref_error, c_mark_varargs):  Added return type.
+
+	* cccp.c (main):  Added code to support the presence of -A (assertion)
+	options within CPP_PREDEFINES.
+
+	* c-lang.c: Minor cleanups.
+
+	* c-lex.c (check_newline):  Added support for the -g3 option.
+
+	* dwarfout.c (type_tag):  Fixed bug in gcc Dwarf generation for
+	tagged types.
+
+	* dwarfout.c (output_decl):  Added two pre-checks to see if nodes
+	are ERROR_MARK nodes before using them.
+
+	* dwarfout.c (generate_new_sfname_entry):  Function added.
+
+	* dwarfout.c (lookup_filename):  Call generate_new_sfname_entry
+	as soon as each new source filename is added to the list of
+	known filenames (thus avoiding an m68k forward-ref assembler bug).
+
+	* dwarfout.c (dwarfout_line):  Initialize prev_file_entry_num to
+	(unsigned) -1 rather than zero to avoid bogus suppression of
+	first .debug_sfnames section entry.
+
+	* dwarfout.c (compare_filename_entries):  Function deleted.  (It's
+	no longer needed.)
+
+	* dwarfout.c (dwarfout_finish):  Don't generate .debug_sfnames
+	section entries here anymore.  (See lookup_filename.)
+
+	* Makefile.in (realclean): Delete c-parse.h.
+	Delete objc-parse.output just once.
+
+Fri Dec  6 17:49:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (FIXED_BASE_PLUS_P): The frame or argument pointer itself is
+	a fixed address.
+	(find_comparison_args): If we find something equivalent to a
+	fixed address, return the fixed address.
+
+	* combine.c (try_combine): Don't access new_i2_notes if it hasn't been
+	defined (it isn't defined unless newi2pat != 0).
+
+Fri Dec  6 16:01:02 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* rtl.h (enum reg_note): Define two new values REG_DEP_ANTI,
+	REG_DEP_OUTPUT, which are used to mark LOG_LINKS.
+	* rtl.c (reg_note_name): Likewise.
+	(add_dependence): Return void.  New parameter DEP_TYPE to indicate
+	type of dependence.
+
+	* sched.c: Major rewrite to delete much obsolete code, correct many
+	comments, delete unused variables, etc.  Modify all callers of
+	add_dependence to pass new argument.  Significant changes are:
+	(reassign_dependence): Deleted, was unnecessary.
+	(priority): Account for type of dependence when calculating
+	priority.
+	(flush_pending_lists): New function.  Encapsulate code which makes
+	dependencies between an INSN and every insn on the
+	pending_read_insns and pending_write_insns lists.
+	(rank_for_schedule): Account for type of dependence with last
+	scheduled insn when deciding which ready insn to schedule next.
+	(launch_link): Give all birthing insns the same priority.
+	(schedule_block): Only sort the ready list once, after all ready
+	insns have been added to it.
+	(schedule_block): When deciding what REG_DEAD notes are needed on a
+	just scheduled insns, process all sets first (sched_note_set) then
+	process all uses (attach_deaths_insn).
+	(attach_deaths): Simplified by above change.
+	(sched_note_set): Likewise.
+	(update_flow_info): Renamed from update_links, since it no longer
+	does anything with LOG_LINKS.  Sched_analyze_insn creates all
+	necessary new LOG_LINKS already.
+	(schedule_insn): Delete no op move insns after reload.
+
+Fri Dec  6 13:33:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* crtstuff.c: Give permission to link with non-free programs.
+
+	* toplev.c (flag_inhibit_size_directive): New var and -f option.
+	* svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): Use it.
+	* Makefile.in (crtbegin.o, crtend.o): Use that option.  Use -g1.
+
+Fri Dec  6 08:42:53 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* Makefile.in (STAGESTUFF):  Added __main and _exit to support g++.
+
+	* c-common.c (c_expand_expr_stmt):  Made return type explicit.
+
+	* c-common.c: (get_directive_line):  Function added to support -g3.
+
+Fri Dec  6 04:50:39 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-tree.h (OPERATOR_ASSIGN_CHARS_P): Flushed.
+	* cp-decl.c (grok_op_properties): Flush OPERATOR_ASSIGN_CHARS_P.
+	* cp-init.c (add_{friend,friends}): Ditto.
+
+Thu Dec  5 22:31:12 1991  Jeffrey A Law  (law at super.super.org)
+
+	* m68k.h (CONST_COSTS): Show that constants which can be easily
+	generated are less expensive than most.
+
+	* m68k.md (movsi): Use two instruction sequences to load constants
+	which are just outside moveq's range (within 8 of moveq's range).
+	Likewise for positive even constants within twice moveq's range.
+
+Thu Dec  5 20:17:13 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+
+	* config-gcc.com: Generate a file 'version.opt' which will be given
+	  to the VMS linker to put the gcc version number in the image 
+	  header version number field.
+
+	* make-cc1.com: Compile c-lex.c when building gcc and objc, and
+	  add c-lex.obj to the list of files given to the linker.
+	  Add version.opt to the list of files given to the linker.
+
+	* make-cccp.com: Add version.opt to the list of files given to the
+	  linker.
+
+Thu Dec  5 23:04:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (make_extraction): Don't make a STRICT_LOW_PART of a MEM;
+	clean up comments so they agree with the code.
+
+	* combine.c (try_combine): Correct test for when we can safely change
+	the mode of a pseudo; can't if it doesn't die in I3.
+
+	* c-decl.c (WCHAR_TYPE_SIZE): Deleted; never used.
+	* c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Deleted, no longer needed.
+	(combine_strings): Use size of `wchar_type_node' to get number of
+	bytes in wchar_t.
+	* next.h (WCHAR_TYPE_SIZE): Delete; no longer used.
+
+	* cse.c (cse_main): Add new argument to cse_basic_block_call.
+	Don't call cse_around_loop here.
+	(cse_basic_block): Call cse_around_loop from here while we still
+	have our arrays allocated.
+
+	* combine.c (simplify_comparison): Fix error in last change; don't
+	reference TEM before it is set.
+
+	* toplev.c (fatal_insn_not_found): Flush all files before aborting.
+
+Thu Dec  5 21:42:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (build_objc_method_call): Eval OBJECT and SELECTOR
+	only once.  Always pass self_decl as self to the method.
+
+Thu Dec  5 14:52:16 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* ccrtstuff.c, gnulib2.c, protoize.c: Include tm.h not config.h,
+	since these are complied for the target, host defines do not apply.
+
+Thu Dec  5 14:52:24 1991  Michael Meissner  (meissner at osf.org)
+
+	* dbxout.c (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): If
+	not defined, define as .stabs/.stabn/.stabd respectively.  Change
+	all places emitting stabs to use the macros.
+	* cp-decl2.c: Ditto.
+	* cp-gc.c: Ditto.
+	* final.c: Ditto.
+	* varasm.c: Ditto.
+	* gcc.texinfo: Document ASM_STAB[DNS]_OP macros.
+
+Thu Dec  5 12:03:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (process_command): Don't put `.' on startfile_prefix.
+	Cast result of alloca.
+
+	* config/*.h (ASM_OUTPUT_ASCII): Put parens around all uses of args.
+
+	* hp800.h, hp800.c, hp800.md, xm-hp800.h: New files.
+	* va-hp800.h: New file.
+	* gvarargs.h: Use va-hp800.h if needed.
+	* config.subr, configure: Add alternatives for hp800, hp700.
+
+Thu Dec  5 09:35:15 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-search.c (note_debug_info_needed): Do the right thing for
+	static member functions.
+
+Thu Dec  5 01:25:13 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+
+	* version.c: Now 1.96.
+
+Wed Dec  4 23:17:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (try_merge_delay_insns, fill_simple_delay_slots): Correctly
+	update NEXT_TRIAL after possibly splitting an insn.
+
+Wed Dec  4 17:03:11 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* gplus.gperf: Add throw and template keywords.  Update private,
+	protected, and public definitions.
+
+	* print-tree.c (print_node): Add missing indentation argument to
+	print_node call for values field.
+
+Wed Dec  4 18:39:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (build_objc_method_call): Define as static.
+
+Wed Dec  4 17:04:49 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (add_varray_page, alloc_type enum): Keep track of how
+	many pages we allocated for varrays as well as the small stuff.
+	(stabs_filename): New static to hold the special filename used for
+	passing stabs through.
+	(parse_stabs_common, parse_stabs, parse_stabn): New functions to
+	smuggle stabs through to the debugger.  Stabs must be commented out,
+	just like the other debug directives.
+	(add_local_symbol): Check hash_ptr to see if it's null before
+	storing into it, in case no name is passed.
+	(add_file): Add support for the special stabs file.
+	(copy_object): Before copying the external symbols, figure out the
+	file indexes of each of the files, and then explicitly remap the
+	original file indexes of the external symbol to be the new file
+	index.  If this isn't done, then bad file numbers can get generated
+	if a filename is repeated.
+	(various): Change the name of small_alloc to alloc_counts, since we
+	now track large memory allocations as well.
+
+	* mips-tdump.c (toplevel): Delete unnecessary include file stamp.h.
+
+Wed Dec  4 11:05:04 1991  Michael Collison  (collison at osf.org)
+
+	* encore.h (ASM_OUTPUT_LABELREF_AS_INT): add definition
+	* ns32k.h: ditto
+
+	* ns32k.h (ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL): If COLLECT is
+	defined provide alternate definitions
+
+	* encrose.h (ASM_OUTPUT_INT): If COLLECT is defined provide
+	alternate definition
+
+Wed Dec  4 01:39:07 1991  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-pt.c (end_template_decl): For method templates, pop the class
+	binding level before the others rather than after.
+
+	* cp-class.c: Added DEBUG_CP_BINDING_LEVELS code.  Include cp-decl.h
+	if that symbol is defined, but don't list it in Makefile.in since
+	that's not the normal mode.
+	(pushclass): Print messages and frob indentation level.
+	(popclass): Likewise.
+
+	* cp-spew.c (yylex): If identifier_type says PTYPENAME, and
+	following token is "<", force looking_for_typename to be
+	non-negative.
+
+	* cp-pt.c (mangle_class_name_for_template): Drop extra spaces
+	between last parm and closing ">".  Print a message before aborting
+	if a parm type isn't handled.
+
+	* cp-decl.c (maybe_globalize_type): Don't do it if the identifier
+	that names the type doesn't currently have a type value.
+
+Wed Dec  4 01:06:28 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (finish_enum): Call `rest_of_type_compilation' for
+	ENUMTYPE.
+	* cp-class.c (finish_struct): Ditto.
+	* cp-decl.c (pushtag): Set TYPE_STUB_DECL.
+	* cp-search.c (note_debug_info_needed): Call
+	`rest_of_type_compilation' if we notice we need debug info for TYPE.
+	* dbxout.c (dbxout_init): Fix typo in comment.
+
+	* cp-parse.y (DOT_STAR): New token.
+	(expr_no_commas): Handle DOT_STAR expressions.
+	* cp-lex.c (real_yylex): Recognize DOT_STAR.  Also, rearrange
+	scanner to make it more efficient.
+
+	* cp-decl.c (maybe_build_cleanup): When building cleanups, pass
+	TYPE_MAIN_VARIANT to `build_delete'.
+
+Tue Dec  3 22:52:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* flow.c (mark_set_1): Make a REG_UNUSED note not a REG_DEAD note
+	for the part of multi-word hard registers not needed.
+
+Tue Dec  3 22:34:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure: Support --objdir.
+
+	* objc-parse.y: Get rid of many static decls.
+	Reorder all token definitions to match c-parse.y.
+	(recognize_objc_keyword): New function.
+	* c-lex.c (token_buffer): No longer static.
+	(yylex): For @, call recognize_objc_keyword.  Don't use keyword table.
+	* c-lang.c (recognize_objc_keyword): Dummy definition.
+
+	* objc-actions.c (build_objc_method_call) [!NEXT_OBJC_RUNTIME]:
+	Pass selector as arg to the method.
+	Always cast the method to a function type.
+
+	* xm-sparc.h (alloca): If using Sun CC, include alloca.h.
+	If using GCC, define as __builtin_alloca the way other machines do.
+
+	* cccp.c (print_containing_files): Print the nominal file names.
+
+Tue Dec  3 16:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): If branches are expensive, convert jumps
+	around increments or decrements by one into an increment by the
+	conditional expression.
+
+	* combine.c (simplify_comparison): Don't remove a SUBREG unless
+	it doesn't affect either operand.
+
+	* cse.c (find_comparison_args): Rework so that we can correctly
+	fold comparisons on machines that set CC0 to the result of a 
+	condition test, not just a COMPARE.
+	(cse_insn): Don't set THIS_INSN_CC0 to a constant if we don't know
+	its mode.
+
+Tue Dec  3 12:01:12 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* mips.md: Use AND not IOR in define_function_unit definitions.
+	Correct setting of MODE attribute in various insn patterns.
+
+Tue Dec  3 08:31:18 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-spew.c (scan_tokens): Delete Dec 2 change.
+	(yylex): Instead, copy TMP_TOKEN.YYLVAL.TTYPE if it was allocated on
+	the wrong obstack.
+	(probe_obstack): New function to support the above change.
+
+	* cp-tree.h (CLASSTYPE_DEBUG_REQUESTED): New flag.
+	(CLASSTYPE_ASM_WRITTEN): Deleted.
+	cp-class.c (finish_struct): Now almost always assume that classes
+	with methods are to ignored for debugging purposes.
+	cp-search.c (dfs_debug_{mark,unmarkedp}): Rewritten to handle new
+	algorithm for minimizing debug output.
+
+	* cp-decl2.c (constructor_name): Handle case when THING is a
+	UNION_TYPE.
+
+Tue Dec  3 06:35:38 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* jump.c (duplicate_look_exit_test): If REG_MAP is non-zero, call
+	replace_regs on the REG_NOTES of COPY.
+
+	* cp-spew.c (scan_tokens): Don't read past '='.
+
+	* cp-call.c (compute_conversion_costs): For now, treat
+	CONTRAVARIANCE_HARSHNESS as EVIL_HARSNESS, since we cannot tell the
+	difference between when we should accept it (pointers to the right
+	sort of methods) and when we shouldn't (base* to derived*
+	conversions).
+
+Mon Dec  2 18:53:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* cse.c (cse_around_loop): Fix typo in comment.
+	* dbxout.c (dbxout_type_fields): Likewise.
+
+	* sched.c (sched_analyze_1): Pass the second and third args of a
+	ZERO_EXTRACT or SIGN_EXTRACT in the SET_DEST to sched_analyze_2.
+
+	* combine.c (make_compound_operation): Change (lshiftrt (ashift ...))
+	to a ZERO_EXTRACT, not a SIGN_EXTRACT.
+
+Mon Dec  2 15:09:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* jump.c (jump_optimize): New arg AFTER_REGSCAN.
+	If not set, don't use duplicate_loop_exit_test.
+	* toplev.c (compile_file): Pass new arg to jump_optimize.
+
+	* next.h (SELECT_SECTION): Test TREE_CONSTANT as well as TREE_READONLY.
+
+	* xm-i86v[34].h: Renamed from xm-i860v[34].h.
+	* configure: Corresponding changes.
+
+	* m68k.c (output_function_epilogue): Put %R on all regs in asm_fprintf.
+
+	* t-decstatn (ld): Just copy collect2.
+	(collect): Target deleted.
+	(EXTRA_PASSES): Deleted collect.
+	(mips-tfile, mips-tdump): Depend on LIBDEPS.
+	* t-mips (mips-tfile, mips-tdump): Depend on LIBDEPS.
+	* collect2.c (main): Run /bin/ld.
+	Use fatal_perror where appropriate.
+
+	* objc-actions.c (build_message_expr): Fix typo.
+
+	* configure: Add missing fi to finish last change.
+
+	* cse.c (simplify_binary_operation): Restore missing break in case DIV.
+
+	* sdbout.c (sdbout_init): Explicitly do nothing.
+	(sdbout_typedefs): Function deleted.
+
+Mon Dec  2 12:504:35 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+
+	* config-gcc.com: Finish changeover from tm-*.h to *.h.
+
+Sun Dec  1 05:18:32 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-search.c (lookup_{field,fnfields}): If PROTECT is 0, don't
+	memoize the entry we find.
+
+	* cp-decl.c (grokvardecl): Call `build_lang_field_decl' instead of
+	`build_decl' if we retroactively allocate a VAR_DECL.
+
+Sun Dec  1 00:10:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure: Convert option syntax from + to --.
+	Support --target.
+
+	* i386v4.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_GLOBAL): Deleted.
+	(ASM_FILE_START): Deleted.
+	(STARTFILE_SPEC, LIB_SPEC, STANDARD_STARTFILE_PREFIX): Deleted.
+	(STDC_VALUE): Deleted.
+
+	* real.h (REAL_VALUE_TRUNCATE): Check for same size as SFmode.
+
+	* config/*.h: Renamed from tm-*.h.  #includes and comments changed.
+	* configure: Changed accordingly.
+	* t-*: tm-*.h file names changed.
+
+	* gnulib2.c (__enable_execute_stack): Renamed function.
+	* convex.h (INITIALIZE_TRAMPOLINE): Use new name.
+
+Sun Dec  1 08:57:45 1991  Michael Meissner  (meissner at osf.org)
+
+	* cccp.c (main): Add cast in front of alloca for non GCC compilers.
+
+Sat Nov 30 22:33:24 1991  Chris Smith  (csmith@convex.com)
+
+	* config.subr: Recognize -c3*.
+	New alternatives for convex-c3*.
+	* configure: Alternatives for convex rewritten.
+
+	* gnulib2.c (__execute_enable_stack): New function for Convex only.
+
+	* gcc.c (do_spec_1): Use \ as quoting char.
+
+	* convex.h (TARGET_SWITCHES): Add new machine types c32, c34, c38.
+	Add flag TARGET_INDIRECTS, true for c1 and c2, false for c3.
+	* convex.h (GO_IF_LEGITIMATE_ADDRESS): Avoid indirect
+	addressing if ! TARGET_INDIRECTS.
+	
+	* convex.h: (BITS_PER_WORD, UNITS_PER_WORD, WORDS_BIG_ENDIAN):
+	It now works to describe machine correctly.
+
+	* convex.h (SIZE_TYPE, PTRDIFF_TYPE): Make them ints rather
+	than longs to match usage in /usr/include.
+
+	* convex.h (enum reg_class): Add classes SP_REGS, the stack
+	pointer, and INDEX_REGS, the remaining A_REGS.
+	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust
+	for new classes.
+	(INDEX_REG_CLASS, BASE_REG_CLASS): Use INDEX_REGS so gcc will
+	not index off the stack pointer (register 0).
+
+	* convex.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
+	INITIALIZE_TRAMPOLINE): Define.
+
+	* convex.h (INITIAL_FRAME_POINTER_OFFSET): Define.
+
+	* convex.h (RTX_COSTS): Specify costs to prevent multiply
+	from being synthesized from shifts (which aren't faster).
+
+	* convex.h (NOTICE_UPDATE_CC): No need to do CC_STATUS_INIT,
+	cc is never looked at.
+
+	* convex.h (VTABLE_USES_MASK, VINDEX_MASK, SET_DECL_VINDEX):
+	define so g++ works.
+
+	* convex.h: If COLLECT is defined, define output macros for
+	collect to call.
+
+	* convex*.h: If !traditional, define _LONGLONG and 64-bit
+	typedefs to prevent types.h from murdering ansi compilations.
+
+	* convex.md (movsi): split into define_expand and two
+	anonymous define_insns, one that uses indirection and
+	one that doesn't.  TARGET_INDIRECTS selects which.
+
+	* convex.c (output_call):  New routine.  Scan forward from call
+	to decide if AP is live, omit AP reload if not.
+	* convex.md (call, call_value): use output_call.
+
+	* convex.md (bit manipulation peepholes): remove, now done in
+	combine.
+
+	* convex.md (indirect_jump): Define.
+
+	* convex.c (const_double_{high,low}_int): Just return the
+	appropriate word, remove slow float computations.
+
+	* math-convex: New file to use builtin instructions.
+
+	* x-convex: Use cc -pcc to bootstrap gcc.
+
+Sat Nov 30 10:21:26 1991  Ron Guilmette (rfg at ncd.com)
+
+	* tm-i386v4.h (DBX_REGISTER_NUMBER): Different renumbering.
+
+	* tm-svr4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Changed 
+	so that the progbits parameter actually appears in the definitions.
+
+	* tm-svr4.h (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):  Adapted
+	for change in CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP.
+
+Sat Nov 30 07:05:06 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-spew.c (follows_{identifier,typename}): New arrays.
+	* cp-spew.c (init_spew): Initialize new arrays.
+	* cp-decl.c (lookup_name): takes new parameter PREFER_TYPE.
+	All callers changed.
+	* cp-spew.c (yylex): Set LOOKING_FOR_TYPENAME every time we see an
+	AGGR or ENUM.
+
+	* cp-lex.c (real_yylex): When composing EXTERN_LANG_STRING, call
+	`real_yylex', not `yylex'.  Changed other places that depended on
+	calling `real_yylex' for their input.
+
+	* cp-spew.c (scan_tokens): Never read past '{' or ':'.  Fill the
+	token buffer with EMPTY tokens in that case.
+	(yylex): Handle EMPTY tokens.
+
+	* cp-parse.y (structsp): Avoid using `yyungetc' to push a ';' back
+	on the input stream.
+	(START_DECLARATOR): New token.
+	(absdcl): Handle START_DECLARATOR.
+	* cp-spew.c (consume_token): Renamed from `discard_token'.
+	(struct token): Changed structure to make it smaller.
+	(spew_init): Renamed from init_spew.  Now called from init_lex.
+	(scan_tokens): Renamed from slurp_next_token.
+	Many functions reformatted to match GCC indentation style.
+
+	* cp-lex.c (arbitrate_lookup): Don't guess in favor of type if
+	yychar is ')'.
+
+	* cp-decl.c (lookup_name): Fixed so that all binding levels use
+	`looking_for_typename' consistently.
+	* cp-type2.c (build_functional_cast): Handle new case that we are
+	called in a context where a method is appropriate (but we parsed it
+	as a ctor call).
+
+	* cp-call.c (CONST_HARSHNESS): Change bit that we test.
+	(convert_harshness,compute_conversion_costs): Call CONST_HARSHNESS
+	consisently when needed.
+
+	* cp-init.c (decl_constant_value): Keep enabled even when
+	CURRENT_FUNCTION_DECL is null.
+
+Sat Nov 30 01:23:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* sdbout.c (sdbout_init): Just call sdbout_one_type on each type.
+
+	* tm-att386.h (ASM_OUTPUT_ASCII): Output a space after ASM_BYTE_OP.
+	* tm-sun386.h: Likewise.
+	* tm-i386.h (ASM_OUTPUT_BYTE, ASM_OUTPUT_CHAR): Likewise.
+	(ASM_OUTPUT_SHORT, ASM_OUTPUT_LONG, ASM_OUTPUT_DOUBLE): Likewise.
+	(ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+	* tm-att386.h (ASM_BYTE_OP, ASM_SHORT, ASM_LONG, ASM_DOUBLE):
+	Don't end with space.
+	* tm-sun386.h, tm-bsd386.h: Likewise.
+
+	* c-lex.h: Renamed from c-parse.h.  All #includes changed.
+	* c-parse.c, c-parse.h: Renamed from c-parse.tab.*.
+	* Makefile.in: Changed accordingly.
+	(C_OJBS, realclean, TAGS): These changed too.
+
+	* tm-svr4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS):
+	Undef before defining.
+
+	* tm-i386v4.h: Include tm-svr4.h.
+	(CPP_PREDEFINES): Define SVR4, and several assertions.
+	(LIB_SPEC): Delete -Qy.  LINK_SPEC handles this.
+	(DBX_REGISTER_NUMBER): New macro.
+
+Fri Nov 29 22:16:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md: Cannot use "muls" and "muli" to do widening multiply
+	from HImode to SImode; delete the 12 patterns that try to do this.
+
+Fri Nov 29 21:32:52 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-cvt.c (build_type_conversion): Don't assume that if
+	TYPE_HAS_{INT,REAL}_CONVERSION implies that CLASSTYPE_CONVERSION for
+	the given type combination is non-NULL.
+
+Fri Nov 29 16:08:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* crtstuff.c: New file.  Needs papers from rfg.
+	* Makefile.in (crtbegin.o, crtend.o): New targets.
+
+	* objc-actions.c (build_message_expr): Lots of cleanups.
+	(build_objc_method_call): New subroutine.
+	Handles new option NEXT_OBJC_RUNTIME.
+
+	* expr.c (do_jump): Any LABEL_REF is nonzero.
+	(expand_expr): Construct LABEL_REFs with Pmode.
+
+Fri Nov 29 14:43:32 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (parse_def): Change an error into a warning.
+
+	* mips.md (fix_trunc??si_opt, mov??_internal): Change '*' constraint
+	to '!' to keep reload from allocating FP registers from holding
+	excess integer values.
+	(ashift right define_splits): Fix typo, so that the long long
+	arithmetic right shifts are recognized.
+	(all define_splits): dummy out constraints, since they are not used.
+
+	* mips.c (override_options): Allow int's in FP registers again, now
+	that ! constraints are used.
+
+Fri Nov 29 13:20:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dwarfout.c (output_compile_unit_die):  Don't include the name
+	of the compiler which compiled the compiler in the AT_producer
+	string.  It goofs up comparisons of stage2 & stage3 object files.
+
+	* c-parse.y, objc-parse.y: Don't declare position_after_white_space
+	as static; it is now in c-lex.c.
+
+Fri Nov 29 05:15:26 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (xref_tag): Check that TREE_CODE (ref) is aggr type
+	before storing into CLASSTYPE_DECLARED_CLASS (ref).
+
+	* cp-decl2.c (build_push_scope): Don't let non-aggr types appear in
+	`cname::fname' expressions.
+
+	* cp-class.c (resolves_to_fixed_type_p): VAR_DECL and FIELD_DECL
+	nodes of ARRAY_TYPE may resolved to fixed type.  Also handle other
+	cases of WITH_CLEANUP_EXPR.
+
+	* cp-spew.c (frob_identifier): Handle case of a type conversion
+	operator that converts to a nested type.
+
+	* cp-expr.c (cplus_expand_expr): In NEW_EXPR case, if ARGS is
+	permanent, build a new arglist instead of modifying it in place.
+
+	* cp-typeck.c (convert_arguments): Add ??? to comment about virtual
+	function conversions.  ??? I don't understand what that code is
+	supposed to do anymore.
+	(comp_target_parms): If STRICT <= 0, accept types whose
+	TYPE_MAIN_VARIANTs are equal.
+
+	* cp-call.c (convert_harshness): Revamped to handle contravariance
+	better.
+	* cp-class.h (struct candidate): Declaration moved from cp-tree.h.
+
+	* cp-class.c (duplicate_tag_error): New function.
+	* cp-parse.y (LC): Call it if we're redefining a tag.
+	* cp-decl.c (duplicate_decls): Only copy DECL_ARGUMENTS from OLDDECL
+	if non-NULL.  Otherwise we get nonsense when we try to parse
+	inline function bodies of classes that have already been redefined.
+	* cp-lex.c (reinit_parse_for_method): If we get some text for a
+	class that's been redefined, flush the text.
+	* cp-tree.h (TYPE_REDEFINED): New field in `struct lang_type'.
+
+	* cp-cvt.c (convert_to_integer): Only warn about anachronistic
+	conversion from int to enum if PEDANTIC is nonzero.
+
+	* cp-typeck.c (convert_for_initialization): No longer give warning
+	messages about bitwise copy: this is currently how the default X(X&)
+	constructor is implemented.
+	* cp-init.c (expand_aggr_init_1): Ditto.
+
+	* cp-method.c (dump_init): Handle WITH_CLEANUP_EXPR and TARGET_EXPR.
+	* tree.c (simple_cst_equal): Handle WITH_CLEANUP_EXPR.  Correct
+	handling of TARGET_EXPR case.
+
+	* cp-decl.c (grok_reference_init): If DECL is permanent, make it's
+	DECL_REFERENCE_SLOT permanent as well.
+
+	* cp-cvt.c (build_type_conversion): If PEDANTIC, give message about
+	conversions which cast away const.
+
+	* cp-decl.c (store_return_init): If PEDANTIC, give error about named
+	return values.
+
+	* cp-init.c (decl_constant_value): Don't return DECL_INITIAL if
+	CURRENT_FUNCTION_DECL is null or if the initializer is a
+	CONSTRUCTOR.
+
+Thu Nov 28 05:29:52 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* integrate.c (expand_inline_function): When passing objects by
+	invisible reference, correctly compute the amount of space to be
+	allocated in the pseudo-frame we create for the inline function.
+
+	* cp-typeck.c (mark_addressable): Add call to
+	`mark_inline_for_output' that got lost in Nov 25 change.
+
+	* cp-decl.c (push_overloaded_decl): If the value of a name is an
+	ADDR_EXPR, look inside to get the _DECL node.
+
+	* cp-decl.c (grokdeclarator): Don't convert type of operators new
+	and delete to METHOD_TYPE; they remain FUNCTION_TYPEs.
+
+	* function.c (expand_function_start): Set TREE_REGDECL bit on
+	RESULT_DECL if result starts life in a register.
+
+	* c-common.c (truthvalue_conversion): Don't treat a CONVERT_EXPR as
+	a NOP when it or the expression inside it is of REFERENCE_TYPE.
+
+	* cp-class.c (finish_struct): Test DESTRUCTOR_NAME_P on
+	DECL_ASSMBLER_NAME, not DECL_NAME.
+
+Wed Nov 27 13:49:10 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* cse.c (simplify_relational_operation): Correct handling of
+	COMPARE as first argument.  Always strip it off.  Don't invert
+	return value for EQ when !HAVE_cc0.
+
+Thu Nov 28 20:08:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gmon.c: New file.
+
+Thu Nov 28 15:02:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (subst, case SET): Never make a paradoxical SUBREG of
+	a REG unless the SUBREG and REG occupy the same number of words.
+
+	* emit-rtl.c: Include flags.h.
+	(operand_subword): Always look inside floating if -fpretend-float.
+	* final.c (split_double): Likewise.
+	* Makefile.in (emit-rtl.o): Includes flags.h.
+
+	* c-lex.c (yylex): Add goto to `L' case.
+
+Thu Nov 28 08:37:02 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+
+	* tm-mips.h (ASM_OUTPUT_INT): Use `do {...} while (0)' so it can be
+	used in if/else constructs.
+
+Thu Nov 28 00:23:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tree.h (BUILT_IN_FRAME_ADDRESS, BUILT_IN_RETURN_ADDRESS):
+	New function codes.
+	* c-decl.c (init_decl_processing): Declare the functions.
+	* expr.c (expand_builtin): Implement them.
+
+	* gcc.c: Pass to ld all the dirs in LIBRARY_PATH:
+	(library_prefix): New list of prefixes.
+	(process_command): Put dirs from LIBRARY_PATH on that list.
+	(do_spec_1): %D outputs those dirs.
+	(link_command_spec): Use %D after passing -L options.
+
+	* gcc.c (process_command): Don't require machine suffix
+	for dirs from COMPILER_PATH or LIBRARY_PATH.
+
+	* cccp.c (main): C_INCLUDE_PATH, etc., add dirs rather than replacing.
+
+	* Use the TYPE_DECLs to drive dbx and sdb output of type tags.
+	* toplev.c (rest_of_type_compilation): New function.
+	(compile_file): Pass list of initial decls to dbxout_init, sdbout_init.
+	(various): Don't call get_*_types.
+	* dbxout.c (dbxout_init): Get initial types from that list.
+	* sdbout.c (sdbout_init): Likewise.
+	* sdbout.c, dbxout.c: Don't call get_*_types.
+	(*out_typedefs): New subroutines.
+	* c-decl.c (finish_struct, finish_enum): Call rest_of_type_compilation.
+	(pushtags): Record TYPE_STUB_DECL.
+	* tree.h (TYPE_STUB_DECL): New macro.
+	* stor-layout.c (chain_type, get_permanent_types, get_temporary_types):
+	Deleted.
+	(save_storage_status, restore_storage_status): Don't frob chains.
+	(layout_type): Don't call chain_type.
+
+	* dbxout.c (dbxout_type_fields): Output `/'-spec after type tag
+	only if really needed.
+
+Wed Nov 27 18:52:55 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* expr.c (expand_expr): Typo in expand_end_bindings, in BIND_EXPR case.
+
+Wed Nov 27 23:10:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (main): Use savestring, not strdup.
+
+Wed Nov 27 17:10:17 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.c (mips_load_reg3, mips_load_reg4): New global variables to
+	enable scheduling the second nop for the mfhi and mflo instructions.
+	(mips_hard_regno_mode_ok): New global array to give the results
+	of HARD_REGNO_MODE_OK for each register and mode.
+	(mips_fill_delay_slot): Instead of taking the number of nops as a
+	parameter, take an enumeration, giving what kind of delay this is.
+	If the next instruction is a label, put nops before label, not
+	after.  Add support for mflo/mfhi, which need 2 nops if the next
+	instruction would modify the hi/lo registers.
+	(mips_move_1word, mips_move_2words): mips_fill_delay_slot calling
+	sequence changes.  Pass mflo/mfhi to schedule nops.
+	(mips_move_2words): Move DImode to/from hi and lo registers is now
+	supported.
+	(function_arg): Correctly align long long parameters, just like
+	doubles.  Also correct typo in debug code.  Bug report from
+	lisa@MicroUnity.com.
+	(override_options): Initialize mips_hard_regno_mode_ok.  Restrict
+	int's from going in the FP registers, to limit the register
+	allocator from allocating them instead of using memory.  Also, make
+	the special registers (HI, LO, FPSW) only accept full sized ints, or
+	a double int for the HI:LO combination.
+	(compute_frame_size): Don't set the initialized member until reload
+	has completed, since otherwise the information may change.
+
+	* mips.md (various): Add 64 bit integer operations for addition,
+	subtraction, negation, and, inclusive or, exclusive or, one's
+	complement, shifts, and nor.  Add 32x32->64 bit support for
+	multiply, which the compiler then uses to construct 64 bit
+	multiplies.
+	(mulsi3): Break mul into it's two instructions, and schedule the
+	two nops needed for the mflo instruction.  Don't allow an integer
+	multiplier anymore.
+	(ffssi2): Delete define_expand, and use a second clobber'ed register
+	to preserve the original input, instead of (clobber (match_dup 1)).
+	(movsi_ulw): Change mips_fill_delay_slot calling sequence.
+	(movdi_internal): Allow DImode move from HI/LO to/from GP registers.
+	(movdi define_split): Add a define_split to separate the two parts
+	of DImode register pairs when using GP registers.
+	(movdf define_split): Add a define_split to separate the two parts
+	of DFmode register pairs when using GP registers.
+	(mov??_internal): Change condition to call memory_operand, instead
+	of just checking for MEM, which disallows (subreg (MEM)) during
+	the intermediate parts of the compilation.  Reported by
+	lisa@MicroUnity.com.
+	(negsi2): Turn back into a real insn instead of just a
+	define_expand for subsi3.
+	(one_cmplsi2): Turn back into a real insn instead of just a
+	define_expand for norsi3.
+	(andsi3, iorsi3, xorsi3): Be more liberal than the real machine, and
+	allow 32 bit constants to improve the code generated for bitfields,
+	at the expense of potentially not moving the constant out of loops.
+	(various): Add = constraint to all clobbers.
+	(fix_trunc*): Go back to old method of using two clobbers, since
+	unoptimized compiles call abort otherwise, when returning the result
+	of truncating a float as a function result.
+
+	* tm-mips.h (delay_type): New enum to express different types of
+	delay slots.
+	(mips_load_reg3, mips_load_reg4): Declarations for more registers
+	to check for needing nops.  Used by multiply/divide to schedule
+	the two nops needed after mfhi/mflo if the next instruction would
+	clobber the register.
+	(CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable all FP
+	registers.
+	(MASK_DEBUG_G): Add comment saying -mdebugg turns of new DImode
+	patterns, in case the code is wrong.
+	(HARD_REGNO_NREGS): All FP registers use register pairs, so that
+	SF in a GP register takes only one register, and SI in a FP
+	register takes 2.
+	(HARD_REGNO_MODE_OK): Change macro to reference the array
+	mips_hard_regno_mode_ok, which is now built in override_options.
+	(CONST_OK_FOR_LETTER_P): 'N' is now for negative numbers, 'O' is
+	an exact power of 2, and 'P' is now for positive numbers.
+	(PREFERRED_RELOAD_CLASS): If -msoft-float, never prefer a FP
+	register.
+	(PREFERRED_RELOAD_CLASS_FM): Delete, since nobody uses it.
+	(FINAL_PRESCAN_INSN): Check for mips_load_reg3 and mips_load_reg4
+	being mentioned.  Also add a missing tab when more than one delay
+	slot.
+	(CONST_COSTS): Make all constant ints cost 0 to lower register
+	pressure according to Richard Kenner.
+	(RTX_COSTS): Adjust costs for DI, SF, and DF modes, and add ABS/FFS
+	costs as well.
+	(REGISTER_MOVE_COSTS): Bump costs for moving between register
+	classes, so that reload doesn't try to store int type values in the
+	floating point registers.
+
+Wed Nov 27 15:01:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* config-gcc.com: Renaming of out-vax.c.
+	* make-cc1.com: Link dbxout with all languages.  Add cp-spew.
+
+	* cccp.c (include_defaults_array): Fix typo.
+
+	* gstddef.h: Handle _STDDEF_H_.
+
+	* configure.bat, Makefile.dos: New files.
+
+	* c-lex.c: New file.  All subroutines moved here.
+	(yylex): Small diffs between C and OBJC merged.
+	* c-parse.y, objc-parse.y: Deleted from here.
+	* c-lang.c (lookup_interface): New stub.
+	* Makefile.in (c-lex.o): New rule.
+	(OBJC_OBJS, C_OBJS): Changed for new files.
+
+Wed Nov 27 13:34:15 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* c-parse.y (yylex): Don't assume that long is 32 bits and long
+	long is 64 bits when warning for out of range integer constants,
+	and when creating a tree to represent integer constants.
+	* cp-lex.c (real_yylex): Likewise.
+	* objc-parse.y (yylex): Likewise.
+
+	* combine.c (simplify_comparison, ASHIFT case): Prevent shift by
+	HOST_BITS_PER_INT for inequality comparisons.
+
+	* fold-const.c (operand_equal_p): Arguments are not equal if
+	signedness differs.  Conversions don't match if signedness differs.
+
+	* sparc.md (movsi, movhi, movqi, movdi): Prohibit matches that
+	would require reloading by the use of conditions.
+
+	* alloca.c (alloca): Add parens to make precedence clearer.
+
+	* tm-news.h (PRINT_OPERAND): Add 68040 support so that the compiler
+	will bootstrap.
+
+Wed Nov 27 09:41:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case MIN_EXPR): Fix typo in operand number
+	in safe_from_p call.
+
+	* recog.c (indirect_operand): Correctly handle case where we have
+	a (subreg (mem X) C) after reload.
+
+Tue Nov 26 16:24:03 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (output_enumeration_type_die): Handle a GNU C 
+	language extension: incomplete enum types.
+
+	* dwarfout.c (output_type): Fixed bug which causes DIEs for
+	file-scope tagged types to be generated in a local-scope
+	under some conditions.
+
+	* dwarfout.c (dwarfout_init, dwarfout_finish): Moved code which
+	generates most of the .debug_aranges entries from dwarfout_init
+	into dwarfout_finish to avoid m68k assembler bug.
+
+	* Makefile.in (EXTRA_PARTS): New parameter.
+	(install-common): Compile the things in EXTRA_PARTS.
+	(GCC_PASSES, GCC_PARTS): New variables.
+	(STAGESTUFF, native, enquire, enquire.o): Use them.
+	(protoize, protoize.o, unprotoize, unprotoize.o, SYSCALLS.c.X):
+	(gnulib2.ready, collect2, collect2.o, getopt.o, getopt1.o): Likewise.
+
+	* tm-svr4.h (CPP_PREDEFINES): Don't define this here.  Undef it
+	so that other files which include this one will be forced to
+	define it appropriately for the specific target and OS.
+	(CPP_SPEC): Deleted.
+	(LIB_SPEC): Add crtend.o as last thing linked in on each link-step.
+	(STARTFILE_SPEC): Add crtbegin.o as the first thing linked in.
+	(NO_DOLLAR_IN_LABEL):  Added define.  Most svr4's don't support $.
+
+	* tm-svr4.h: Added support for the .ctors and .dtors sections
+	(as for the m88k).
+	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): New macros.
+	* tm-svr4.h (HERE_ASM_OP, ASM_DECLARE_FUNCTION_SIZE):  Deleted
+	define of HERE_ASM_OP and made ASM_DECLARE_FUNCTION_SIZE not
+	try to use a dot when computing a function's size in a .size
+	directive (because Tom Wood says that 88open doesn't approve
+	of dot as an asm operand).
+
+	* x-genix, x-i386sco, x-xenix (INSTALL): Define as cp.
+
+Tue Nov 26 16:24:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (default_compilers): Pass -A* to cpp.
+
+	* Make names unique if unpacked on MSDOG.
+	* config/*.c: `out-' removed from all file names out-*.c.
+	* x-hp*: Renamed from x-hp9k*.
+	* tm-conv1.h, tm-conv2.h: Renamed from tm-convex*.h.
+	* tm-hp*.h: `9k' removed from these names.
+	* tm-isi*.h: `68' removed from these names.
+	* tm-i860b.h, tm-i860bg.h: `sd' removed.
+	* tm-i860g3.h: Renamed from tm-i860v3g.h.
+	* tm-i386sun.h: Renamed from tm-sun386i.h.
+	* tm-sun3o3.h, tm-sun4o3.h: Were tm-sun*os3.h.
+	* tm-sun3n3.h: Was tm-sun3os3nf.h.
+	* tm-sun3n.h: Was tm-sun3-nfp.h.
+	* tm-sun2o4.h: Was tm-sun2os4.h.
+	* xm-hp320.h: Was xm-hp9k320.h.
+	* xm-i386sun.h: Was xm-sun386i.h.
+	* configure: Adjust for those renamings.
+
+	* configure (m68000-hp-hpux*): Use xm-hp320.h.
+
+	* stmt.c (expand_value_return): New subroutine.
+	(expand_return): Use that.
+
+	* make-gcc.com: New name for make.com.
+
+	* stor-layout.c (layout_record): Return list of static members.
+	(layout_type): Lay them out here.
+
+	* expmed.c (init_expmed): Use 3 as shift count for shift_cost.
+
+	* x-sco: File deleted.
+
+	* print-tree.c (print_node): Always be brief for vector elts.
+
+Tue Nov 26 07:42:41 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Fix typo involving ~RID_STATIC.
+
+Mon Nov 25 21:51:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_cmp_insn): If both operands are VOIDmode,
+	put first operand into register, not second.
+
+	* alliant.md, gmicro.md, i386.md, m68k.md, ns32k.md, pyr.md:
+	Don't allow a constant as the first operand to tstxx insns.
+	* tahoe.md, vax.md: Likewise.
+	* convex.md: Remove erroneous comment on tstsi.
+
+Mon Nov 25 20:51:00 1991  DJ Delorie  (dj@ctron.com)
+
+	* cccp.c (main): Look in env vars to override header dir list.
+	* gcc.c (process_command): Likewise.
+
+	* gcc.c (execute): Alternate way to get status on MSDOS.
+	Error for -pipe on MSDOS.
+	(pexecute): Alternate definition for MSDOS.
+	(find_a_file): Handle new hook EXECUTABLE_SUFFIX.
+	(EXECUTABLE_SUFFIX): Add default definition, and alternate for MSDOS.
+	(P_tmpdir): Add default definition for MSDOS.
+
+Mon Nov 25 17:18:52 1991  Michael Collison  (collison at osf.org)
+
+	* x-encrose: New file for mmax running OSF/1.
+	* t-encrose: ditto.
+
+	* ns32k.md (movsi): Use new constraint letters 'x' and 'y'
+	representing the frame and stack pointer.
+	(movhi,movqi): Add constraints and template code to allow moves
+	between the floating point and general purpose registers.
+
+	* tm-ns32k.h (REGISTER_MOVE_COST): Use this macro to discourage
+	moves between the floating point registers and the frame and stack
+	pointer.  Also discourage moves between the fp and general registers.
+	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
+	REG_CLASS_FROM_LETTER): Add two new register classes representing
+	the frame pointer and stack pointer respectively.
+	(GO_IF_NONINDEXED_ADDRESS): Add check to see if register is also a
+	base register. This causes reload to reject pseudo registers when
+	REG_OK_STRICT is defined.
+
+	* tm-i386rose.h: New file for 386 running on OSF/1.
+	* x-i386rose: ditto
+	* t-i386rose: ditto
+
+	* config.subr: Added case for 'osf-'.
+	* configure: Added case for i386-osfrose
+
+	* tm-encrose.h (CC1_SPEC): Simplified so by default it passes nothing.
+	(ASM_SPEC): Changed so that under OSF/1 with NO_J_SWITCH defined
+	nothing is passed to the assembler.
+	(TARGET_DEFAULT): Changed so that, by default, no code is generated
+	using the static base (sb) register.
+	(OVERRIDE_OPTIONS): Removed in lieu of the new debug macros
+	PREFERRED_DEBUGGING_TYPE and DEFAULT_GDB_EXTENSION.
+	(DEFAULT_GDB_EXTENSIONS): Define it
+	(PREFERRED_DEBUGGING_TYPE): Use it.
+
+Mon Nov 25 17:18:52 1991  Jyrki Kuoppala  (jkp at batman.hut.fi)
+
+	* ns32k.md (ashlhi3): use addw also on 32532 if shiftcount is 1.
+	(ashlqi3): likewise.
+	(addsi3): don't use addr instead of addd on the 32532.
+
+	* out-ns32k.c (calc_address_cost): don't assume unknown RTX codes
+	have XEXP's which are rtx's.
+
+	* ns32k.md (movsi): don't use addr for the 32532 immed displacements.
+	(shift patterns): fixed a typo with %$%n.
+
+	* out-ns32.c (calc_address_cost) new function.
+	tm-ns32k.h (ADDRESS_COST): call calc_address_cost.
+
+	* out-ns32k.c (print_operand_address): use error & debug_rtx if error.
+
+	* tm-ns32k.h (CONST_OK_FOR_LETTER_P): constraint 'I' shouldn't
+	match anything on the 32532 to make negative arithmetic left
+	shifts behave consistently.
+
+	* ns32k.md (subsf+1): don't use ajdspb on the 32532.
+
+	* tm-ns32k.h (CONST_OK_FOR_LETTER_P): positive values not OK for
+	constraint 'I' if on 32532.
+
+	* ns32k.md (ashl??): if TARGET_32532, use lsh{d,w,b}.
+
+	* ns32k.md (adjusting stack pointer): don't use ajdp{b,w} if not 32532.
+
+	* ns32k.md (isv,insv-1,insv-2,extzv): use constraint K instead of
+	n for offset.
+
+	* ns32k.md (insv-1): use only register_operand with constraint
+	"r" for operand 2, insd can't take constant offsets >= 8.
+	(pattern insv-2): added another insv-like pattern, for
+	offsettable operand.
+	(insv): constraint should be "+g".
+	(pattern before insv): installed an insv-like pattern
+	with operand 0 having register_operand and SImode.
+
+	* out-ns32k.c (print_operand): define as a void function.
+
+	* ns32k.md (call_value): use operands[1], not operands[0] to check
+	for CONSTANT_ADDRESS_P.
+
+	* out-ns32k.c (print_operand): eliminate
+	PRINT_OPERAND_EXTRACT_FLOAT, don't depend on HOST_WORDS_BIG_ENDIAN.
+
+	* tm-ns32.h (INDIRECTABLE_1_ADDRESS_P): use CONSTANT_ADDRESS_P,
+	not CONSTANT_P.
+
+	* tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): checking for CONST_INT
+	is not right because displacements are not 32-bit.  Use
+	CONSTANT_ADDRESS_NO_LABEL_P instead.
+
+	* tm-ns32k.h (output_move_double, output_shift_insn): New declarations.
+
+	* out-ns32k.c (print_operand_address): Use fatal for errors.
+
+	* ns32k.md (insv, extzv): Replaced with the pattern near insv in 1.40.
+
+	* out-ns32k.c (print_operand): function moved from tm-ns32k.h.
+	Modified to use PUT_IMMEDIATE_PREFIX, PUT_EXTERNAL_PREFIX; added
+	macro PRINT_OPERAND_EXTRACT_FLOAT.
+
+	* out-ns32k.c (print_operand_address): replaced the function with
+	a more clean version, written for gas syntax.
+
+	* ns32k.md (call): #if 0 code which was used when GAS_SYNTAX was not
+	defined.
+	(call_value): likewise.
+
+	* ns32k.md (pattern after ashrsi3): added % before $ so the
+	pattern works also for gas syntax.
+	(pattern after ashrhi3): likewise.
+	(pattern after ashrqi3): likewise.
+	(pattern after lshrsi3): likewise.
+	(pattern after lshrhi3): likewise.
+	(pattern after lshrqi3): likewise.
+	(pattern after rotrsi3): likewise.
+	(pattern after rotrhi3): likewise.
+	(pattern after rotrqi3): likewise.
+
+	* ns32k.md (movsf): put #ifndef GAS_SYNTAX part inside #if 0 since
+	for now we only use GAS syntax.
+
+	* tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): add TARGET_SB as a
+	condition in addition to CONSTANT_ADDRESS_P.
+
+	* tm-ns32k.h (MEM_REG): use CONSTANT_ADDRESS_P instead of GET_CODE
+	== SYMBOL_REG, add TARGET_SB to the second-part condition.
+
+	* ns32k.md (rotrsi3): fixed a typo NEGATE->NEG
+
+	* tm-ns32k.h: added a comment about CONSTANT_ADDRESS_P; it's not
+	strictly according to the spec.
+
+	* tm-ns32k.h: added defaults for ABSOLUTE_PREFIX,IMMEDIATE_PREFIX
+	etc, using gas syntax.
+
+	* out-ns32k.c: removed macro FP_REG_P.
+
+	* tm-ns32k.h: (ASM_OUTPUT_ALIGN_CODE): changed alignment from 4 to
+	2 since GAS syntax is the default assembler syntax now.
+	(PRINT_OPERAND, PRINT_OPERAND_ADDRESS): defined to call
+	print_operand and print_operand_address in out-ns32k.c,
+	respectively.
+
+	* tm-ns32k.h: New macros TARGET_SB, TARGET_PIC.
+	Dummy code for trampolines, calls fatal().
+	Macro FP_REG_P moved here from out-ns32k.c.
+	Some reorganizations of blocks.
+	68000 -> ns32k.
+
+	* tm-ns32k.h (TARGET_VERSION) says GAS syntax.
+	(TARGET_*) added some empty lines for clarity.
+
+Mon Nov 25 14:29:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (aux-output.o): Depend on insn-codes.h.
+
+	* make-cc1.com: Handle print-rtl.c.
+
+	* toplev.c (warn_aggregate_return): New variable.
+	(W_options): Define option to set it.
+	* flags.h: Declare it.
+	* calls.c (expand_call): Print warning if value is aggregate.
+	* function.c (init_function_start): Likewise.
+
+Mon Nov 25 13:29:50 1991  Per Bothner  (bothner at cygnus.com)
+
+	* cp-except.c (init_exception_processing): Fix return type of
+	longjmp (from int to void).
+
+Mon Nov 25 13:11:51 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* rtlanal.c (refers_to_regno_p): Check for `x == 0' on repeat.
+
+	* x-mips, xm-vms.h: Change cplus-* to cp-* in comments.
+	* x-tower (X_CFLAGS): Add missing `-'.
+
+	* unroll.c (unroll_loop): When simplifying loops executed only once,
+	use last_loop_insn not copy_end.
+
+Mon Nov 25 07:45:46 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+
+	* cp-except.c (init_exception_processing): Mark `ExceptionHandler'
+	constructor and destructor as being TREE_EXTERNAL, and mark the
+	`ExceptionHandler' type as being interface-only.
+
+	* cp-decl.c (maybe_globalize_type): Don't test TYPE_BEING_DEFINED
+	for ENUMERAL_TYPE.
+
+	* cp-class.c (modify_vtable_entry): Disable code which attempts to
+	encode in a vtable an indirection to another vtable entry.
+
+	* cp-call.c (build_method_call): Convert FUNCTION to
+	DECL_MAIN_VARIANT (FUNCTION) once we are going to use it for real.
+	* cp-init.c (build_delete): Use DECL_MAIN_VARIANT (DTOR).  *
+	* cp-typeck.c (mark_addressable): Use DECL_MAIN_VARIANT (X).
+
+Mon Nov 25 00:41:14 1991  Per Bothner  (bothner at cygnus.com)
+
+	* dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
+	20) was a little too drastic: If it succeded, no type info was
+	emitted at all, which made for syntactically invalid stabs.
+	Instead, just set 'full=0',
+	* dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
+	little cleaner.  It *seems* to work ...
+
+Sun Nov 24 19:32:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c (update_links): Use PUT_REG_NOTE_KIND to change REG_NOTE.
+
+Sun Nov 24 14:53:37 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* cccp.c: Add `return 0;' statements to all do_* functions which
+	needed them to prevent spurious warnings.  Also change plain
+	`return;' statements to `return 0;' statements where appropriate.
+
+Sun Nov 24 07:37:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): When making equivalences of subparts of
+	a SET, avoid putting a (hard) register in the hash table twice,
+	each time with different modes.
+
+	* genrecog.c (write_tree_1,change_state): Don't check for a position
+	containing a '*' since we don't set it to that.
+	(main): Don't define recog_addr_dummy; no longer used.
+	* recog.c (recog_addr_dummy): No longer needed; wasn't actually used.
+	(init_recog_no_volatile, init_recog): Don't set recog_addr_dummy.
+
+	* expmed.c (store_split_bit_field, extract_bit_field): Abort if 
+	operand_subword of target returns 0.
+	* expr.c (convert_move, move_block_from_reg, emit_move_insn): Likewise.
+
+	* combine.c (subst, case SUBREG): Don't allow making a SUBREG of
+	a hard reg in a mode not valid for that hard reg.
+	* emit-rtl.c (gen_lowpart_common, operand_subword): Likewise.
+
+	* expmed.c (extract_split_bit_field): Use operand_subword_force.
+	* expr.c (emit_move_insn): If operand_subword fails for non-const,
+	use operand_subword_force.
+
+	* expmed.c (expand_mult): Pass OP0 through protect_from_queue so we can
+	use it in a REG_EQUAL note and check it for being a MEM.
+
+	* rtl.def (SMIN, SMAX, UMIN, UMAX): New RTL codes.
+	* fold-const.c (const_binop, case MIN_EXPR, MAX_EXPR): Use MIN and MAX.
+	(fold, case MIN_EXPR, MAX_EXPR): Check for operands equal; check for
+	min (x, lowest-value-for-type) and max (x, highest-value-for-type).
+	(fold, case COND_EXPR): Look for conditionals that are equivalent
+	to ABS_EXPR, MIN_EXPR, or MAX_EXPR and convert them to the appropriate
+	expression.
+	* expr.h (smin_optab, smax_optab, umin_optab, umax_optab): New vars.
+	* gcc.texinfo (smin, smax, umin, umax): Add documentation.
+	* expr.c (expand_expr, case ABS_EXPR): Ignore ABS on unsigned types.
+	If jumps are expensive, we can do ABS with shifts and xors.
+	(expand_expr, case MIN_EXPR, MAX_EXPR): Try to do using new optabs.
+	* optabs.c (smin_optab, smax_optab, umin_optab, umax_optab):
+	Initialize new optabs.
+	* cse.c (simplify_binary_operation): New cases SMIN, SMAX, UMIN, UMAX.
+	* rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): New patterns.
+	* m88k.md (abssi2): Delete pattern; now done in expr.c.
+
+	* rs6000.md (scc): Correct typos in last change.
+
+	* expmed.c (expand_mult): TARGET will only be written once, so
+	function return register is OK.
+	Write a REG_EQUAL note so multiplications can be cse'ed.
+
+	* expmed.c (emit_store_flag): Skip trying most sequences of insns
+	if branches are very cheap (BRANCH_COST == 0).
+	* expr.c (expand_expr, case COND_EXPR): Check for BRANCH_COST <= 1,
+	not equal to 1.
+	Know that emit_store_flag won't do most sequence if branches are very
+	cheap.
+
+	* tm-vax.h (BRANCH_COST): Define to be equal to zero.
+
+Sun Nov 24 07:07:31 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (maybe_globalize_type): Don't globalize a type that's
+	being defined.
+
+Sun Nov 24 05:08:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (finish_struct): Use main variant checking ANSI bitfields.
+
+	* tm-tower-as.h (ASM_FILE_START): Use output_file_directive.
+
+	* gcc.c (process_command): Treat `-' as file name, not option.
+
+Sat Nov 23 20:28:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_binary_operation): Remove duplicate code for SFmode
+	and DFmode; use of REAL_VALUE_TRUNCATE means that all modes can be
+	handled with the same code.
+	Truncate result as well as inputs to computations.
+
+	* cse.c (cse_basic_block): Allow recording of destinations in the
+	final insn of a LIBCALL block.
+
+	* flow.c (insn_dead_p): Add new argument CALL_OK.
+	(propagate_block): Pass new arg.
+	(libcall_dead_p): Indicate that we can accept a CALL when we use
+	insn_dead_p to see if the destination of the CALL is dead.
+
+	* genrecog.c (struct decision): Remove fields `dupcount'
+	and `reg_class' and all references; they were being set but never
+	used and are now obsolete.
+
+	* emit-rtl.c (gen_lowpart_common, operand_subword): Don't make
+	a new REG for the function return value until we after the RTL
+	is copied for possible inlining; use a SUBREG instead.
+
+	* combine.c (can_combine_p): Don't move insn past a volatile ref if
+	it is an `asm', even if non-volatile.
+
+	* gmicro.md: Fix punctuation problem causing syntax error.
+
+	* tm-rs6000.h (CONST_OK_FOR_LETTER_P): Add `O' and `P'.
+	* out-rs6000.c (reg_or_neg_short_operand): New function.
+
+	* rs6000.md (attribute "type"): New type `delayed_compare'.
+	Add define_function_unit for delayed comparisons.
+	Mark comparison results of certain insns as being delayed for
+	longer that normal comparison results; add a new missing types
+	of `compare'.
+	(seq, sle): Remove special-cases for (const_int 0) operands; use
+	alternative with constraint of `O' instead.
+	(sltu, sgeu): Support most constants in second operand.
+
+	* cse.c (prev_insn_cc0_mode): New variable.
+	(fold_rtx): When folding CC0, get the mode from prev_insn_cc0_mode.
+	(cse_insn): Save mode of SET of CC0 in prev_insn_cc0_mode.
+
+Sat Nov 23 17:01:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expmed.c (init_expmed): Make REG a pseudo, not a hard reg.
+
+	* tm-m68k.h (RTX_COSTS): New macro.
+
+	* varasm.c (make_decl_rtl): Get rid of pedantic warning.
+
+	* gcc.c (link_command_spec): Delete code for handling -collect.
+	(default_compilers): Get rid of the %x for g++.
+	This is because now collect is always supposed to be run.
+
+	* tm-vms.h (ASM_OUTPUT_COMMON): Avoid void as type in :? operator.
+	* tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
+	Likewise.
+	* tm-vaxv.h (ASM_OUTPUT_ASCII): Declare `s' as unsigned char *.
+	* tm-crds.h (FUNCTION_EPILOGUE): Don't call FUNCTION_EXTRA_EPILOGUE.
+
+	* configure (i386-dontknow-*, ns32k-*-*): Alternatives deleted.
+	(m68k-tti2-*): Deleted.
+	(m68k-tti-*): Renamed from m68k-tti1-*.
+
+	* i860.md (floatsidf2): Escape the doublequotes.
+
+	* Makefile.in (final.o): Add insn-codes.h as dep.
+	(OBJS): Add dbxout.o.
+	(C_OBJS, OBJC_OBJS): Deleted here.
+	(CPLUS_OBJS): Deleted cp-dbxout.o.
+	(cp-dbxout.o): Target deleted.
+
+Sat Nov 23 06:33:24 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-spew.c (yylex): Don't see TYPENAME if LOOKING_FOR_TYPENAME
+	is < 0.  Definitely see TYPENAME if LOOKING_FOR_TYPENAME > 0.
+
+	* cp-decl.c (grokdeclarator): Any type construction that uses a
+	struct/union/enum type that is not yet defines pushes that type into
+	the global namespace.
+
+	* cp-spew.c (discard_token): Renamed from `eat_token'.
+	Also, make all local functions static.  Some day we'll use inlining.
+
+Thu Nov 21 16:06:14 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* Makefile.in: added rule for cp-spew.o
+
+	* cp-parse.y (TYPENAME_SCOPE): added an action, since it is no
+	longer done in the lexer.
+	(yyprint): Took out case for TYPENAME_SCOPE.
+
+	* cp-lex.c (real_yylex): renamed from yylex. Also all of the code
+	dealing with nested classes has been #if 0'd in favor of the code in
+	cp-spew.c.
+
+	* cp-spew.c (New File): This calls yylex (which is now real_yylex)
+	and looks ahead as far as possible to bind up nested classes and
+	pass them on to the parser.
+
+Thu Nov 21 18:14:11 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c (output_function_epilogue): Correct parameters in
+	call to final_scan_insn, write_symbols parameter no longer exists.
+
+	* integrate.c (save_for_inline_copying): Use GET_RTX_CLASS.
+
+Thu Nov 21 17:44:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.texinfo (PCC_BITFIELD_TYPE_MATTERS): Clarify that macro
+	must always be non-zero unless MEM extv/extzv/insv exist.
+
+	* romp.md (movdi): Disable define_split when we are moving
+	between overlapping registers prior to reload to work
+	around hard-to-fix sched.c bug.
+
+Thu Nov 21 17:14:54 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* jump.c (invert_exp): Correct typo in comment.
+
+Thu Nov 21 15:34:27 1991  Michael Meissner  (meissner at osf.org)
+
+	* gcc.texinfo (warning options): Make the documentation agree with
+	the code, -Wstrict-prototypes and -Wmissing-prototypes are not
+	turned on via -Wall; -Wnoparenthesis is now spelled
+	-Wno-parenthesis.
+	(option header): Mention that -W options take the no- prefix as well
+	as -f options.
+
+Thu Nov 21 08:12:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* out-m88k.c (check_float_value): Change use of REAL_VALUE_TRUNCATE.
+	* tm-m88k.h (FLOAT_TO_INT_INTERNAL): Ditto.
+	(AS_BUG_POUND_TYPE): Simplify.
+	* tm-m88kdgux.h: Don't need AS_BUG_DOT_LABELS or AS_BUG_POUND_TYPE.
+
+Thu Nov 21 06:47:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (scc): Add missing '&' in some alternatives of constraints.
+
+	* a29k.md (negdf2): Fix typo in constraints for SCRATCH in 29050 case.
+
+	* real.h (REAL_VALUE_TRUNCATE): Default is to truncate to float if
+	mode size is BITS_PER_WORD instead of when mode if SFmode.
+
+Thu Nov 21 01:58:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_type): Test TYPE_BINFO before TYPE_BINFO_BASETYPES.
+
+Thu Nov 21 01:45:53 1991  Ken Raeburn  (raeburn@cygnus.com)
+
+	* cp-parse.y (unary_expr): Break out `new' expressions with
+	parenthesized types into more basic forms, and handle trailing array
+	dimensions with an appropriate warning message.
+
+	* cp-class.c (pushclass): For UPType, overload the template name.
+	(popclass): For UPType, undo the overload.
+
+	* cp-decl.c (pop_decl_level): Don't look up DECL_NAME slot of a
+	null pointer.
+	(pushdecl_top_level): Reworked handling of shadow lists to be
+	correct.
+	(lookup_tag): Bypass redefinition error message for UPT as well as
+	for TEMPLATE_DECL.
+	(start_decl): Add template decls only to top level.  Print message
+	for non-function, non-class templates.
+	(finish_decl): Disable code that renames anonymous types; leave it
+	disabled until we figure out why it was being done in the first
+	place.
+	(grokdeclarator): Eliminate hack to deal with destructor templates.
+	Extend some code handling constructors to handle destructors as
+	well.  Deleted some unnecessary code dealing with function
+	templates.
+
+	* cp-decl2.c (constructor_name): Treat class template decl like
+	type decl.
+
+	* cp-lex.c (store_pending_inline): If a function is not to be
+	compiled, discard its text only if can_free flag is set.
+
+	* cp-decl.c (start_function): For `pre-parsed' functions, only
+	set extern-inline flag if inline flag is set.
+	* cp-lex.c (do_pending_inlines): Don't set inline flag for method
+	templates, regardless of default-inline flag setting.
+	(process_next_inline): Ditto.
+
+	* cp-method.c (dump_type): Do something semi-useful with UPT
+	nodes, instead of crashing.
+	(fndecl_as_string): For constructor and destructor, use name of
+	function rather than looking up class constructor name; should be
+	the same, and it's cheaper this way.
+	(build_overload_name): Make template-related names unique, as well
+	as unlikely to be accepted by the assembler.
+
+	* cp-parse.y (yyprint): Handle PRE_PARSED_CLASS_DECL.
+	(template_def): In case handling destructors, pass new decl to
+	end_template_decl, rather than ungrokked call_expr node.  Rewrote
+	last derivation.
+	(scoped_typename): Don't try building from template type; it doesn't
+	work.
+	(try_for_typename): Treat typename using template parms like any
+	other typename.
+
+	* cp-pt.c: New comment at start lists some known problems.
+	(end_template_decl): Do nothing for error_mark_node.  Check
+	DECL_CLASS_CONTEXT and DECL_EXTERNAL when setting TREE_EXTERNAL
+	field of template decl.  Don't need to pop extra class level for
+	non-operators any more, but do need to assign class context field.
+	(instantiate_member_templates): Now returns void.
+	(tsubst, case FUNCTION_DECL): Process flag fields of method as for
+	other functions.  Handle class context field.  Push decl at top
+	level only if decl context is null.
+	(tsubst, case TREE_LIST): Use via-public and via-virtual fields.
+	(do_pending_expansions): Correct handling of methods.
+
+	* cp-pt.c (overload_template_name): If not class-level, push
+	extra binding level.  Disable check that overload hasn't already
+	been done; for now, it's needed.
+	(undo_template_name_overload): Pop it.
+
+Thu Nov 21 00:15:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_type_methods): Don't dereference TYPE_NAME and
+	ctor_name until after checking for non-null methods.
+
+	* sched.c (create_reg_dead_note): New function.  Add a REG_DEAD note
+	for REG to INSN, reusing a REG_DEAD note from the dead_notes line.
+	(attach_deaths): Add quick exit for many rtx that can't contain a
+	register.  Rewrite REG_DEAD note code to use the new scheme (see
+	the Nov 1 ChangeLog entry).
+	(new_insn_dead_notes): Don't add a REG_DEAD note to an insn that
+	already has one.
+	(update_links): Must convert REG_UNUSED notes to REG_DEAD when a
+	register formerly just clobbered is now explicitly set and used in
+	the new split insns.
+
+Wed Nov 20 18:02:38 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* c-decl.c, cccp.c: Change all -Wno options to
+	-Wno- options so as to be consistent with toplev.c, and so as
+	to also be consistent with the -fno- options.
+	* objc-actions.c: Add a -Wno-selector option to match the
+	-Wselector option.
+
+	* gcc.c (default_compilers): Pass all -W options to cpp, so that
+	-Wno options will be passed along with the -W options that it
+	understands.
+	* cccp.c (main): Accept -Wno option counterparts for every
+	existing option.
+
+Wed Nov 20 00:03:41 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-tree.c (lang_output_debug_info): Deleted.
+	* cp-class.c (finish_struct): Set DECL_IGNORED_P on the TYPE_DECL
+	nodes for types that should not have their debugging info written
+	out.
+	* dbxout.c (dbxout_{symbol,type}): Check DECL_IGNORED_P for
+	TYPE_DECLs of RECORD_TYPE nodes.
+
+	* cp-decl.c (grok_op_properties): Fix bug in grokking NEW_EXPR
+	and DELETE_EXPR operators.
+	* cp-method.c (hack_operator): Deleted.
+	* cp-init.c (init_init_processing): Use `ansi_opname' for
+	{NEW,DELETE}_EXPR instead of calling hack_operator and build_opid.
+	* cp-decl2.c (grokopexpr): Deleted.
+	* cp-lex.c (build_opid): Deleted.
+	* cp-class.c (build_instantiated_decl): Deleted.
+	* All cp-* files: OP_IDENTIFIER is no longer used.
+
+	* cp-parse.y (operator_name): For most cases, Use `ansi_opname'
+	directly instead of calling `build_opid'.
+
+Tue Nov 19 16:02:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (xref_tag): If we find wrong kind of type, return it.
+	(lookup_tag): Fill in pending_invalid_xref_file, ..._line.
+
+	* real.h (REAL_VALUE_TRUNCATE): New argument MODE.
+	* cse.c (simplify_unary_operation, simplify_binary_operation):
+	Pass that arg.
+	* c-parse.y, objc-parse.y, cp-lex.c (yylex): Likewise.
+	* fold-const.c (combine): Truncate floating result to fit mode.
+	(fold): Don't add 1 to float constant if that doesn't change the value.
+
+Tue Nov 19 09:37:36 1991  Michael Meissner  (meissner at osf.org)
+
+	* configure (ns32k-encore-osf): Restore Encore Multimax using the
+	OSF/rose object format, since the necessary files, such as
+	tm-encrose.h, are present in the distribution.
+
+Mon Nov 18 21:38:13 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c (output_cbranch): Always emit a nop before a FP branch
+	to avoid illegal assembly output.
+	* sparc.md: Don't define delay slot for FP compare insns.  This was
+	meant to solve the above problem, but fails with insn scheduling.
+
+	* sparc.md (movsi): Must accept 'f' in addition to 'r' because
+	combine can convert FP hard registers to SImode.
+
+Mon Nov 18 13:43:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (replace_regs): Correct code that prevents nested SUBREGs.
+
+Mon Nov 18 13:43:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (finish_decl): Reinstall lost end_temporary_allocation.
+
+	* tree.h (DECL_LANG_FLAG_8): Deleted.
+	* print-tree.c (print_node): Don't use it. Do print DECL_IGNORED_P.
+
+Mon Nov 18 06:59:37 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (value_identifier): Gone, following c-decl.c.  Now use
+	zero DECL_NAME for this purpose.
+	* cp-typeck.c: Also affected by this change.
+
+	* c-lang.c, objc-lang.c (lang_output_debug_info): New function.
+	* dbxout.c (dbxout_type_methods): Fix minor problems arising from
+	assuming all RECORD_TYPE are C++ RECORD_TYPE nodes.
+	(dbxout_type): Ditto.
+
+Sun Nov 17 17:33:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tree.c (struct obstack_stack): New slots expression and rtl.
+	(push_obstacks, push_obstacks_nochange, pop_obstacks):
+	Save and restore all 4 obstack vars individually.
+
+	* c-decl.c (start_decl): Call push_obstacks_nochange here.
+	(push_parm_decl, grokfield): Also here.
+	(finish_decl): Not here.
+	Also clean up test for whether to replace DECL_INITIAL with error mark.
+
+Sun Nov 17 14:25:15 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-typeck.c (c_expand_return): Be more careful about throwing
+	away only cleanup generated by 'build_functional_cast'.
+
+	* cp-init.c (build_new): Use TRUE_TYPE instead of TYPE more
+	consistently, in case TYPE is really an ARRAY_TYPE on its own.
+
+	* cp-dbxout.c: Gone.  Now G++ uses dbxout.c.
+	* cp-tree.h (OPERATOR_NAME_P): Changed to IDENTIFIER_OPNAME_P.
+	(OPERATOR_TYPENAME_P): Changed to IDENTIFIER_TYPENAME_P.
+	(OPERATOR_{NEW,DELETE}_FORMAT): Deleted.
+	* cp-lex.c (ansi_{opname,assopname}): New variables.  All cp-* files
+	changed to use these where comparisons against *_FORMAT were made.
+	(init_lex): Initialize `ansi_{opname,assopname}' arrays.
+	Also, update {opname,assignop}_tab grok new ANSI equivalences.
+	(build_operator_fnname): Changed to build ANSI-style overloaded
+	names.
+	* cp-dem.c (optable): Add new ANSI equivalences.
+	(cplus_demangle): Fixed to recognize new ANSI demangling.  Note that
+	old-style destructors, and possibly other codes were broken by the
+	(undocumented) 27 Oct changes.
+
+	* cp-decl2.c (grokclassfn): Set DECL_CLASS_CONTEXT here.
+	* cp-class.c (finish_struct): Don't skip over FUNCTION_DECL that
+	already has a DECL_CLASS_CONTEXT.
+
+	* cp-except.c (cplus_expand_end_try): Set BLOCK_HANDLER_BLOCK for
+	blocks that handle exceptions.
+	(EXCEPTION_NAME_PREFIX): Shorted to "__ex" (from "__exception").
+	(EXCEPTION_NAME_LENGTH): Reduced to 4 from 12.
+
+	* dbxout.c (flag_minimal_debug): Define new variable that is
+	non-zero when symtab output routines can output abbreviated.
+	(dbxout_type_fields): Move code that writes out debugging info about
+	fields of RECORD_TYPE and UNION_TYPE nodes from `dbxout_type' into
+	this function. 
+	(dbxout_type_{method,method_1}): Move code from `dbxout_type' into
+	these new functions.
+	(dbxout_type): Now writes out info about basetypes.  Also, no longer
+	need to record info about types having ctors, dtors, or both.  GDB
+	now figures out what it needs to, when it needs to.
+	(dbxout_symbol): Implement special abbreviated form for C++ classes,
+	which place their names in both the struct and decl namespaces.
+	(dbxout_block): Write out special debugging stabs for exception
+	handler blocks.
+
+	* tree.h (BLOCK_HANDLER_BLOCK): Define new flag to indicate that a
+	BLOCK is an exception handler block (a `catch' block for C++).
+	(TREE_VFIELD, DECL_IGNORED_P): New macros.
+
+Sat Nov 16 22:21:56 1991  Jeffrey A Law  (law at super.super.org)
+
+	* tm-m68k.h (CONST_COSTS): Integer values between -128 and 127
+	inclusive are very cheap because of moveq.  
+
+Sat Nov 16 00:40:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (install-cross-tools): Avoid clobbering symlinks already
+	made.  Double the $ before the @ in the indirection script.
+
+	* t-decstatn: New file.
+	* configure: (mips-dec-ultrix*): Use t-decstatn.
+
+	* collect-ld: Always run collect if collect is installed.
+
+	* collect-osf.c, enquire.c, gnulib2.c: Use gstddef.h, not stddef.h.
+
+	* gnulib2.c (__eprintf): Undef NULL.
+
+	* c-typeck.c (build_array_ref): Ref is volatile if array is volatile.
+
+Fri Nov 15 19:53:41 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault): Delete ERROR_CODE
+	argument because it is always the same as CODE.  Add new argument
+	CONVERT_P, and call default_conversion on the operand trees if
+	true.  Rename to build_binary_op.
+	(old build_binary_op): Deleted because it is now unnecessary.
+	* c-common.c, c-convert.c, c-decl.c, c-tree.h, c-typeck.c: All
+	callers and other references to build_binary_op* fixed.
+	* c-typeck.c (new build_binary_op): Add warning message for
+	comparisons of signed and unsigned variables that won't give the
+	expected result due to unexpected sign extension.
+
+	* expr.c (convert_move): Add TFmode support and clean up code.
+	* optabs.c (init_fixtab): Add TFmode support.
+	(init_floattab): Likewise.
+	(expand_float): Likewise.
+	(expand_fix): Likewise.
+	(init_optabs): Likewise.
+
+	From Per Bothner:
+	* collect2.c: Define vfork as fork for USG.  Rewrite to not use
+	prototypes, so it doesn't need gcc for compilation.
+	(main): No longer uses static sized array for ld arguments, so
+	that long command lines will work.  Vfork ld instead of running
+	via popen with nm.
+	(write_hooks): Use type names not variable names in sizeof calls.
+
+Fri Nov 15 15:01:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (size_int): Properly preserve old obstack settings.
+	* c-decl.c (finish_decl, grokdeclarator, xref_tag): Likewise.
+	* stor-layout.c (layout_type): Likewise.
+	* varasm.c (output_constant_def): Likewise.
+	* tree.c (push_obstacks_nochange): New function.
+
+	* stor-layout.c (layout_type): Make size of temp type saveable.
+	* tree.c (saveable_allocation): New function.
+
+	* configure: Comment out certain alternatives not yet updated.
+	(sparc-unicom-*, m68k-tti1-*, m68-tti2-*): New alternatives.
+	(m88k-*-v88r32*): New alternative.
+	(i386-alternate-sysv): New alternative, not sure why.
+	(sparc-*-sysv*): Commented out--not really supported.
+
+Fri Nov 15 22:22:32 PDT 1991  Mike Stump (mrs at csun.edu)
+
+	* configure: Recognize only canonical names.  Added missing entries
+	for some configurations that obviously have not been tested in a
+	while.
+
+	* config.subr: Massive overhaul.  It claimed to canonicalize
+	the machine specification, but it never really did.  Now it
+	does.  In general, it is not necessary to specify the os for
+	popular machines that have a popular os, or given the os, it
+	can sometimes figure out the vendor.  Added in all the old
+	ways of specifying machines from configure.  Also added
+	support for all (before it was missing a few) of the tm-*.h
+	files.  It now supports the concept of guessing the vendor for
+	a given CPU type.  It now supports the concept of guessing the
+	os version given the vendor and/or the CPU type.  Changed the
+	default os for vax to ultrix, changed the default os for i386
+	to sco.
+
+	* collect-ld:  New file.  It is useful when compiling C++ programs
+	on machines that use collect.  This includes the decstation.
+
+Fri Nov 15 14:19:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c: Singlemove_string no longer static.
+	(emit_move_sequence): Emit sethi/low_sum insn pair for values which
+	are not arith_double_operands, was missing not.
+	* sparc.md: DImode sethi pattern now uses singlemove_string to load
+	a constant into a reg.
+	* tm-sparc.h (LEGITIMATE_CONSTANT_P): Accept anything except a
+	floating point constant.
+	Declare singlemove_string so it can be used in sparc.md.
+
+	* jump.c (jump_optimize): Correct typos in comments.
+
+Fri Nov 15 08:05:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-rs6000.c (scc_comparison_operator): Allow non-FP EQ.
+
+	* combine.c (subst, case NEG): Correct shift count in code that
+	negates ZERO_EXTRACT to SIGN_EXTRACT.
+
+Thu Nov 14 23:03:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* genrecog.c (try_merge_1): Add big new comment.
+
+Thu Nov 14 19:28:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* m68k.md: Fix peephole that merges a stack adjust with a push to
+	use addqw instead of addql since we know we are incrementing an
+	address register (sp).
+
+	* loop.c (scan_loop): Rework code that looks for loops starting at the
+	exit test; don't skip non-jump insns at start of loop and modernize
+	and clean up code.
+
+	* gcc.texinfo (SECONDARY_RELOAD_CLASS): Update description to
+	show uses for both intermediate and scratch registers.
+	* reload.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Default from
+	SECONDARY_RELOAD_CLASS, if defined.
+	(HAVE_SECONDARY_RELOADS): Defined if any of the secondary reload
+	macros are defined.
+	(reload_secondary_icode, reload_{in,out}_optab): New vars.
+	* reload.c: Include insn-codes.h.
+	(find_secondary_reload): New function.
+	(push_reload): Call find_secondary_reload to process input and
+	output reloads.  Create both secondary and tertiary reloads,
+	as required.
+	* reload1.c: Include insn-codes.h.
+	(init_reload): Initialize reload_{in,out}_optab.
+	(emit_reload_insns): Handle cases where a secondary reload
+	is a scratch register and where tertiary reloads are required.
+	* Makefile.in (reload.o, reload1.o): Now include insn-codes.h.
+
+	* tm-romp.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define to use a BASE_REGS
+	for symbolic memory locations.
+	* romp.md (reload_outsi, reload_outhi, reload_outqi): New patterns.
+
+	* expr.c (expand_expr): Pass BRANCH_COST to do_store_flag.
+	(do_store_flag): Canonicalizations done in emit_store_flag
+	need to be done here as well.
+	Test for ffs as well as abs when seeing if scc is expensive.
+	* expmed.c (emit_store_flag): Correct cases that are open-coded:
+	Add a few missing cases and correct handling of normalizep.
+	* combine.c (simplify_shift_const, case IOR): Convert sequence
+	open-coded by emit_store_flag into LE or (neg (le ..)), as
+	appropriate.
+	(simplify_shift_const, case MINUS): Similarly, for GT.
+	(simplify_comparison): sign_bit_comparison_p now true only if
+	also comparing against constant zero.
+	(simplify_comparison, case NOT): If sign bit comparison, just
+	reverse comparison.
+	(simplify_comparison, case MINUS): Move case where we subtract
+	one from the absolute value of something to PLUS, since we
+	subtract one using a PLUS operation.
+	(simplify_comparison, case MINUS): Handle GT case done by
+	emit_store_flag.
+	(simplify_comparison, cae IOR): Similarly, for IOR.
+
+	* tm-rs6000.h (BRANCH_COST): Define as 2.
+	* rs6000.md (scc): Allow some more cases.
+	(new scc patterns): Add numerous patterns to reflect superoptimizer
+	results for scc insns on RS/6000.
+
+Thu Nov 14 16:42:19 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (all): Change small allocation requests to use
+	separate allocation and free functions, instead of using the word8
+	union to hold each request.  In order to support this easily, a free
+	field was added to each small structure that is released.
+	(main): If debugging, print a summary of the number of small
+	allocations, frees, and the number of pages used.
+	(add_procedure, copy_objects): Stuff the pointer to the end symbol
+	into the shash chain, and use it's value to generate the new value
+	for the computed end block.  This is much safer than trying to
+	calculate this on the fly.
+	(main): Don't try to avoid using malloc by setvbuf'ing the streams
+	we use.
+
+Wed Nov 13 23:47:10 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	From tege@sics.se:
+	* sparc.md: In DF load peephole, use operands not xoperands, so
+	that output_asm_insn will use the right values.
+
+	* tm-sun3.h, tm-sun2os4.h: Define PTRDIFF_TYPE, SIZE_TYPE,
+	WCHAR_TYPE same as tm-sparc.h.
+
+	* c-decl.c (finish_function): Don't clear current_function_decl
+	for nested functions.
+
+	* dbxout.c: Include insn-config.h and reload.h.
+	(dbxout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
+	using.
+	(dbxout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
+	eliminate_regs before using.
+	* sdbout.c: Include insn-config.h and reload.h.
+	(sdbout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
+	using.
+	(sdbout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
+	eliminate_regs before using.
+	* Makefile.in: Update dependency lists for dbxout.c and sdbout.c.
+
+	* combine.c (try_combine): Don't pass sets with (USE (MEM ...))
+	dests to reg_referenced_p.
+
+Wed Nov 13 21:38:03 1991  John Bunda (bunda at cs.utexas.edu)
+
+	* reload1.c (gen_input_reload): If IN is a PLUS whose second arg
+	is the same as the reload register, swap the args of the PLUS.
+
+Wed Nov 13 14:43:09 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* tm-sparc.h (OPTIMIZATION_OPTIONS): Don't redefine options set in
+	toplev.c, only effect flag_omit_frame_pointer.
+	
+	* sparc.md: Delete obsolete sign_extract and zero_extract patterns.
+	We get better code without them.
+	(indirect_jump, tablejump): Extend indirect_jump pattern to accept
+	any address, not just a register.  Add tablejump like pattern which
+	also accepts any address.
+
+	* unroll.c (final_biv_value): Make sure the initial value of the biv
+	is invariant if it is used after the loop.
+
+Tue Nov 12 23:16:51 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Correct so
+	ASM_OUTPUT_REG_PUSH actually does a push instead of pop, and vica
+	versa.  Also make ASM_OUTPUT_REG_POP turn on .set noreorder, and
+	increment the appropriate -mstats load delay counters.
+
+Tue Nov 12 22:53:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.h (BRANCH_COST): Supply default value here.
+	* jump.c (BRANCH_COST): Don't default BRANCH_COST here.
+
+	* global-alloc.c (global_alloc): Use proper entry in eliminables
+	when searching for the frame pointer.
+
+Tue Nov 12 22:23:36 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* expr.c: (expand_expr, MIN_EXPR case): Check for const_true_rtx
+	not const1_rtx as return value from compare_from_rtx.
+	(do_jumps_by_part_greater): Handle const0_rtx and const_true_rtx
+	return values from compare_from_rtx.
+	(do_jumps_by_part_equality, do_jumps_by_part_equality_rtx): Likewise.
+
+	* sched.c (sched_analyze_2): Correctly handle ASM_OPERAND and
+	ASM_INPUT rtx.  Volatile and traditional asm statements are
+	assumed to use and clobber all hard registers and all memory.
+	(schedule_block): Delete code that incorrectly handles ASM_OPERAND
+	and ASM_INPUT rtx by exiting early.
+
+Tue Nov 12 15:38:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sched.c: Introduce names for various priority values.  Reduce
+	LAUNCH_PRIORITY to avioid wrap-around in launch_link.
+
+Tue Nov 12 14:21:52 1991  Per Bothner  (bothner at cygnus.com)
+
+	* cp-lex.c (init_lex):  Exception-handling fixes.
+	* cp-tree.h:  Add new OPERATOR_CHARS_P that is like
+	OPERATOR_NAME_P, except if takes a (char*), not a tree.
+	* cp-dbxout.c (dbxout_type_methods):  Handle operators
+	specially when chopping prefix for minimal_debug.
+
+	* config/tm-news.h: In PRINT_OPERAND, recognize new 68040
+	operand types.  Add definition of CPP_DEFINES for cross-compiling.
+
+Tue Nov 12 13:11:01 1991  Michael Meissner  (meissner at osf.org)
+
+	* protoize.c (__OSF1__ ifdef): Remove OSF/1 specific ifdefs, since
+	the problem they address has been fixed, and the ifdefs now cause
+	spurious warnings.
+
+	* tm-mips.h (INT_TYPE_SIZE): Define.
+	(SHORT_TYPE_SIZE): Define.
+	(LONG_TYPE_SIZE): Define.
+	(LONG_LONG_TYPE_SIZE): Define.
+	(CHAR_TYPE_SIZE): Define.
+	(FLOAT_TYPE_SIZE): Define.
+	(DOUBLE_TYPE_SIZE): Define.
+	(LONG_DOUBLE_TYPE_SIZE): Define.
+
+	* out-mips.c (block_move_load_store): New commn function to create
+	one load and store for the block move functions.  The load is
+	emitted directly, and the store is returned, to be emitted later.
+	(block_move_sequence): Call block_move_load_store.  For straight
+	line moves, have two outstanding loads before a store, for newer
+	machines that want two delay slots.
+	(block_move_loop): Call block_move_load_store.  Move 4 words per
+	loop, for a loop that moves 16 bytes in 11 cycles if aligned, and 16
+	bytes in 19 cycles if not aligned.
+	(block_move_memcpy): Change argument names for consistancy.
+	(expand_block_move): Always move address into a register, even for
+	one byte moves.  Fix bugs in calling memcpy.  If moving a large
+	constant amount of unaligned data, emit a runtime check to see if
+	the data is really aligned, and if so do an aligned move, otherwise
+	an unaligned move loop.
+
+	* mips-tfile.c (toplevel): Make some changes, so that mips-tfile can
+	be debugged on OSF/1.
+	(efdr structure): Align identifiers in declaration.
+	(cur_proc_value): Delete variable.
+	(cur_oproc_begin): New global to record original proc .ent symbol.
+	(cur_oproc_end): New global to record original proc .end symbol.
+	(add_procedure): Set cur_oproc_begin, cur_oproc_end variables
+	instead of cur_proc_value.
+	(parse_begin, parse_end): Add check for cur_oproc_begin being set.
+	(parse_end): Use cur_oproc_end's value node for new value node.
+	(main): Add cast to free_multiple_pages call.
+
+Tue Nov 12 08:57:39 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* jump.c (jump_optimize): Merge the "if (...) x = 0;" case with
+	the "x = a; if (...) x = b;" case.
+
+Mon Nov 11 19:27:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cp-cvt.c (convert_pointer_to): Correctly get type of a TREE_VEC
+	object.  (This patch is from someone at Cygnus.)
+
+	* combine.c (try_combine): Add missing parens.
+
+Mon Nov 11 19:26:24 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* c-typeck.c (build_binary_op_nodefault, convert_for_assignment):
+	A (void *) object is compatible with a function pointer if it is
+	the constant zero.
+	(build_conditional_expr): Properly check for pointers to functions.
+
+Sun Nov 10 19:59:12 1991  Michael Meissner  (meissner at osf.org)
+
+	* cccp.c (make_undef): Fix by off by one error.
+	(MIN, MAX): Add #undef, in case some system include file defined
+	these macros.
+
+Sun Nov 10 10:34:17 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl2.c (grokfield): Set TREE_EXTERNAL on static const
+	decls that are either uninitialized in their initial declaration,
+	or initialized by something we cannot evaluate at initial
+	declaration time.
+
+	* cp-init.c (build_new): Make `operator new' with placement cast
+	its return type to the type of the object being allocated.
+
+	* cp-typeck.c (commonparms): If the last element of P1 is
+	VOID_LIST_NODE, use that.
+
+	* stor-layout.c (layout_record): Return PENDING_STATICS.
+	(layout_type): Don't commit static members to a particular mode
+	until REC has been laid out completely.
+
+Sat Nov  9 23:16:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cccp.c (fancy_abort): Don't declare as static.
+
+Sat Nov  9 20:38:30 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (push_overloaded_decl): Don't cons new decl to
+	existing ERROR_MARK_NODE.  If the old decl was erroneous, just
+	ignore it.
+
+	* cp-call.c (ideal_candidate): Fix typo in error message.
+
+Sat Nov  9 14:13:46 1991  Jeffrey A Law  (law at super.super.org)
+
+	* tm-hp9k2bsd.h (MULSI3_LIBCALL): New define which avoids
+	the use of __mulsi3 for signed integer multiplication.
+	(UMULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL): Likewise.
+	(MODSI3_LIBCALL, UMODSI3_LIBCALL): Likewise.
+
+Fri Nov  8 12:05:39 1991  Per Bothner  (bothner at cygnus.com)
+
+	First cut at ANSI-style exception handling (using
+	syntax and semantics of Stroustrup 2nd ed).
+	THIS IS WORK IN PROGRESS!
+	* cp-tree.h:  Declare flag_ansi_exceptions.
+	* gplus.gperf:  Add 'throw' (for ANSI exception handling),
+	and update private/protected/public from (old) cp-lex.c.
+	* cp-hash.h:  New file, generated from gplus.gperf.
+	* cp-lex.c: #include cp-hash.h, instead of requiring
+	manual cut-and-paste when keywords are changed.
+	* cp-lex.c:  Commented out some extern declarations that
+	were conflicting with inlines in cp-input.c.
+	Hooks for ANSI-style exception handling.
+	* cp-parse.y:  Parse ANSI-style exception stuff.
+	* cp-decl2.c:  Define new flag flag_ansi_exceptions.
+	* cp-decl2.c (finish_table):  Off-by-one error in
+	calculating index type.
+	* clus-decl2.c (finish_vtable_vardecl):  Add missing
+	TREE_OPERAND to get dossier decl.
+	* cp-except (cplus_expand_start_except):  Allow NULL name,
+	since there is no distinguished name for ANSI exceptions.
+	* cp-except (cplus_expand_raise):  Too few
+	parameters to expand_expr; add them.
+	* cp-except.c:  New functions for ANSI exceptions:
+	cplus_exception_name, ansi_exception_object_lookup,
+	cplus_expand_throw, ansi_expand_start_catch.
+	These are heavily hacked from similar old functions.
+
+	Try to make -fdossier work better (but more work is needed).
+	(Especially, generate fewer unneeded descriptors.)
+	* cp-class.c (add_virtual_function, finish_struct):  Do not
+	create a vtable just because of -fdossier.
+	* cp-gc.c:  Each type points to an array of fields,
+	instead of an array of pointers to fields.  Ditto for methods.
+	This saves one pointer per field or method by removing
+	unneded extra indirection.  Also other tweaks to save space.
+	* cp-decl.c (init_decl_processing):  Add length of
+	field and method arrays to descriptors, instead of
+	relying on NULL-termination (since we no longer have
+	the extra pointer array).
+	Make the parameter count and required count of
+	method descriptors be shorts.
+	* cp-method.c:  Remove no-longer-needed functions
+	build_i_desc_overload and build_m_desc_overload.
+
+	Other C++ fixes:
+	* cp-dbxout.c (dbxout_symbol):  Class types were
+	emitting only a "t" spec which made gdb unhappy.
+	Kludged it so that it once more emits "Tt".
+	* cp-tree.c (lang_output_debug_info):  Do emit debugging
+	info if this implementation file corresponds the the
+	type's interface, even if nothing is written.
+
+Fri Nov  8 08:18:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88k*.h: Fix comments, minor cleanups.
+
+Thu Nov  7 16:21:05 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+
+	* longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
+	sub_ddmmss.
+
+Thu Nov  7 12:47:14 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.3.
+	(PCC_BITFIELD_TYPE_MATTERS): Define this to be 1.
+
+	* out-mips.c (block_move_loop): New function to generate a loop to
+	do a block move.
+	(block_move_call): Pass the source, destination, size as separate
+	arguments, rather than a pointer to an array of operands.
+	(expand_block_move): Change block_move_call calling sequence.
+	(expand_block_move): If moving big aligned items, generate a loop to
+	do it, rather than calling memcpy/bcopy.
+	(override_options): If -msoft-float, 'f' constraint picks GP
+	registers.
+
+	* t-decrose (collect): Use ALL_CFLAGS instead of CFLAGS, since this
+	gets the shared library flags in x-decrose.
+
+Thu Nov  7 07:57:36 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88k.h (MEMORY_MOVE_COST): Define.
+	(TARGET_88*): Fix.
+
+Wed Nov  6 19:07:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md (negsf2, negdf2): Add missing CLOBBER in 29050 case.
+
+	* jump.c (jump_optimize): When looking for a conditional jump
+	skipping an unconditional jump, be sure the conditional jump is
+	not an unconditional jump.
+
+	* combine.c (try_combine): If we make an unconditional jump,
+	be sure it is followed by a BARRIER.
+	(subst, case SET): Convert (set (pc) (return)) to (return).
+
+Wed Nov  6 13:41:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88kv3.h, xm-m88kv3.h: Renamed from *m88ksysv3*.
+
+Wed Nov  6 09:27:16 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.2.
+	(TARGET_SWITCHES): Add -msoft-float and -mhard-float.
+	(GP_RETURN): Use GP_REG_FIRST as base of GP registers.
+	(FP_RETURN): Use FP_REG_FIRST as base of FP registers.  If
+	-msoft-float, make $2 be the return register.
+	(GP_ARG_FIRST, GP_ARG_LAST): Use GP_REG_FIRST as 1st GP reg.
+	(FP_ARG_FIRST, FP_ARG_LAST): Use FP_REG_FIRST as 1st FP reg.
+
+	* mips.md (ffssi2, ffssi2_internal): Fix ffs builtin so that it
+	doesn't clobber the input argument by turning it into a
+	define_expand, and using a parallel operation including the
+	necessary clobber's.
+	(abssi2, ffssi2, ffssi2_internal): Use the 'd' constraint which only
+	matches the integer registers, rather than 'r' which can match
+	floating point registers as well.
+
+	* tm-mips-news.h (CPP_SPEC): Add -Dnews7300, -Dsony_news, -Dmips,
+	and -Dhost_mips.
+
+Wed Nov  6 08:46:54 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-class.c (add_method): when adding a new constructor or
+	destructor, actually chain onto method_vec[0] rather than replacing
+	the list with the current entry.
+
+Wed Nov  6 07:04:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (store_field): Handle case where we are storing into a BLKmode
+	field of an object that is in a register.
+	(expand_expr, case COMPONENT_REF): Handle case where we are extracting
+	a BLKmode field from an object in a register.
+
+Tue Nov  5 22:16:39 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (target_flags): Delete second declaration.
+	(MASK_G0, MASK_G1, MASK_G2): Delete, since -G xx now works to set
+	the size of the small data/bss area cutoff.
+	(MASK_G012_USED, MASK_G012_NUSED): ditto.
+	(TARGET_GVALUE): ditto.
+	(TARGET_G012_USED): ditto.
+	(TARGET_SWITCHES): Delete -mGx, -mno-Gx switches.
+	(TARGET_DEFAULT): Set to 0 instead of MASK_G012_NUSED.
+
+	* tm-decrose.h (TARGET_DEFAULT): Eliminate MASK_G012_NUSED.
+
+	* out-mips.c (override_options): Remove support for -mGx and -mno-Gx
+	switches to set the cutoff size for small data/bss.
+
+	* mips.md (abssi2): Add new pattern.
+	(ffssi2): Add new pattern.
+
+Tue Nov  5 18:36:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.texinfo (MEMORY_MOVE_COST): Document new macro.
+	* regclass.c (MEMORY_MOVE_COST): Default it to 2.
+	(regclass, reg_class_record): Use MEMORY_MOVE_COST, not constant 2.
+	(regclass): Look at result of single_set instead of checking again if
+	pattern is a SET.
+	* tm-rs6000.h (MEMORY_MOVE_COST): Add definition.
+
+Tue Nov  5 17:01:05 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+	* cp-pt.c (tsubst): For char_type_node, just build variant and
+	return it.
+	(tsubst, case FUNCTION_DECL): Walk methods more efficiently.
+
+	* cp-pt.c (overload_template_name): Push a binding level, to
+	separate template name binding from method parameters.  Check
+	identifier value slots for TYPE_DECLs, not RECORD_TYPEs.  Don't need
+	to do extra push of TYPE_DECL for template name.
+	(undo_template_name_overload): Pop it.  Don't need to explicitly
+	clear template name binding.
+
+	* cp-ptree.c (print_lang_decl): For FIELD_DECL, don't try to
+	print fields that go off the end of the lang_decl_flags structure.
+
+	* cp-pt.c (pop_template_decls): Don't explicitly clear out value
+	slots of identifier; let poplevel/poplevel_class do it.
+
+	* cp-pt.c: Use build_lang_decl insteaed of build_decl for
+	all TEMPLATE_DECL and TYPE_DECL nodes.
+
+	* cp-tree.h (make_anon_name): Declare it.
+
+	* cp-pt.c (unify): Deleted unreachable code.
+
+	* cp-decl.c (push_overloaded_decl): Fixed typo from merge.
+	(start_decl): Ditto.
+	(grokdeclarator, case CALL_EXPR): Remove debug_tree call
+	accidentally left in.  Handle constructor templates specially, like
+	destructor templates.  Removed some commented-out code.
+	(grokdeclarator, case SCOPE_REF): If the type is uninstantiated,
+	treat it like any other aggregate type code.
+
+	* cp-lex.c (identifier_typedecl_value): If no binding slot from
+	the identifier is the right type decl, use the type name if it is
+	non-null, even if the name doesn't match.
+	(build_lang_decl): If new decl node is TREE_PERMANENT, make sure the
+	lang-specific info gets allocated that way too; don't assume that
+	the current obstack is permanent.
+	(copy_decl_lang_specific): If decl is TREE_PERMANENT, assert that
+	the current obstack is permanent.
+
+	* cp-parse.y (template_def): Delete derivations that were
+	purportedly for constructors; they didn't work.
+	(notype_declarator): Deal with them here.
+	(template_instantiate_once): Copy decl node with permanent obstacks,
+	thereby clearing the chain pointer, before pushing it into top
+	level.
+	(structsp): Don't need to undo template name overload here.
+	(scoped_typename): Want TYPENAME with template type, not PTYPENAME.
+
+Tue Nov  5 13:46:06 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_init, sdbout_symbol): Don't reverse the
+	permanent types.  
+
+	* cccp.c (make_definition): Eliminate previous change associated
+	with pretty-printing strings passed to do_define.
+	(pass_thru_directive): Move pretty-printing here.
+
+Tue Nov  5 11:21:34 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips-news.h (ASM_SPEC, LINK_SPEC): Correctly pass -EB instead
+	of -EL, since the Sony News system is big endian not little endian.
+
+Tue Nov  5 09:54:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88kv4.h, t-m88kv4, x-m88kv4: Renamed from *m88ksysv4*.
+
+Tue Nov  5 06:36:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_relational_operation, unsigned comparisons): Don't
+	simplify unless mode of operand is a MODE_INT mode.
+
+	* Makefile.in (*CFLAGS): More clearly document the purposes of each
+	of the flags.  Add X_CFLAGS and T_CFLAGS for x-* and t-* to override.
+	* x-decrose, x-hp9k320g, x-i386isc, x-m88ksysv4, x-mips, x-tower:
+	Override X_CFLAGS instead of CFLAGS or INTERNAL_CFLAGS.
+	* x-vax: Likewise.
+	* x-sco: Don't include XCFLAGS in definition of CFLAGS.
+
+	* gstddef.h: Renamed from stddef.h.
+	* Makefile.in (USER_H, install-common-headers): Install gstddef.h as
+	stddef.h.
+
+Mon Nov  4 17:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (save_constants): If we are referencing a constant in
+	the constant pool in a different mode than its normal mode, make
+	a SUBREG so that we can record both modes.
+	(copy_for_inline, restore_constants): Handle these SUBREG's.
+	(copy_for_inline): Must copy a MEM if it's address contains an
+	ADDRESS (i.e., the address of a constant pool entry).
+
+	* expr.c (expand_expr, case PLUS_EXPR): If adding constant, FP, and
+	something else, add FP to the constant and then add the other operand.
+
+	* global-alloc.c (find_reg): If all_regs_p, use ALL_REGS, not
+	GENERAL_REGS.
+	* local-alloc.c (block_alloc): Likewise.
+
+	* genoutput.c (gen_expand): Record all the same information as
+	for a DEFINE_INSN.
+
+	* cse.c (simplify_binary_operation, case PLUS): Simplify expressions
+	like (a +/- b) - (a +/- c).
+	(simplify_binary_operation, case MULT): For X * (-1), try to simplify
+	the NEG before we make it.
+
+Mon Nov  4 16:29:01 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-pt.c (overload_template_name): use build_lang_decl so that
+	lang_specific gets initialized properly.
+
+	* cp-parse.y (LC): use make_lang_type to produce complete node,
+	not just make_node.
+
+	* cp-ptree.c (print_lang_type): return if TYPE_LANG_SPECIFIC is
+	null, since everything printed here is in lang_specific.
+
+Mon Nov  4 16:17:48 1991  James Van Artsdalen  (james at raid.dell.com)
+
+	* x-i386v4: New file.
+	* configure (i386-sysv4): Use it.
+
+Mon Nov  4 12:36:09 1991  Michael Meissner  (meissner at osf.org)
+
+	* gcc.texinfo (BRANCH_COST): Move so BRANCH_COST formats correctly.
+
+Mon Nov  4 08:03:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* x-m88kdgux, x-m88ksysv4: Don't set XCFLAGS.
+
+	* jump.c (jump_optimize):  Change "if (...) x = 0;" to use a
+	store-flag insn if jumps are expensive (BRANCH_COST).
+
+	* tm-m88k.h (BRANCH_COST): Branches are cheap on the m88100.
+	(OVERRIDE_OPTIONS): Make m88100 the default.
+	(STORE_FLAG_VALUE): Use -1.
+	(.ctors and .dtors sections): Change section flags.
+	* m88k.md (sxx, negate sxx): Use ext and extu.  Eliminate extendsxx.
+
+Mon Nov  4 07:19:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* romp.md (movdf, movdi): When splitting, ensure we put in a CLOBBER
+	for a scratch register, when needed.
+
+	* tm-a29k.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define to be 
+	compatible with those chosen by EPI.
+
+	* tm-rs6000.h (REG_ALLOC_ORDER): Put CR registers before integer regs.
+
+	* cse.c (simplify_relational_operation): Fix error in last change.
+
+Sun Nov  3 12:22:41 1991  Torbjorn Granlund  (tege at sics.se)
+
+	* longlong.h (m68020 count_leading_zeros): Fix typo in previous
+	change.
+
+Sun Nov  3 09:25:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_relational_operation, cases GEU, LTU, GTU, LEU):
+	Simplify comparisons that have known values such as (unsigned) x < 0.
+
+	* final.c (final_scan_insn): If we've just made a branch unconditional,
+	convert (set (pc) (return)) to (return).
+	Use const_true_rtx instead of calling gen_rtx to make it again.
+
+	* x-romp (CC): Pass -Hnocpp to hc so it will use builtin preprocessor.
+	(INTERNAL_CFLAGS): Don't define BSTRING here.
+	* xm-romp.h (alloca): Add definition to allow use of hc's builtin.
+	(BSTRING): Define here.
+
+	* reload1.c (spill_hard_reg): Correct typo in previous change; had
+	test backwards.
+
+	* function.c (instantiate_virtual_regs_1, case PLUS): If can't
+	replace operand with register, try to replace all copies of operand
+	with the register in case of MATCH_DUP.
+
+	* recog.c (validate_replace_rtx_1): Use rtx_equal_p to see if
+	things are equal.
+
+	* genconfig.c (max_recog_operands, max_dup_operands): Remove `_flag'
+	in name since these aren't flags.
+	(max_clobbers_per_insn): Likewise.
+	(main): Default to at least 10 operands (for asm) and 1 dup operand.
+
+Sun Nov  3 07:26:57 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* Makefile.in (gnulib1.null): Use $(GCC_FLAGS) instead
+	of $(CCLIBFLAGS).
+	(gnulib1): Don't copy gnulib1.c into a temporary .c file before
+	compiling.  That messes up the source file names in the debug info,
+	which makes it harder to debug gnulib1 problems.
+
+	* Makefile.in (install-*): Force removal of previously installed files
+	before installing new ones (in case they got set to read-only somehow).
+
+	* Makefile.in (uninstall): Remove protoize.1 and unprotoize.1 man
+	page files.
+
+Sat Nov  2 22:42:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-a29k.c (output_epilog): Remove write_symbols from parameter list
+	of call to final_scan_insn.
+	* out-m88k.c (preserve_registers): Likewise.
+	* out-mips.c (function_epilogue): Likewise.
+	* out-sparc.c (output_function_epilogue, output_tail_call): Likewise.
+
+Sat Nov  2 22:02:45 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+	* cp-search.c (push_class_decls): Added missing argument to
+	overload_template_name.
+
+	* cp-ptree.c (print_lang_decl): Don't print lang-specific fields
+	for FIELD_DECL, since it has only the shorter flags structure.
+
+	* cp-class.c (finish_struct_method): Fixed comment typo.
+
+	* cp-decl.c: Add some code for debugging binding level
+	manipulations, conditionalized on DEBUG_CP_BINDING_LEVELS.
+	(debug_bindings_indentation): New var, used to maintain indentation
+	to indicate which changes are on the behalf of other routines.
+	(push_binding_level): Print debugging messages to track binding
+	level changes and call/nesting sequences.
+	(pushlevel, poplevel): Ditto.
+	(pushlevel_class): Ditto.
+	(pop_binding_level): Ditto.  Also scribble over freed binding level,
+	and don't store it for re-use.
+	(poplevel_class): Ditto.
+	* cp-decl.h (debug_bindings_indentation): Declare it.
+	* cp-pt.c (push_template_decls, pop_template_decls): Added
+	debugging fprintf calls here too.
+
+Sat Nov  2 17:00:22 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* cp-except.c (finish_exception_decl): Change `enum debugger' to
+	`enum debug_info_type'.
+	* final.c (final_start_function, final, final_end_function,
+	output_source_line): Delete the `write_symbols' parameter.
+	Instead use the global `write_symbols' declared in flags.h.
+	* sched.c (unlink_notes, schedule_block, schedule_insns): Compare
+	`write_symbols' with NO_DEBUG rather than with zero.
+	* toplev.c (rest_of_decl_compilation, rest_of_compilation): Don't
+	pass `write_symbols' to assemble_variable, final_start_function,
+	final, final_end_function.
+	* varasm.c (assemble_variable): Delete the `write_symbols' parameter.
+	Instead use the global`write_symbols' declared in flags.h
+
+Sat Nov  2 09:48:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* caller-save.c: Don't include reload.h; not used.
+	* Makefile.in (caller-save.o): Likewise.
+
+	* final.c (final_start_function, final_end_function, final): Change
+	enum debugger to enum debug info to finish previous change.
+	(final_scan_insn, output_source_line): Likewise.
+	* varasm.c (assemble_variable): Likewise.
+
+	* rtlanal.c (modified_between_p, find_last_value): New functions; not
+	yet used.
+	* rtl.h (find_last_value): Declare.
+
+	* cse.c (simplify_binary_operation): Remove comparison cases from
+	here; now in simplify_relational_operation.
+
+Fri Nov  1 19:04:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtl.h (REG_DEAD): More precisely describe when a REG_DEAD note
+	should be present.
+	* rtlanal.c (dead_or_set_regno_p): New function.
+	(dead_or_set_p): A value is dead or set only if each register in it
+	is dead or set.
+	* combine.c (reg_bitfield_target): New function.
+	(distribute_notes, case REG_DEAD): Place REG_DEAD note only if both
+	dead_or_set_p and reg_bitfield_target are false.
+	* flow.c (cc0_live): New variable; replaces following_insn_dead.
+	(propagate_block): Initialize cc0_live instead of following_insn_dead.
+	Track CC0's life just like other regs instead of using special
+	mechanism involving following_insn_dead.
+	Clear last_mem_set even when not final pass.
+	Don't call mark_used_regs on dead insns.
+	(insn_dead_p): Use cc0_live to see if a set of CC0 is dead.
+	Correctly test if set of multi-word value is needed; set if dead only
+	if none of the words are needed.
+	(libcall_dead_p): Allow CALL to be in any part of PARALLEL.
+	Use insn_dead_p to see if SET of return register is dead; old code
+	incorrectly tested multi-word registers.
+	(mark_set_1): Track whether all or only some words of a value are
+	needed; write partial REG_UNUSED note if only some words won't be
+	needed.
+	(mark_used_regs): Likewise for REG_DEAD notes.
+	Set cc0_live for a reference to CC0.
+	Don't write REG_DEAD note if register is already dead or set in INSN.
+	No longer check for unused SET_DEST since it won't be called for dead
+	insns; if a single SET's result was unneeded but the insn can't be
+	deleted, the source of the SET is live.
+	Clear last_mem_set even if not final pass.
+
+	* reload1.c (gen_input_reload): Handle REG+MEM the same as REG+INT.
+
+	* gcc.c (xmalloc, xrealloc): Use unsigned instead of size_t for `size'.
+
+	* cccp.c (bcopy, bzero, bcmp): No longer static.  Only declare at
+	front of file if we are going to define them later.
+
+Fri Nov  1 18:57:25 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* cccp.c (timebuf): Declaration moved out of `special_symbol' and
+	made global (and "static") to get values of __DATE__ and __TIME__
+	to remain constant throughout compilation.
+	(debug_output): New variable.
+	(main): Accept -g3 option and set debug_output when seen.
+	(main): Moved initializations of `outbuf' and `fp' to before call
+	to `initialize_builtins'.
+	Pass fp and &output to initialize_builtins so that it can write out
+	artificial #define lines for builtin symbols.
+	Call `output_line_directive' before doing each make_define or
+	make_undef so that when `debug_output' is in effect, we'll
+	get #line 0 directives before each artificial #define or #undef.
+	(special_symbol): Initialization of `timebuf' deleted from here.
+	(initialize_builtins): Initialize timebuf here.
+	(pass_thru_directive): New function.
+	(do_define, do_undef): Use `pass_thru_directive' for "precompilation"
+	of header files.
+	Call `pass_thru_directive' when -g3 option used.
+	(initialize_builtins): Generate artificial #define directives (in the
+	output) to represent the values of all builtin symbols whose defs
+	can't change during compilation.
+	(make_undef): Added output buffer param so that make_undef could let
+	do_undef do output to stdout.
+	Call do_undef with a real output buffer.
+	(make_definition): Likewise.
+	Many minor changes to get strings passed to do_define to always look
+	like correctly formed #define directives.
+
+	* c-decl.c (store_parm_decls): Remove non-params from the list before
+	checking to see if the type of any element of the list is complete.
+	(pushlevel):  Fixed bug which caused scope of tagged types to be
+	incorrectly assigned to the outermost {} block of functions rather
+	than to the outermost binding contours of functions.
+	(pushtag):  Revised to clarify code used to find applicable
+	binding level for a tagname.
+	Set TYPE_CONTEXT of new tagged type so that dwarfout.c can tell
+	file-scope tagged types from non-file-scope tagged types.
+	Create a NULL-named TYPE_DECL node for each new tagged type
+	(even incomplete ones).
+	(finish_struct, finish_enum): Don't create NULL-named
+	TYPE_DECL nodes for complete tagged types.  (This is now done in
+	`pushtag' for *all* new tagged type declarations and definitions.)
+
+	* toplev.c (compile_file):  Adjust conditions under which
+	`dwarfout_file_scope_decl' is called during final traversal of
+	the chain of file-scope decls so that it is called also for
+	file-scope TYPE_DECLs.
+	(rest_of_decl_compilation):  Deleted call to `dwarfout_file_scope_decl'
+	for file-scope TYPE_DECLs; call `dwarfout_file_scope_decl' instead of
+	`dwarfout_file_scope_symbol'.
+
+	* dbxout.c, sdbout.c, flags.h, toplev.c:  Change DEBUG_LEVEL_* to
+	DINFO_LEVEL_* to prevent possible confusion about meaning.
+
+	* flags.h, toplev.c: (enum debug_info_type):  Renamed type from
+	`debugger' and cleaned up definition of type (including deletion
+	of useless EXTENDED_DBX_DEBUG code).
+	(use_gdb_dbx_extensions): Make declarations conditional on
+	DBX_DEBUGGING_INFO being defined.
+
+	* out-i860.c (output_fp_move_double, find_addr_reg):  Add return stmts
+	to avoid warnings when compiling with -Wreturn-type.
+	(output_delayed_branch):  Fix test for CONST_INT values which must be
+	loaded in two instructions (as two halves).
+	(function_epilogue):  Remove ASM_OUTPUT_EPILOGUE_SUFFIX.  (Superceeded
+	by ASM_DECLARE_FUNCTION_SIZE in varasm.c.)
+
+	* xm-i386.h (i386): Define in case the native host compiler doesn't.
+
+	* tm-svr4.h (SVR4): Define this rather than SVR4_target.
+	(ASM_FINAL_SPEC): Support the -pipe option.
+	(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME): Allow easy
+	redefinition of the syntax for second operand of .type.
+	(ASM_DECLARE_FUNCTION_SIZE): Fix line continuations.
+
+Fri Nov  1 14:14:14 1991  Michael Meissner  (meissner at osf.org)
+
+	* out-mips.c (mips_asm_file_end): Generate correct code if the user
+	uses asm("name").  Patch from bothner@cygnus.com.
+
+	* mips-tfile.c (init_file initialization): Fix #ifdef
+	BYTES_BIG_ENDIAN to be #if BYTES_BIG_ENDIAN, to allow the DECstation
+	to work again.
+	(toplevel): Remove declarations of internal library functions,
+	_flsbuf, _filbuf.
+
+Thu Oct 31 14:59:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+
+	* longlong.h (m68020 count_leading_zeros): Use %b for offset and
+	width syntax for bfffo instruction.
+
+Thu Oct 31 05:45:54 1991  Ken Raeburn  (raeburn@cygnus.com)
+
+	* cp-decl.c (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Replaced
+	uses of macros with their expansions, and deleted the macros.
+
+Wed Oct 30 12:45:33 1991  Ron Guilmette  (rfg at ncd.com)
+
+        * dwarfout.c, dwarf.h, README.DWARF: Replacement files that bring
+	the Dwarf implementation up to that defined by draft 5 of the
+	UI/PLSIG Dwarf specification.
+
+Wed Oct 30 10:50:07 1991  Michael Meissner  (meissner at osf.org)
+
+	* objc-parse.y (yylex): Cast short types to int before shifting, to
+	avoid bogus warnings from the MIPS C compiler.
+
+	* cccp.c (fancy_abort): Make this global again, so that
+	-Dabort=fancy_abort will not cause a link error, because obstack.c
+	contains a reference to abort.
+
+Wed Oct 30 07:38:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* SYSCALLS.c (abort): Undefine first.
+
+	* xm-m88k.h (HOST_WORDS_BIG_ENDIAN): Define it.
+	* out-m88k.c (output_and): Choose "clr" last.
+
+Tue Oct 29 22:49:47 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (num_refs): New global array.
+	(mips_count_memory_refs): New function decl.
+
+	* out-mips.h (num_refs): New global array to count number of 1, 2,
+	or 3 instruction data references with -mstats.
+	(mips_count_memory_refs): New function decl to determine whether a
+	data memory reference uses 1, 2, or 3 instructions.
+	(mips_move_1word, mips_move_2words): Call mips_count_memory_refs
+	as appropriate.
+	(function_epilogue): Print number of 1, 2, and 3 instruction
+	memory references if -mstats.
+
+	* mips.md (movsi_ulw, movsi_usw): Call mips_count_memory_refs if
+	needed.
+
+Tue Oct 29 05:14:27 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+	* cp-parse.y (template_def): Don't pass bogus declspecs to
+	start_decl.
+
+	* cp-pt.c (tsubst, case FUNCTION_DECL): Build new argument list
+	from method template, instead of retaining the old one.
+
+Tue Oct 29 00:44:51 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+	* cp-class.c (finish_struct): Skip type fields if they are
+	template names bound to their expansions.
+
+	* cp-decl.c (binding_levels_sane): Define only if PARANOID; use a
+	macro returning 1 otherwise.  Check class_binding_level stack for
+	consistency also.
+	(pushdecl): Verify that bindings pushed at global scope are in
+	permanent obstack storage.
+	(start_decl): While processing_template_decl, don't also need to
+	verify that the decl uses the template parameters.  For method
+	templates, construct proper method type for result.  TREE_EXTERNAL
+	flag for methods should be cleared if DECL_EXTERNAL is clear.
+	(grokdeclarator, case CALL_EXPR): Intercept destructor templates,
+	which have a different internal form, and convert them to a form
+	that can be recognized.
+
+	* cp-decl2.c (grokclassfn): Include length of class name when
+	creating assembler name for destructor; otherwise ambiguities
+	result.
+
+	* cp-lex.c (identifier_typedecl_value): New fn; scans bindings of
+	identifier for a given type decl; falls back to name of type.
+	* cp-tree.h (IDENTIFIER_TYPEDECL_VALUE): Call it.
+
+	* cp-method.c (fndecl_as_string): Print constructor_name of type
+	for constructor and destructor, not type name.
+
+	* cp-parse.y (template_def): Don't output warning about missing
+	type and storage class, since this gets printed for destructor
+	templates.
+	(notype_declarator): Accept '~' PTYPENAME.
+	(scoped_typename): Want a PTYPENAME, not TYPENAME.  Build a
+	SCOPE_REF node instead of calling resolve_scope_to_name.
+
+	* cp-pt.c (instantiate_member_templates): New fn.  Instantiates
+	members associated with template for a given template class.
+	* cp-method.c (template_instantiate_once): Call it.
+
+	* cp-pt.c (end_template_decl): Catch destructor templates that
+	are being passed through without being converted to TEMPLATE_DECL
+	nodes; convert them now.  Copy argument list for function template
+	into permanent storage.
+	(lookup_template_class): Supply IDENTIFIER_TEMPLATE data for new
+	anonymous type name.
+	(tsubst, case FUNCTION_DECL): Improve method lookup code.
+	(tsubst): Use hash table and build_cplus_* functions for building
+	new nodes when possible, so equality tests are easier.  Extend
+	FUNCTION_TYPE case to handle METHOD_TYPE as well.
+	(instantiate_template): Don't do anything for error_mark_node.
+	(do_pending_expansions): Keep expansions not used in queue to check
+	again later.
+
+	* cp-tree.def: Fix up some comments relating to PT-related types.
+
+	* tree.c (init_tree_codes): Now void, in agreement with decl
+	elsewhere.
+
+Mon Oct 28 22:07:44 1991  Jeffrey A Law  (law at b117.super.org)
+
+	* output.h (current_function_uses_pic_offset_table): Declare here
+	so that out-*.c can see it.
+
+	* tm-m68k.h (FINALIZE_PIC): New macro.
+	(PIC_OFFSET_TABLE_REGNUM): New macro.  Defines which address
+	register is used to hold the offset table for PIC.
+	(CONDITIONAL_REGISTER_USAGE): Make PIC_OFFSET_TABLE_REGNUM be
+	fixed when generating position independent code.
+
+	* out-m68k.c (finalize_pic): New function.  
+	(output_function_prologue): If generating position independent
+	code output assembler text to load the pic_offset_table register.
+
+Mon Oct 28 10:02:36 1991  Michael Meissner  (meissner at osf.org)
+
+	* toplev.c (main): If -G is used, set g_switch_set to true, and set
+	g_switch_value to be the integer value of it's argument, for use in
+	the MIPS port to determine whether a static or global item goes into
+	the normal data area, or into the small data area.
+
+	* out-mips.c (g_switch_set, g_switch_value): Delete these global
+	variables, since toplev.c now defines them.
+
+	* tm-mips.h (EXTRA_INT_OPTIONS): Delete macro which is no longer
+	used in internal OSF patches to provide -G xx support.
+	(ASM_SPEC, CC1_SPEC, LINK_SPEC): Remove -G32, since the new -G
+	patches take care of it now.
+
+	* tm-decrose.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+
+	* tm-decstatn.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+
+	* tm-iris.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+
+	* tm-mips-bsd.h (LINK_SPEC): Remove -G32.
+
+	* tm-mips-news.h (ASM_SPEC, LINK_SPEC): Remove -G32.
+
+	* tm-mips-sysv.h (LINK_SPEC): Remove -G32.
+
+Mon Oct 28 07:11:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Don't delete unused SETs if they have
+	side-effects.
+
+	* Makefile.in, t-i386sco: Had both LIMIT_H and LIMITS_H; latter
+	is correct.
+
+	* combine.c (subst): New argument `unique_copy'; if non-zero ensure
+	each copy of `from' replaced gets a unique copy of `to'.
+	Pass arg to recursive callers.
+	(try_combine): Pass new arg to subst.
+
+	* Makefile.in (LANGUAGES): Use `objective-c' instead of `class-c'
+	to avoid confusion.
+
+	* gcc.c (xmalloc, xrealloc): Really make non-static.
+
+Mon Oct 28 00:21:56 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (CC1_SPEC): Convert -gline into -g1.
+
+Sun Oct 27 17:15:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (spill_hard_reg): Rework code that relies on the fact that
+	reg_class_superclasses[i][0] == i, since it isn't true!
+
+Sun Oct 27 06:15:24 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* configure: Always remove any files before we write them in case
+	the old copy was read-only.
+
+	* Makefile.in (manext): Now just extension without the period.
+	(mandir): Default to include manext.
+	(install-man): Adjust to new definition of manext.
+	(uninstall): Remove protoize.1 and unprotoize.1 from mandir.
+
+	* genemit.c (gen_exp): Write integer using %u instead of %d to
+	avoid warnings from some compilers when most negative int is written.
+
+	* cccp.c: Make variables not used outside this file static.
+	(main, line_to_error, xmalloc, xrealloc, xcalloc): Add missing return
+	statements (in unreachable paths).
+	(xmalloc, xrealloc, xcalloc, savestring): Make SIZE arg unsigned.
+	
+Sun Oct 27 06:14:45 1991  Jeffrey A Law  (law at b115.super.org)
+
+	* tm-m68k.h (SELECT_RTX_SECTION): New macro.  Used to force
+	symbolic objects in the constant pool into the read-write data
+	section when generating position independent code.
+
+	* recog.c (general_operand, immediate_operand, nonmemory_operand):
+	Use LEGITIMATE_PIC_OPERAND_P to reject constants which are not
+	valid when generating position independent code.
+
+	* reload.c (find_reloads): Do not win in 's', 'i', or 'g' cases
+	if the constant does not satisfy LEGITIMATE_PIC_OPERAND_P.
+
+	* tm-m68k.h (LEGITIMATE_PIC_OPERAND_P): New macro.
+
+	* out-m68k.c (symbolic_operand): New function. Copied from
+	tm-sparc.h. 
+
+	* gcc.texinfo: Document LEGITIMATE_PIC_OPERAND_P.
+
+Sat Oct 26 07:51:40 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.md (movsi_usw): Remove invalid '&' constraint on a memory
+	address.
+
+Sat Oct 26 07:16:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (find_basic_blocks): Build label_value_list as list of
+	CODE_LABELs, not LABEL_REFs.
+
+	* fold-const.c (optimize_bit_field_compare): Call fold on result
+	of build1 call that converts integer to proper mode.
+
+	* rtl.h (unsigned_condition, signed_condition): Add definition;
+	functions were previously added to jump.c.
+	* combine.c (simplify_comparison): Use unsigned_condition to simplify
+	last change.
+
+Sat Oct 26 06:48:59 1991  Jeffrey A Law	(law at b115.super.org)
+
+	* tm-sun2.h, tm-sun3.h (ASM_SPEC): Pass "-k" to the assembler if
+	-fpic or -fPIC.
+
+Fri Oct 25 20:43:54 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (CC1_SPEC): Remove special rules for -g0, -g1, etc., now
+	that GCC supports these directly.
+
+	* configure (dec-mips-osf): DECstation running OSF/rose uses
+	t-decrose, not t-mips.
+
+	* x-decrose (COFF_CC, COFF_CFLAGS, WARNINGS): Delete.
+	(libdir, bindir, mandir): Put GCC 2 in the /usr/ccs/gcc tree.
+
+	* x-mips (comment): Delete a comment about cross compilers that is
+	no longer true.
+
+	* t-decrose (coff-obstack.o): Delete rule that is no longer used.
+
+Fri Oct 25 18:46:51 1991  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-dem.c (cp-demangle): added support for templates, static
+	data, and the new (correct) mangling for destructors.
+
+Fri Oct 25 16:18:18 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
+
+        * cp-decl2.c: (grokclassfn): destructor names *should* contain
+        the length; otherwise, we can't tell the difference between a
+        destructor for a class whose name begins with 't' and a destructor
+        for an instance of a template class.
+
+Fri Oct 25 02:15:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* SYSCALLS.c, protoize.c: Changes from rfg.
+	waiting for real changelog entries from rfg.
+
+	* gcc.c (xmalloc, xrealloc): No longer static.
+
+Thu Oct 24 19:21:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (optimize_bit_field_compare):
+	Use build1 rather than convert, to avoid warnings.
+
+	* final.c (output_source_line): Fix if-scope for DBX fmt.
+
+Thu Oct 24 13:29:34 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* gcc.c gen*.c: Don't make fancy_abort static.
+
+Thu Oct 24 12:07:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* combine.c (simplify_comparison): When narrowing a comparison
+	and removing ANDs, make it unsigned.
+
+Thu Oct 24 08:02:04 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+	* cp-decl.c (binding_levels_sane): New function, tests that stack
+	of binding levels is consistent.  Argument provides extra
+	identification for call site, in case compiler optimizes too well.
+	If PARANOID is not set, does nothing.
+	(push_binding_level, pop_binding_level): Now functions, for easier
+	debugging.  Inlined under GNU C if not PARANOID.
+	(PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Invoke functions.
+	(push_to_top_level): Use type-shadowed slots to unwind
+	IDENTIFIER_TYPE_VALUE back to top level.
+	(start_decl): When processing a template decl, shouldn't need to
+	check uses_template_parms.  For methods, modify arg list to include
+	`this'.  Don't set context of template.  Use perm_tree_cons when
+	building members list for class template.
+	(grokdeclarator): Check "friend" flag before calling
+	globalize_nested_type.  Build a method type for a function that has
+	a context.
+
+	* cp-pt.c (end_template_decl): If template has non-null context,
+	chain it off of the containing class, rather than using pushdecl.
+	(instantiate_class_template): Instantiate all the member templates
+	hanging off the class template.  Also, simplify some code in the
+	case where setup_parse is 0.
+	(tsubst): Check for several common values that won't be modified by
+	substitutions.
+	(tsubst, case FUNCTION_DECL): Don't return type passed if it has a
+	non-null context that might need fixing.  Process that context while
+	building up the new decl node; use it to notify build_decl_overload
+	that we've got a method rather than a function.
+	(tsubst, case METHOD_TYPE): Handle like FUNCTION_TYPE; enhance that
+	case to handle TYPE_METHOD_BASETYPE when set.
+	(unify): Increment value pointed to by nsubsts, not the pointer
+	itself.
+	(do_pending_expansions): Method context is in DECL_CONTEXT, not
+	DECL_CLASS_CONTEXT.
+
+	* cp-lex.c (do_identifier): Don't try looking up fields in base
+	classes of UNINSTANTIATED_P_TYPE.
+
+	* cp-parse.y (primary): Call require_complete_type only for
+	CALL_EXPR nodes of types other than void.
+	(template_type): Don't call IDENTIFIER_TYPE_VALUE on
+	error_mark_node.
+
+	* cp-ptree.c (print_lang_decl): For UNINSTANTIATED_P_TYPE, show
+	template as well as parameters.
+
+	* cp-tree.h (DECL_TEMPLATE_*, UPT_*): New accessor macros for
+	TEMPLATE_DECL and UNINSTANTIATED_P_TYPE nodes.  All (most?) uses
+	except for node creation changed to use these.
+	* cp-tree.def: Updated comments for these node types.
+
+	* cp-pt.c (uses_template_parms): Handle ADDR_EXPR.
+	(end_template_decl): For function with non-null context, pop class
+	binding level.
+
+Thu Oct 24 06:57:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md, romp.md, rs6000.md (movdi, movdf, movti): Handle case of
+	reg-reg copy with overlapping registers correctly.
+
+	* out-rs6000.c (ccr_bit, case NE): Fix typo in bit number.
+	(output_epilog): Must restore stack using backchain if alloca called.
+
+	* romp.md, rs6000.md (extendxxyy2, zero_extendxxyy2): Use DEFINE_EXPAND
+	to force operand to register; DEFINE_INSN allows memory (better cse).
+
+	* rs6000.md (ffssi2): New patterns.
+	(maskir): Add patterns to use maskir instructions.
+
+	* tm-a29kunix.h (TARGET_DEFAULT, CPP_SPEC): Default to 29050.
+
+	* tm-rs6000.h (LINK_SPEC): Add -bnodelcsect.
+	(HARD_REGNO_MODE_OK): Delete kludge that didn't allow DImode in reg 31
+	and TImode in 29-31; the bug was fixed elsewhere.
+
+Wed Oct 23 17:48:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): If an insn doesn't match, check for case
+	where first SET's result isn't used; previously only checked second.
+
+	* combine.c (try_combine): When we substitute into a COMPARE, check
+	SELECT_CC_MODE to see if we should try to change the mode of the
+	COMPARE and its result.
+
+Wed Oct 23 16:38:26 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
+
+	* gnulib2.c (__ashrdi3): Compute sign extension shift count from
+	machine word size instead of using 31.
+
+Wed Oct 23 14:25:04 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (PREFERRED_DEBUGGING_TYPE): Unless otherwise defined,
+	set to SDB_DEBUG.
+
+	* tm-decrose.h (PREFERRED_DEBUGGING_TYPE): Define to DBX_DEBUG.
+
+	* out-mips.c (override_options): Don't override debugger choice now
+	that PREFERRED_DEBUGGING_TYPE is provided.
+
+Wed Oct 23 07:25:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_symbol/FUNCTION_DECL, sdbout_toplevel_data,
+	sdbout_end_epilogue): Use DECL_ASSEMBLER_NAME to avoid link-time
+	multiple definitions.
+
+Tue Oct 22 15:06:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): For now, we must always have a frame pointer
+	if a function calls alloca and EXIT_IGNORE_STACK is non-zero.
+
+	* cse.c (insert_regs): Don't make new quantity for the register in
+	a SUBREG.
+	(merge_equiv_classes): Don't invalidate the register inside a SUBREG.
+	(canon_hash, case SUBREG): Remove code to treat SUBREGs like REGs.
+
+Tue Oct 22 10:25:29 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88kdgux.h (PREFERRED_DEBUGGING_TYPE): Use it.
+	* tm-m88k.h (OVERRIDE_OPTIONS): Don't override write_symbols.
+
+	* out-m88k.c (m88k_output_{prologue,epilogue}): Renamed.
+
+Tue Oct 22 00:51:48 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c++: New shell script.
+
+	* gcc.c (default_compilers): Treat .ii files as cpp'd C++.
+
+	* varasm.c (make_function_rtl): Don't alter DECL_ASSEMBLER_NAME.
+
+	* toplev.c (main): Use PREFERRED_DEBUGGING_TYPE if support
+	more than one format.
+
+Mon Oct 21 23:08:02 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Fix error message for long float.
+
+Mon Oct 21 16:55:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (add_equal_note): New function.
+	(expand_binop): Delete some obsolete, turned-off code.
+	Use GET_RTX_CLASS to see if operator is commutative.
+	Call add_equal_note if we make a multi-insn sequence; if it fails,
+	redo the operation without our target.
+	In multi-word cases, don't allow TARGET to be the same as an input.
+	(expand_unop): Allow operation to fail.
+	Call add_equal_note and allow failure, like in expand_binop.
+	In multi-word case, don't allow TARGET to be OP0.
+	(emit_unop_insn): Use add_equal_note; ignore its failure here.
+
+	* optabs.c (expand_float, expand_fix): In cases when we will jump,
+	ensure we call emit_queue before protect_from_queue.
+	Eliminate redundant calls to protect_from_queue and force_non_mem.
+
+	* reorg.c (steal_delay_list_from_target): Don't take an insn from
+	the fallthrough thread of an annulled branch insn.
+
+Mon Oct 21 16:55:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* configure (m88k targets): Complete last change.
+
+Mon Oct 21 16:06:25 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* integrate.c (copy_rtx_and_substitute): When making copy of frame,
+	round size to keep substituted frame pointer aligned.
+	(CEIL_ROUND): New macro.
+
+Mon Oct 21 15:16:17 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (GP_REG_OR_PSEUDO_NONSTRICT_P): New macro for
+	REG_OK_FOR_{BASE,INDEX}_P in non strict mode.  Fix typos in the
+	previous change.
+	(GP_REG_OR_PSEUDO_P): Rename to GP_REG_OR_PSEUDO_STRICT_P.
+	(REG_OK_FOR_BASE_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
+	(REG_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
+	(GO_IF_LEGITIMATE_ADDRESS): Indicate if strict checking is being
+	used if -mdebugb tracing.
+
+Mon Oct 21 15:08:15 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* Makefile.in (*.o): Add insn-codes.h to all lists using expr.h.
+	(dwarfout.o): Add dwarf.h, reload.h, output.h, and insn-config.h.
+
+	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): New macro for list of actual
+	types.
+	* c-decl.c (store_parm_decls): Compute TYPE_ACTUAL_ARG_TYPES if a
+	prototype is not present.  Delete old method.
+	(duplicate_decls): Provide better diagnostics if a prototype
+	follows a function definition.
+
+	* m88k.md (gen_divsi3): Delete REG_EQUAL workaround.
+	* t-m88k{,luna,sysv4}: Target makefile portion (from Mike Stump).
+	* x-m88k{,dgux,luna,sysv4}: Corresponding deletions.
+	* {tm,t,x}-m88ksysv4: Renamed from m88ksvr4.  Deleted xm-m88ksvr4.
+	* {tm,xm}-m88ksysv3: Renamed from v88r32.
+	* configure: Corresponding changes.
+
+	* tm-m88k.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Output to
+	.ctors/.dtors sections.
+	(TARGET_SWITCHES): Add -m88000, -m88100, and -m88110.  Replace
+	DG/UX MXDB options with SUBTARGET_SWITCHES macro.
+	* tm-m88kdgux.h (SUBTARGET_SWITCHES, ASM_SPEC, ASM_FIRST_LINE):
+	Put MXDB options here changing -mdwarf to -mstandard.
+
+Sun Oct 20 06:39:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_comparison, case PLUS): Only do simplification
+	for equality comparison due to overflow problems.
+
+	* gen*.c: Remove "void *" and uses of size_t added by recent change.
+
+	* reload.c (find_reloads): If "&" given without any registers, 
+	turn off earlyclobber, in addition to giving error.
+
+	* Makefile.in (STAGE_GCC): Deleted.
+	(STAGESTUFF): Add gcc (from STAGE_GCC) and gcc-cross.
+
+Sun Oct 20 04:37:21 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (grokfndecl): Use DECL_NAME, not DECLARATOR at end of
+	function, since DECL_NAME may be different if it's an operator name.
+
+	* cp-cvt.c (convert_pointer_to): Test if PARENT is TREE_VEC
+	before testing IS_AGGR_TYPE.
+
+Sun Oct 20 00:40:47 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (link_command_spec): -collect converts to -c.
+
+	* toplev.c (main): Support -gstabs and -gcoff.  Fix args to strncmp.
+
+Sat Oct 19 21:51:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c: Use const_true_rtx instead of const1_rtx.
+	(delete_scheduled_jump): Don't delete an insn that sets CC0 if it
+	has a side-effect.
+	(update_block): Add missing declaration for parameter WHERE.
+	(fill_slots_from_thread): Stop search if we find an insn that we
+	can't put into the delay slot unless we own the thread.
+
+Sat Oct 19 17:30:23 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (GP_REG_OR_PSEUDO_P): New macro to make sure a reg or
+	pseudo reg during reload will eventually be a GP register for use as
+	a base or index register.  This fixes a bug where a FP register
+	could be used as a base or index register in some cases after
+	convert from floating point to integer was done.
+	(REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_P.
+	(REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): In the non strict version,
+	don't allow hard FP registers ever.
+
+Sat Oct 19 11:59:55 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* tm-sun3.h, tm-sparc.h (WORD_SWITCH_TAKES_ARG):
+	Check for Tdata as well as target.
+
+	* c-decl.c (grokdeclarator): Don't warn for array of incomplete elt.
+
+	* expr.c (expand_expr): For INDIRECT_REF, don't set unchanging bit.
+	* c-typeck.c (build_indirect_ref): Do set TREE_UNCHANGING if nec.
+
+	* reload.c (find_reloads): Warning or error for misuse of `&'.
+	* toplev.c (warning_for_asm): New function.
+
+	* t-i386sco: New file.
+	* x-i386sco: Add -Di286 to CC, OLDCC.
+	(LIMIT_H): Moved to t-i386sco.
+
+Sat Oct 19 09:08:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* gcc.c: Add missing extern declarations deleted by last change.
+	(xrealloc, xmalloc): Don't declare as void *; non-ANSI compilers
+	can't handle it.
+
+Sat Oct 19 08:26:13 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* tree.h: Fix spelling error in comment.
+
+	* tree.def, cp-parse.y: Change comments that refer to LET_STMT nodes to
+	refer to BLOCK nodes.
+
+	* gcc.c, gen*.c: Declare as static objects that aren't referenced
+	outside the file they are in.
+	(xrealloc, xmalloc): Functions return char *, not int.
+	(main): Add missing returns (in unreachable code) to avoid warnings
+	when compiled with -Wreturn-type.
+	* gcc.c (pexecute): Likewise.
+	* genattrtab.c (operate_exp): Likewise.
+
+Fri Oct 18 16:58:12 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Finish changeover from cplus-* to cp-*.
+
+Fri Oct 18 16:57:37 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* tm-svr4.h: Delete lines duplicated due to transmission problems.
+
+Fri Oct 18 16:55:53 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (unsigned_condition, signed_condition): New functions.
+
+	* configure (vax): Set tm_file to tm-vax.h so "configure vax-dec-bsd"
+	works.
+
+	* combine.c (subst, case PLUS, MINUS): Remove some simplifications
+	from here.
+	* cse.c (simplify_binary_operation, case PLUS, MINUS): Put these
+	simplifications here.
+	Strip off CONST when looking for some simplifications.
+	Add code to simplify (a - (a - b)).
+
+	* combine.c (expand_compound_operation): Correctly handle case where
+	we have a ZERO_EXTRACT that extends beyond the bounds of the object.
+
+	* global-alloc.c (mark_elimination): No longer have FORBIDDEN_REGS as
+	argument.
+	* reload1.c (reload): Don't pass FORBIDDEN_REGS to mark_elimination.
+
+	* cse.c (simplify_{unary,binary,relational}_operation):  Complete
+	change that removes warnings from floating-point traps when constant
+	folding (some cases had been omitted).
+
+Fri Oct 18 16:41:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* stmt.c (expand_anon_union_decl): When creating new mem, copy the
+	RTX_UNCHANGING_P and MEM_IN_STRUCT_P bits from the old one.
+
+	* sparc.md: Add new scc addx/subx patterns.
+
+Fri Oct 18 09:10:43 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-parse.y (stmts): Fix parsing rules to match C++ semantics
+	better (and hence give the compiler better error recovery).
+
+Thu Oct 17 19:31:15 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+        * cp-pt.c (tsubst): For NEGATE_EXPR, call build1, not build.
+        Handle NOP_EXPR likewise.
+        (unify, case TEMPLATE_CONST_PARM): Copy value to permanent obstack.
+
+        * cp-method.c (PARM_CAN_BE_ARRAY_TYPE): If not already defined,
+        define it to be 1.
+        (build_overload_name): Test to see if it's nonzero, rather than
+        whether it's defined; this permits compilation options to disable
+        it, but leave it enabled by default.  Add one to the array size,
+        since the value retrieved appears to be the maximum index, not the
+        true array size.
+
+Thu Oct 17 19:15:37 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
+
+        * cp-pt.c (instantiate_class_template):  has an argument to
+        indicate whether to setup for parsing or not. (All existing cases
+        did a feed input, but if we are trying to set up intermediate nodes
+        while waiting for the parser to return to a template_instantiate
+        site we need to suppress the parsing part of it, which will get
+        redone later.)
+        (tsubst): under case UNINSTANTIATED_P_TYPE, actually instantiate any
+        class templates that are needed for function return values, and set
+        them up as pending templates to be run later.
+
+        * cp-parse.y (primary): since build_x_function_call doesn't
+        require a complete type any more in certain cases, we instantiate
+        any pending templates and then require_complete_type on the
+        remainder. 
+
+        * cp-typeck.c (build_function_call_real): added an argument to
+        optionally skip the require_complete_type... implicit template
+        instantiation has to be postponed, so we won't get a complete type
+        until the parser can grab it.
+
+        * cp-call.c (build_overload_call_real): added an argument do
+        allow choice of build_function_call_maybe or build_function_call
+        based on whether we thought we would require a complete type out of
+        build_function_call. 
+
+Wed Oct 16 09:06:57 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* c-decl.c (store_parm_decls): Fix and disable recording the arg
+	type list for the function indicating the number of arguments.
+	* c-typeck.c (self_promoting_args_p): Allow the arg type to be null.
+
+	* expmed.c (store_bit_field, extract_bit_field): Add checks for
+	MEM_IN_STRUCT_P if the structure reference is a MEM.
+
+Tue Oct 15 18:37:50 1991  Ken Raeburn  (raeburn at cygnus.com)
+
+        * cp-call.c (build_overload_call): If template match fails, still
+        set function field of candidate structure, and set bad_arg field to
+        new magic number -4 to indicate failed type unificiation.
+
+        * cp-class.c (add_method): Call make_function_rtl only if not
+        processing a template declaration.
+
+        * cp-tree.def: New node type, UNINSTANTIATED_P_TYPE, for
+        parameterized types that haven't had parameters filled in yet.
+        Looks like a type node.
+
+        * cp-decl.c (struct binding_level): New flag indicating any name
+        should be accepted when looked up at this level.  This is a kludge
+        to try to deal with methods of parameterized types.
+        (declare_uninstantiated_type_level): Set it.
+        (uninstantiated_type_level_p): Return it.
+        * cp-class.c (pushclass): If the "class" type is
+        UNINSTANTIATED_P_TYPE, flag it in the new binding level.
+
+        * cp-decl.c (push_overloaded_decl): New argument to indicate
+        whether the decl should be forgotten when the current level is
+        exited.  Callers changed.
+        (push_overloaded_decl_top_level): Ditto.
+        (dont_forget_overload): Deleted.
+        (push_overloaded_decl_1): New fn; like push_overloaded_decl, but
+        never forgets.  Intended only for use by auto_function macro.
+        (auto_function): Use it.
+
+        * cp-decl.c (print_binding_level): Print type-shadowed field at
+        each level.  Skip fields with no values.
+
+        * cp-decl.c (adjust_type_value): Use SET_IDENTIFIER_TYPE_VALUE,
+        not set_identifier_type_value.
+
+        * cp-decl.c (pushdecl): Undo Oct 4 back-out of previous change.
+        Set type value of name of passed decl, instead of name of type in
+        passed decl.
+        (pushdecl_top_level): Search type-shadowed fields of outer binding
+        levels, munging outermost one if found to cause it to "restore" the
+        new global value.
+
+        * cp-decl.c (push_overloaded_decl): Don't punt second or later
+        templates of a given name.
+
+        * cp-decl.c (start_decl): Template-handling code moved up, to
+        cope better with variable declarations.  Don't check for incomplete
+        type or constructor requirements when processing template.
+
+        * cp-decl2.c (build_push_scope): If passed error mark node, just
+        return it.
+        (constructor_name): Handle UNINSTANTIATED_P_TYPE.
+
+        * cp-lex.c (identifier_type): Don't return PTYPENAME for function
+        template name.
+
+        * cp-method.c (report_type_mismatch): New magic bad-arg value -4
+        indicates type unification failure.
+        (build_overload_name, case UNINSTANTIATED_P_TYPE): Handle like other
+        template-related types that shouldn't get visibility outside the
+        compiler.
+
+        * cp-parse.y (template_type): Use IDENTIFIER_TYPE_VALUE from
+        name, if expansion doesn't happen.
+        (tmpl.1, tmpl.2): Now type <ttype>.  Value is null or return value
+        from instantiate_class_template.
+        (template_instantiation): Always put copy of decl in global scope.
+        Use pushdecl_top_level instead of setting IDENTIFIER_GLOBAL_VALUE
+        slot.
+        (LC): If type has been or is being defined, push a new type with the
+        same name, to avoid conflict.
+        (try_for_typename): New type <itype>.  Value is non-zero iff type to
+        be pushed uses no template parms and isn't error_mark_node.
+        (scoped_id): Return error_mark_node for template parameter uses, and
+        leave error_mark_node alone.  Only pop class if try_for_typename
+        value is non-zero.
+        (scoped_typename): Ditto.
+
+        * cp-pt.c (end_template_decl): If template decl/class head arg is
+        null, punt.  For non-type templates that didn't come in as template
+        decls, clear public flag.  Such cases shouldn't arise any more; just
+        put in abort call for now until we're sure.  Comment out code for
+        forcibly removing temporary values of template type parms; Michael
+        broke the code and fixed the original problem.  Handle error case
+        where decl to be pushed might be null.
+        (coerce_template_parms): Handle arg list as TREE_VEC as well as
+        TREE_LIST.  If arg list uses template parms, return
+        UNINSTANTIATED_P_TYPE node.
+        (uses_template_parms, case UNINSTANTIATED_P_TYPE): Return 1.
+        (instantiate_class_template): Now returns tree -- error_mark_node or
+        NULL_TREE or class type; callers and decls changed.  Assign
+        TYPE_NAME field when building new RECORD_TYPE and TYPE_DECL nodes.
+        Don't need to do extra poplevel any more.
+        (tsubst): Handle UNINSTANTIATED_P_TYPE, MINUS_EXPR, PLUS_EXPR,
+        NEGATE_EXPR.
+        (undo_template_name_overload): Don't need to explicitly clear type
+        field any more.
+        (overload_template_name): Push a TYPE_DECL, instead of explicitly
+        setting type value field.
+        (end_template_instantiation): Don't need to pop a level any more.
+        (reinit_parse_for_template): Throw away saved block for null or
+        error template node.
+        (type_unification): Handle variadic functions, and functions with
+        default values for arguments.
+        (unify): Handle TREE_VEC and UNINSTANTIATED_P_TYPE.
+
+        * cp-ptree.c (print_lang_type): Handle UNINSTANTIATED_P_TYPE.
+
+        * cp-tree.h (push_overload_decl): Declare here, not in
+        cp-decl.c.
+        (TEMPLATE_TYPE_* macros): Delete unused (and now incorrect)
+        versions.
+
+Mon Oct 14 14:30:32 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* integrate.c (expand_inline_function): Fix typo from last edit,
+	where TYPE_MODE was applied to an argument, not the type of an
+	argument.
+
+	* cse.c (canon_hash, SUBREG case): Add cast which is needed by some
+	compilers.
+
+Mon Oct 14 07:59:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* toplev.c (rest_of_compilation): Compute the function's name and
+	pass it to assemble_{start,end}_function.
+	* varasm.c (assemble_start_function): New parameter.
+	(assemble_end_function): New function for ASM_DECLARE_FUNCTION_SIZE.
+	* final.c, sdbout.c: Correct comments.
+	* tm-svr4.h, tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): Add and use a
+	NAME parameter.
+	* tm-m88k.h (ASM_DECLARE_FUNCTION_SIZE): Override svr4 definition.
+	* out-m88k.c (output_prologue): Delete previous method.
+
+	* m88k.md: Use trap_if.
+	(divsi3): Store into output operand only once to aviod problems
+	with REG_EQUAL note.
+	* out-m88k.c (output_call): Accomodate assembler range
+	restriction.
+	* tm-m88kdgux.h (AS_BUG_IMMEDIATE_LABEL): Specify the restriction.
+	(ASM_SPEC): Pass -KV3 to the assembler in some cases.
+	* tm-m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the addressing base
+	register global.
+
+Sat Oct 12 00:30:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (.SUFFIXES): Rule added.
+
+	* dbxout.c (dbxout_block): Handle debug_info_level.
+	* sdbout.c (sdbout_begin_block): Likewise.
+	* toplev.c (compile_file): Likewise, when calling init_emit_once.
+	* emit-rtl.c (init_emit_once): Cosmetic change.
+	* Makefile.in (sdbout.o): Include flags.h.
+
+	* configure: Default srcdir from dir in which configure is found.
+
+	* i860.md (floatsidf2): Rewrite to be independant of host machine.
+	(divdf3, divsf3): New patterns.
+
+	* tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Macro deleted.
+	(ASM_OUTPUT_FUNCTION_PREFIX): Macro added.
+
+	* stmt.c (pushcase, pushcase_range, expand_end_case):
+	Don't give "unreachable code" warning for a USE.
+
+	* tm-i386.h (HARD_REGNO_MODE_OK): Fp regs reject TFmode.
+
+Fri Oct 11 16:43:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cse.c (find_comparison_args): Reject VOIDmode to avoid invalid
+	shift.
+
+Fri Oct 11 14:30:31 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (function_types_compatible_p):
+	NULL as arg type matches self-promoting type.
+	(self_promoting_type_p): New function.
+	(common_type): NULL for arg in one fcn type means use arg from other.
+	* c-decl.c (store_parm_decls): Record arg type list for the fn,
+	just to indicate how many args there are.
+
+	* i860.md, out-i860.c, tm-i860.h: Merge many changes by rfg.
+	* tm-i860bsd.h, xm-i860.h: Likewise.
+	* tm-i860v3.h, tm-i860v4.h: New files.
+	* xm-i860v3.h, xm-i860v4.h: New files.
+	* tm-i860v3g.h: Renamed from tm-i860g.h.
+	* configure (i860-sysv3*): Renamed from i860-sysv*.  New filenames.
+	(i860-sysv4*): New alternative.
+
+	* print-rtl.c: New file, split from rtl.c.
+	* Makefile.in (print-rtl.o): New target.
+	(OBJS): Add that target.
+
+	* toplev.c (DEFAULT_GDB_EXTENSIONS): Provide default definition.
+	(main): Use that for -g with dbx format.
+	Don't support -G.
+	* gcc.c (default_compilers): Get rid of -G.
+
+Fri Oct 11 14:30:43 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* stmt.c (expand_anon_union_decl): Correctly handle anonymous
+	unions, whether in memory or registers.
+
+	These were written by Michael Tiemann.
+	The following changes net a 16% speedup compiling some
+	machine-generated CAD synthesis code.
+	* c-decl.c (field_decl_cmp): New function, use as comparison
+	function for qsort.
+	(finish_struct): If there are more than 15 fields, allocate a
+	LANG_TYPE for the FIELD_DECLs, and sort them according to
+	`field_decl_cmp'.
+	* c-tree.h (lang_type): Define a LANG_TYPE for RECORD_TYPEs.
+	* c-typeck.c (build_component_ref): If LANG_TYPE set, then use
+	binary search to find the field, otherwise use linear search as
+	before.
+
+	* tree.h: Declare savealloc.
+	* c-common.c: Delete now unnecessary cast of savealloc result.
+
+Fri Oct 11 10:06:09 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cse.c (simplify_binary_operation): Fix typo in last change.
+
+	* cp-*, gcc.texinfo, make-cc1.com, tree.c, undocumented: Change
+	cplus- to cp-.  Rename cplus-parse.y to cp-parse.y.
+
+Fri Oct 11 07:48:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (find_single_use_1): Ignore appearances of DEST in
+	contexts where it is being set, not referenced.
+	(find_single_use): Use dead_or_set_p instead of looking for REG_DEAD
+	notes.
+
+Fri Oct 11 07:29:33 1991  Ron Guilmette  (rfg at ncd.com)
+
+	* c-parse.y, cp-lex.c, objc-parse.y (check_newline):	Use `pedwarn'
+	instead of `error' when we see an #ident if -pedantic.
+	* cccp.c (do_assert, do_unassert, check_assertion, do_sccs): Warn
+	if -pedantic.
+
+Thu Oct 10 18:30:28 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* gcc.c (default_compilers): Correctly handle new debugging
+	options, pass all -g* and -G* options.
+
+	* Makefile.in, c-decl.c, cp-decl.c, final.c, flags.h, gcc.1,
+	gcc.c, print-tree.c, toplev.c, tree.def, tree.h: Delete support
+	for obsolete GDB_DEBUG format, -gg option, symout.c, etc.
+	* gdbfiles.h, symseg.h, symout.c: Delete obsolete files.
+
+Thu Oct 10 17:56:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (convert_move): When widening FROM to multi-word, ensure that
+	we only reference each piece of TO once so that emit_no_conflict_block
+	can be safely used.
+
+	* toplev.c (float_signal): Re-enable the signal after we catch it.
+
+	* cse.c (simplify_binary_operation): Add missing fp error handler
+	setup in DFmode case.
+
+	* combine.c (subst, case XOR): Fix typo in checking for
+	STORE_FLAG_VALUE equal to just the sign bit.
+	(simplify_comparison): Fix typo in computing maximum signed number in
+	a mode; also, use GET_MODE_MASK rather than trying to compute it.
+
+Thu Oct 10 17:52:44 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+ 	* c-decl.c (init_decl_processing): Turn off `alloca' for -ansi.
+	(c_decode_option): Handle -fbuiltin, -fno-builtin.
+
+Thu Oct 10 17:42:03 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* caller-save.c (emit_mult_restore): Initialize MAYBE_TEMPREG.
+
+	* function.c (assign_parms): Set MEM_IN_STRUCT_P when creating a
+	MEM for a aggregate passed by reference.
+	* expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P
+	when dereferencing an aggregate.
+
+	* sched.c (sched_note_set): Add missing parens.
+
+	* sparc.md: Delete unnecessary clobbers from all SCC patterns.
+
+	* integrate.c (expand_inline_function): Correct handling of arguments
+	passed by invisible reference.
+
+	* cse.c (canon_hash): Compute hash code for SUBREG same as we do
+	for REG.  Otherwise, SUBREG hash codes can change when qty_const
+	changes, which results in duplicate SUBREG entries, which can
+	cause a crash.
+
+Wed Oct  9 15:55:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* cccp.c (main): Update MAX_INCLUDE_LEN if GCC_EXEC_PREFIX gets into
+	the act.
+
+	* xm-a29k.h: Change copyright message back to GPL version 2.
+	* xm-a29k-ultra.h: Use GPL version 2 copyright.
+
+	* reload1.c (reload): Put array size in cast, to prevent compiler
+	warning.
+
+	* dwarfout.c (type_attribute): Check for ERROR_MARK nodes.
+
+Wed Oct  9 13:59:22 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* toplev.c (float_signal): Reenable handler.
+
+	* configure: Comment out various options not yet updated.
+
+	* cp-*.c, cp-*.h: Renamed from cplus-*.[ch].
+	* Makefile.in: Renaming here also.
+
+	* x-*: Renamed from make-*.
+	* Makefile.in (tmake_file, xmake_file): New vars.
+	(Makefile): Depend on them.
+	* configure: Replace host_make_var_file with host_xmake_file.
+	Handle tmake_file also, for target machine.
+	Form file names from x- and t-.
+	Rearrange use of temporary files during editing of Makefile.
+
+	* t-mips: Most of x-mips moved here.
+	* t-decrose: Likewise from x-decrose.
+
+	* xm-a29k-ult.h: Renamed from xm-a29k-ultra.h.
+
+	* Makefile. in (install-common): Don't handle `collect' specially.
+	It should be in EXTRA_PASSES if it is needed.
+
+	* cse.c (simplify_binary_expression): Use float handler for DF like SF.
+	Don't warn about traps; leave them for run time.
+
+	* tm-hp9k320.h (SIZE_TYPE): New definition.
+	Note: this affects tm-3b1.h by inheritance.  Not sure that's right.
+
+Wed Oct  9 12:15:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* rtl.def (TRAP_IF): Make TRAP into a conditional trap.
+	* rtl.h (TRAP_CONDITION): Define.
+	* rtlanal.c (reg_referenced_p may_trap_p): Deal with TRAP_IF properly.
+	(volatile_refs_p side_effects_p): Not currently true for TRAP_IF.
+
+Wed Oct  9 03:55:21 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* make-mips (BISONFLAGS): Assignment deleted.
+
+	* real.h (REAL_VALUE_MINUS_ZERO): New macro.
+	* fold-const.c (target_minus_zero): New function.
+	* tm-sun2os4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
+	(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND):
+	Use REAL_VALUE_ISINF, REAL_VALUE_MINUS_ZERO.
+
+Tue Oct  8 17:56:13 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (duplicate_decls): If redeclaring builtin as static,
+	replace the old decl.
+
+	* tm-seq386.h (HARD_REGNO_MODE_OK): Copy usual def into override def.
+
+	* tm-news.h (CPP_PREDEFINES): Get rid of invalid conditionals.
+	* tm-tower.h: Likewise.
+
+	* tm-gmicro.h (MODES_TIEABLE_P): Fix typo.
+
+	* ns32k.md (rotrsi3): Fix typo `NEGATE' for `NEG'.
+
+	* c-typeck.c (mark_addressable): Handle CONSTRUCTOR.
+	* expr.c (expand_expr): Handle addressable contructors.
+
+Tue Oct  8 14:42:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* expmed.c (lshift_value): Ensure the shift amount is in range.
+
+Mon Oct  7 20:45:35 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* integrate.c (function_cannot_inline_p, save_for_inline_copying,
+	save_for_inline_nocopy, expand_inline_function,
+	output_inline_function): Use GET_RTX_CLASS.
+
+	* listing: Remove RCS Author and Log fields.
+
+	* cse.c (exp_equiv_p): Fix typos in comments/spacing.
+	* emit-rtl.c: Likewise.
+	* expmed.c (store_fixed_bit_field): Likewise.
+	* integrate.c (subst_constants): Likewise.
+
+	* longlong.h: Again fix same typo previously fixed Sept 5.
+
+Mon Oct  7 17:28:23 1991  Michael Meissner  (meissner at osf.org)
+
+	* xm-mips.h (MIPS): Define MIPS to 1 instead of nothing, so
+	mips-tfile will compile once again.
+
+Mon Oct  7 17:10:32 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cccp.c (main): Pedantically warn if no newline at end of file.
+	(finclude): Likewise.
+
+	* c-decl.c (grokdeclarator): funcdef_flag overrides parm level.
+
+Sun Oct  6 16:37:31 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* sparc.md (peephole for lo-sum and load df): Use output_move_double.
+
+	* tree.h (DECL_BUILT_IN_NONANSI): New flag.
+	* c-decl.c (init_decl_processing): Set flag for `alloca'.
+
+	* c-decl.c (duplicate_decls): Rearranged to reduce conditionals.
+	Allow redefining built-in functions as static even if new decl
+	is not a function.  Also allow if built-in is not ANSI.
+
+	* out-sparc.c (output_move_double): Fix typo in test for using ldd.
+
+Sun Oct  6 12:56:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Rename var added in last
+	change; some C compilers don't like "optab optab;".
+
+Sun Oct  6 09:26:55 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-method.c (build_overload_name): When walking up contexts, if
+	CONTEXT becomes a _TYPE node, point it at the _DECL node for the
+	type.
+
+	* cplus-decl2.c (grokclassfn): Paremeter COMPLAIN deleted.  No
+	longer performs sanity check by itself.
+	(check_classfn): New function.  Performs sanity check that
+	`grokclassfn' used to do.  All callers changed.
+
+	* tree.h (struct tree_decl): Add new ignored_flag; delete
+	lang_flag_8 to make room.
+	(DECL_IGNORED_P): New macro.
+	(DECL_LANG_FLAG_8): Deleted.
+	* cplus-dbxout.c (dbxout_type): Use this macro instead of
+	ANON_AGGRNAME_P.
+	* cplus-decl.c (pushtag): Set DECL_IGNORED_P when appropriate.
+	* cplus-decl.c (duplicate_decls): Ensure DECL_IGNORED_P remains
+	consistent.
+
+	* cplus-decl.c (grokfndecl): If we have an overloaded operator, set
+	the DECL_NAME to something that dbxout.c can handle.
+	* cplus-method.c (hack_operator): Change this function to handle
+	this new behavior.
+	* cplus-init.c (do_friend): Ditto.
+
+Sat Oct  5 14:32:01 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* expmed.c (expand_mult): Avoid fetching memory more than once.
+
+	* tm-ultrix.h (DOLLARS_IN_IDENTIFIERS): Define as 1.
+
+	* expr.c (expand_builtin): Clarify error message for BUILT_IN_NEXT_ARG.
+
+Sat Oct  5 08:42:02 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (clear_anon_tags): New function.
+	(make_anon_name): Moved here from cplus-method.c.
+	* cplus-lex.c (check_for_missing_semicolon, note_list_got_semicolon):
+	call `clear_anon_tags' when done.
+	* cplus-dbxout.c (dbxout_type): No longer test ANON_AGGRNAME_P for
+	TYPE_NAMEs that are IDENTIFIER_NODES.  They no longer appear in GNU
+	C++.  Also, we can rely on the fact that there are no anon aggrnames
+	in tag lists.
+
+	* cplus-decl.c (xref_tag): Set TREE_VEC_LENGTH (BINFOS) to the
+	number of basetypes that were actually accepted.
+
+	* cplus-parse.y (datadef, fndef): Accept `extern "C"' as a storage
+	class specifier.
+
+	* cplus-init.c (build_new): Handle allocating types whose TRUE_TYPEs
+	start off as ARRAY_TYPEs.
+
+	* cplus-typeck.c (build_unary_op): We don't need to wrap
+	CURRENT_CLASS_DECL in a NON_LVALUE_EXPR when taking the address of
+	C_C_D.
+
+	* cplus-init.c (resolve_offset_ref): Fix error message for
+	non-static member references.  Also, don't crash if EXP is not a
+	TREE_LIST or an OFFSET_REF.
+
+	* cplus-expr.c (cplus_expand_expr): Handle OFFSET_REFs.
+
+	* cplus-typeck.c (build_binary_op_nodefault): If PEDANTIC, don't
+	permit comparisons between pointers and integers.
+
+	* cplus-decl2.c (explicit_warn_return_type): New variable.
+	* cplus-decl.c (grokdeclarator): Test `explicit_warn_return_type'
+	instead of `warn_return_type'.
+
+	* cplus-decl.c (grokdeclarator): Fix criterium for deciding whether
+	to turn a FUNCTION_TYPE declaration into a METHOD_TYPE declaration
+	based on FRIENDP and STATICP.
+	(implicitly_declare): If PEDANTIC, treat this as an error.
+
+	* cplus-cvt.c (convert_to_integer): Make anachronisms errors if
+	PEDANTIC is nonzero.
+
+	* cplus-typeck.c (convert_for_assignment): If PEDANTIC, don't let
+	void * convert to non-void* types.  Similarly, don't let const*
+	pointers be assigned to non-const* pointers.  Similarly for signed
+	vs. unsigned pointers.
+	(warn_for_assignment): Add new parameter SEVERE.
+
+	* cplus-decl.c (push_overloaded_decl): If PEDANTIC, give error when
+	functions overload variables.
+
+	* cplus-decl2.c (grokfield): If PEDANTIC, don't let fields have
+	initializers (conditionalized on PEDANTIC).
+	* cplus-class.c (finish_struct): Set TYPE_GETS_{ASSIGNMENT,INIT_REF}
+	for UNION_TYPE.
+
+Sat Oct  5 06:52:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Case for X ? A + 1 : A can
+	also handle MINUS_EXPR and BIT_*_EXPR.
+
+	* rtl.h (copy_rtx_if_shared): Declare here.
+	* emit-rtl.c (unshare_copies): Delete unused variable.
+	(copy_rtx_if_shared): No longer static.
+	(reset_used_flags): New function.
+	* combine.c (copy_substitutions): Deleted.
+	(try_combine): When making new insns, ensure that we do not have any
+	improper sharing by using copy_rtx_if_shared; no longer call
+	copy_substitutions.
+
+	* combine.c (try_combine): If an insn that is a PARALLEL of two sets
+	isn't recognized and the result of the second SET is unused, ignore it.
+
+Fri Oct  4 15:25:33 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (set_identifier_type_value): New function.  Change
+	all callers of macro SET_IDENTIFIER_TYPE_VALUE to call this function
+	instead.
+
+	* cplus-decl.c (pushdecl): Back out Sep 26 change.  ??? This problem
+	really has to be solved in a more global fashion.
+	(struct binding_level): New field `type_shadowed' for typenames that
+	get shadowed.  All pop* routines that restore from shadowed lists
+	now restore IDENTIFIER_TYPE_VALUE from the `type_shadowed' field.
+
+Fri Oct  4 14:47:52 1991  Michael Meissner  (meissner at osf.org)
+
+	* sdbout.c (include of syms.h): Don't include <syms.h> on MIPS
+	systems, since the system does not provide the file, rather use
+	"gsyms.h".  This is a problem for Silicon Graphics, and the System V
+	varient on RISC-OS, both of which define the USG macro.  Patch from
+	jonathan@isor.vuw.ac.nz.
+
+Fri Oct  4 13:37:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* stor-layout.c (get_best_mode): Add a volatilep parameter
+	indicating that the smallest mode is desired.
+	* expmed.c, fold-const.c: All callers changed.
+	(optimize_bit_field_compare): Initialize {l,r}volatilep now that
+	they are used.
+
+Thu Oct  3 22:08:45 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* objc-actions.h (CLASS_SUPER_NAME): Change type.basetypes to
+	type.binfo so that it will compile.
+
+Thu Oct  3 06:46:38 1991  Niklas Hallqvist  (niklas at appli.se)
+
+        * cplus-tree.h (PARANOID): Don't define if already defined.
+	({SET,CLEAR}_CLASSTYPE_MARKED*): New macros needed to get through
+	C compilers who don't allow comma expressions as lvalues.
+	({SET,CLEAR}_BINFO_*): Ditto.
+
+	* cplus-init.c: Use new SET/CLEAR macros.
+
+	* cplus-search.c: Ditto.
+	
+	* cplus-decl.c: Ditto.
+	(lookup_tag): Accept *_DECLs as nodes in the context chain.
+	(lookup_nested_type): Accept FUNCTION_DECLs not only as head of
+	the context chain, but at any place in it.
+
+Thu Oct  3 06:42:08 1991  Michael Meissner  (meissner at osf.org)
+
+	* c-decl.c (c_decode_option): Add new switch -Wparentheses and
+	-Wnoparentheses to control whether GCC warns about adding extra ()'s
+	around a subexpression.  Make -Wparentheses default behavior.
+	(warn_parentheses): New global variable.
+
+	* c-tree.h (warn_parentheses): New variable.
+
+	* c-typeck.c (parser_build_binary_op): Check for warn_parentheses
+	before emitting warnings about adding ().
+
+Wed Oct  2 20:51:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* gcc.texinfo: Correct documentation for CONSTANT_ADDRESS_P,
+	CONSTANT_P, and HIGH.
+
+Wed Oct  2 15:08:32 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-class.c (modify_vtable_entries): Fix error in computing
+	offsets to use for virtual functions from virtual baseclasses.
+	* cplus-except.c (lookup_exception_type): Change local variable name
+	`binfo' to `link'.
+	* cplus-lex.c (yylex): Cast shorts to (long) when building longlong.
+
+Wed Oct  2 11:32:35 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-encrose.h (new file): New configuration file for Encore
+	Multimax running OSF/1, and using the OSF/rose object formats.
+
+Wed Oct  2 08:33:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tree.h (TYPE_UID): Add this field to TYPE nodes.
+	* tree.c (make_node): Initialize it.
+	* dwarfout.c (TYPE_NAME_FMT): Use TYPE_UID rather than TREE_UID.
+	(equate_type_number_to_die_number): Discard type qualifiers.
+	(output_typedef_die): Don't use equate_type_number_to_die_number.
+
+Wed Oct  2 08:04:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_process_notes): Fix typo; missing arg in return.
+
+Wed Oct  2 06:56:13 1991  Ron Guilmette  (rfg at ncd.com)
+
+        * Makefile.in (ENQUIRE_CFLAGS): Remove duplicate use of GCC_CFLAGS.
+
+	* Makefile.in (cplus-tab.c): Adjust number of expected conflicts.
+
+	* Makefile.in (mostlyclean): Remove collect and collect2.
+   
+	* tm-svr4.h: Add new file; prototype for System V, Release 4.
+
+Tue Oct  1 23:00:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads_address): Fix error in previous change;
+	clean up REG case so it is easier to read.
+
+Tue Oct  1 14:05:46 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (finish_{decl,function}): Use new function
+	`note_debug_info_needed' instead of setting CLASSTYPE_ASM_WRITTEN.
+	* cplus-search.c (note_debug_info_needed): New function.
+	Recursively set CLASSTYPE_ASM_WRITTEN in a hierarchy when called.
+
+	* cplus-class.c (finish_struct): If DECL_NAME of the BASE_FNDECL is
+	NULL_TREE, we know we're looking at a virtual destructor.
+
+Tue Oct  1 09:47:25 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (OPTIMIZATION_OPTIONS): Enable scheduling insns now for
+	-O2 optimization.
+
+	* Makefile.in (STAGESTUFF): Add $(EXTRA_PASSES), to allow moving any
+	extra passes into the stage[1234] directories, and to remove the
+	extra stuff when doing make clean.
+
+Tue Oct  1 08:35:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): Undo this change.
+
+	* c-decl.c (grokdeclarator): When making an unsigned bitfield
+	type from a typedef, preserve the size.  A typedef of an
+	explicitly signed typedef is explicitly signed.
+
+Mon Sep 30 22:51:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c: Fix misc typos and indentation problems.
+	Delete all unnecessary extern declarations.
+	Include "recog.h".
+	Consistently use Pmode instead of SImode for addresses.
+	Use macros defined in tm-sparc.h instead of magic numbers.
+	(reg_or_0_operand): Accept CONST_DOUBLE zero.
+	(symbolic_operand): Accept CONST_DOUBLE.
+	(move_operand): Accept arith_double_operand ('H'), SMALL_INT
+	('I'), and sethi operands ('K').
+	(move_pic_label): Renamed from move_reg_or_immed_operand.  If
+	flag_pic is true, accept a LABEL_REF, otherwise fail.
+	(arith_double_operand): Accept SMALL_INT ('I') CONST_INTs.  Correct
+	computation of when a CONST_DOUBLE is a SMALL_INT ('H').
+	(eligible_for_epilogue_delay): Accept arith_double_operands.
+	(emit_move_sequence): Handle arith_double_operands.  Handle
+	loading of labels for pic, need to add a clobber of %o7 (reg 15).
+	(find_addr_reg): Don't return FRAME_POINTER_REGNUM.  It is not
+	safe to play around with the frame pointer.
+	(hard_regno_mode_ok): Change from short to int array.
+	(output_pic_sequence, output_pic_sequence_2, fp_zero_hook): Delete
+	long obsolete routines.
+	(print_operand): Delete support for obsolete 'S' and 'H' cases.
+	(output_double_int): New function.  Outputs assembler code for 64
+	bit (DImode) values.
+
+	* sparc.md: Fix misc typos and indentation problems.
+	Delete unnecessary (set_attr "type" "binary") lines.
+	Consistently use %a1 in sethi and ori output templates.
+	Consistently use Pmode not SImode for addresses.
+	Consistently use the same predicate for both operand 1 and
+	operand 2 in commutative patterns.  Don't use same predicate in
+	non-commutative patterns.
+	Consistently use \; to separate multiple instuctions.
+	Change "r%" to "%r".
+	(define_attr length): Handle arith_double_operand predicate.
+	(movsi): Combine two movsi patterns into one, except for loading
+	of pic labels.	New pattern to load pic labels, which clobbers %o7.
+	(movhi): Combine two movhi patterns into one.
+	(movqi): Combine two movqi patterns into one.
+	(movdi): Discourage the Q/f constraint option so that DImode
+	variables won't end up in floating pointer registers.
+	(floatsisf2, floatsidf2): Delete patterns accepting a const_int
+	operand.  These should never be matched.  In remaining patterns,
+	accept nonimmediate_operand instead of general_operand.
+	(adddi3, subdi3, anddi3, iordi3, xordi3, xnordi3, one_cmpldi2):
+	Accept arith_double_operand predicates and "HI" constraints.
+	(last peephole): Reg 0 should be CCmode not SImode.
+
+	* tm-sparc.h: Fix misc typos.
+	(WORDS_BIG_ENDIAN): Indicate why it must be true.
+	(hard_regno_mode_ok): Change from short to int array.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Add new 'H' constraint, for DImode
+	constants that can fit in an immediate field.
+	(CONSTANT_ADDRESS_P): Accept any CONSTANT_P, including
+	CONST_DOUBLEs.
+	(LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs if match 'H'
+	constaint.
+	(RTX_COSTS): Define cost for FLOAT to be more expensive than
+	CONST_DOUBLEs, so that cse will prefer the latter.
+	(ASM_OUTPUT_DOUBLE_INT): New macro to output DImode constants.
+
+	* sched.c (schedule_block): When calculating register lifetime
+	info, handle CLOBBERs and USEs.  The code that adds REG_DEAD notes
+	already handles them.
+	(update_n_sets): New function, subroutine of update_links.
+	Given a SET or CLOBBER, updates reg_n_sets as appropriate,
+	depending on whether this is in a deleted or a new insn.
+	(update_links): Call update_n_sets to subtract info for split
+	insn, and add info for insns resulting from the split.
+
+Mon Sep 30 19:06:50 1991  Michael Meissner  (meissner at osf.org)
+
+	* ecoff-cmp (TMP): Fix typo, from jonathan@isor.vuw.ac.nz.
+
+	* mips-tfile.c (toplevel): Don't declare _flsbuf under Silicon
+	Graphics, from jonathan@isor.vuw.ac.nz.
+
+Mon Sep 30 15:54:02 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_process_notes): New function.
+	(cse_basic_block): Call it for each insn.
+	(count_reg_usage): Count usage in a REG_EQUAL note.
+	(delete_dead_from_cse): Call count_reg_usage with insn, not pattern.
+	* loop.c (scan_loop): Replace a register used in a REG_EQUAL note.
+	(find_single_use_in_loop): Two uses in single insn doesn't disqualify.
+	Allow argument to be REG_NOTES.
+	(count_loop_regs_set): Call find_single_us_in_loop on REG_NOTES.
+
+Mon Sep 30 15:47:03 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-call.c (ideal_candidate): Return 0 if the top two candidates
+	have identical rankings but incompatible types.
+
+	* cplus-lex.c (cons_up_default_function): Set DECL_NAME (FN) to
+	NULL_TREE in order to mark the function as being generated by the
+	compiler.
+	* cplus-init.c (emit_base_init): Change to use this interface.
+	* cplus-decl.c (duplicate_decls, redeclaration_error_message): Ditto.
+	(store_parm_decls): Ditto.
+	* cplus-decl2.c (grokclassfn): Ditto.
+	* cplus-dbxout.c (dbxout_type_methods): Ditto.
+	* cplus-class.c (finish_struct_methods): Ditto.
+	* cplus-method.c (fndecl_as_string): Ditto.
+	* cplus-search.c (lookup_fnfields_1): Ditto.
+	(compute_visibility): Ditto.
+	* cplus-typekc.c (build_function_call): Ditto.
+	* cplus-tree.c (lang_printable_name): Ditto.  Also use
+	DECL_ASSEMBLER_NAME instead of DECL_NAME in DESTRUCTOR_NAME_P test.
+	* calls.c (expand_call): Change also needed here.
+
+Mon Sep 30 15:31:53 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* dbxout.c: Include <param.h> before config.h, because it may define
+	MIN and MAX.
+
+	* fold-const.c (const_binop): Delete incorrect short cut for
+	(0 - const).
+
+	* expr.c (do_tablejump): Pass GET_MODE (index) instead of Pmode to
+	emit_cmp_insn, because the latter fails when integers and pointers
+	are different sizes.
+
+	* combine.c (subst): When checking to see if associating helps
+	simplify rtl, make sure we pass the constant operand if any as the
+	second one if this is a commutative operation.
+
+	* cccp.c (rescan): Save obufp_before_macroname as an offset from
+	the start of op->buf instead of as a pointer into the middle, in
+	case op->buf gets realloced.
+
+Mon Sep 30 14:07:20 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): TREE_UID is
+	unique only if the node is TREE_PERMANENT.  Augment the spelling
+	of labels using TREE_UID with the TREE_UID of the current function.
+
+	Changes from Ron Guilmette:
+	* dwarfout.c (output_symbol): Deal with formal parameters with an
+	incomplete tagged type.
+	(output_bound_representation):  Fix for arrays with dynamic bounds.
+
+	Changes from Jim Wilson:
+	* dwarfout.c: Define strrchr to rindex for non USG systems.
+	Use DECL_BIT_FIELD_TYPE not DECL_BIT_FIELD to test for bitfields.
+
+Sun Sep 29 16:29:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.h (indirect_symref_ok): New variable.
+	* reload.c (find_reloads_address): Remove shadowing decls of `tem'.
+	Only allow certain forms addresses as indirect; check
+	indirect_symref_ok to see if (mem (symbol_ref ...)) is a valid
+	address; if not that form or simple, not valid indirect address.
+	* reload1.c (indirect_symref_ok): Define here.
+	(init_reload): Initialize vars used to determine which addrs are valid.
+	(reload): Don't do it here.
+	Update comment to relect what `alter_regs' currently does.
+
+	* tree.h (struct tree_decl): Add new from_inline_flag; delete
+	lang_flag_9 to make room.
+	(DECL_FROM_INLINE): New macro.
+	(DECL_LANG_FLAG_9): Deleted.
+	* c-decl.c, cplus-decl.c (pushdecl): Use DECL_FROM_INLINE instead of
+	TREE_INLINE where appropriate.
+	* cplus-decl.c (finish_decl): Likewise.
+	* integrate.c (integrate_parm_decls, integrate_decl_tree): Set
+	DECL_FROM_INLINE instead of TREE_INLINE.
+	* print-tree (print_node): Print DECL_FROM_INLINE.
+	Delete reference to DECL_LANG_FLAG_9.
+
+Sun Sep 29 12:49:47 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* c-decl.c, c-typeck.c, cplus-decl.c, toplev.c:
+	Set/test TREE_ADDRESSABLE of DECL_ASSEMBLER_NAME, not DECL_NAME for
+	function decls.
+
+	* cplus-class.c: Export `current_lang_stack' and
+	`current_lang_base'.
+	cplus-decl.c (push_overloaded_decl): Allow redeclaration of a
+	function that was previously given a linkage specification at
+	top-level (i.e., not in an explicit linkage arena).
+
+	* cplus-typeck.c (convert_arguments): Strip the `&' from an
+	overloaded function passed as an argument into an ellipses.
+
+Sat Sep 28 15:37:26 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-typeck.c (build_x_binary_op): We have to special-case the
+	failure of MEMBER_REF to be overloaded as an operator.
+
+Sat Sep 28 10:44:36 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): If we find at some point that we need
+	caller-saves, disable elimination of the frame pointer.
+
+	* reload.c (subst_reloads): Re-enable code to prevent making
+	a SUBREG inside a SUBREG.
+
+Sat Sep 28 00:40:51 1991  Ken Raeburn  (raeburn@cygnus.com)
+
+	* cplus-pt.c (do_pending_expansions): Adjust "DECIDE" macro to avoid
+	compiler warning from Sun cc.
+
+Fri Sep 27 17:30:39 1991  Per Bothner  (bothner at cygnus.com)
+
+	* configure[.in]: Move most of the target_vendor switch
+	entries (e.g. next, sun, sony) from the m88k architecture to m68k,
+	where they belong.
+
+Fri Sep 27 16:21:04 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-search.c (recursive_bounded_basetype_p): Add new parameter
+	UPDATE_CHAIN so that function now behaves as comment prescribes.
+	* cplus-search.c (compute_visibility): Fix error in conversion of
+	data structures from list-based to binfo-based nodes.
+
+Fri Sep 27 07:05:57 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* c-decl.c (pushdecl): Fix typo: TREE_EXTERNAL misspelled.
+
+Thu Sep 26 17:36:14 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
+
+	* tm-decrose.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
+
+	* make-decrose (cplus-lex rule): Remove hacks in compiling
+	cplus-lex, since bug in 1.39 inlining was fixed to allow us to
+	compile the module normally.
+
+Thu Sep 26 11:53:49 1991  Ken Raeburn  (raeburn@cygnus.com)
+
+	* cplus-tree.h (TEMPLATE_TYPE_*): Use slower versions that uses tree
+	structures more properly, so accessor macros don't lose.
+
+	* cplus-pt.c (end_template_parm_list): For type parameters, make the
+	new decl be the name of the "type".
+
+	* Makefile.in (cplus-tab.{c,h}): There are now 30 s/r conflicts.
+
+	* cplus-class.c (resolves_to_fixed_type_p, case CALL_EXPR): Deleted
+	duplicate code.
+
+	* cplus-decl.c (poplevel): Deleted duplicate code saving info on
+	accesses to external via non-global decls.
+	(pushdecl): For typedef of unnamed type, don't store new name for
+	type if not at global binding scope.  Also, don't need to test for
+	TYPE_DECL when previous conditional guarantees it.
+	(start_decl): Clear TREE_PUBLIC flag of templates.
+	(finish_decl): For variables in static storage with constructors,
+	force it into data section (out of common storage) only if the name
+	is externally visible.
+
+	* cplus-gc.c (type_needs_gc_entry): If the type has no base types,
+	don't check to see whether they need gc entries.
+
+	* cplus-parse.y (yyprint): Handle SCSPEC and AGGR.
+
+	* cplus-pt.c (end_template_decl): Clear IDENTIFIER_TYPE_VALUE slots
+	for type parameters, then call adjust_type_value.
+	(instantiate_class_template): Do nothing if classname is
+	error_mark_node.
+	(mangle_class_name_for_template): Make buf a static array, since
+	its address gets returned.
+
+	* reload1.c (reload): Provide array size in cast, to avoid compiler
+	warnings.
+
+	From Niklas Hallqvist:
+	* cplus-tree.h (struct template_info): Added new field "aggr", which
+	will be class_type_node or struct_type_node for class or struct
+	templates.
+	* cplus-parse.y (template_def): Pass current_aggr to
+	end_template_decl.
+	(template_instantiation): Use aggr field.
+	* cplus-pt.c (end_template_decl): Argument IS_CLASS is now a tree,
+	used to set the aggr field.
+	(overload_template_name): Use aggr field.
+
+	Suggested by John Carr:
+	* cplus-dbxout.c (dbxout_tags): Don't omit argument to
+	dbxout_finish_symbol.
+	(dbxout_continue): Omit declaration and definition if
+	DBX_CONTIN_LENGTH is not greater than zero, like its calls.
+	(print_int_cst_octal): Ditto, based on defined(WINNING_GDB).
+	* cplus-decl.c (GNU_end_scope): Never used; deleted.
+	(pushdecl): Vars nglobals, len are used only in code under "#if 0";
+	comment out decls as well.
+	* cplus-gc.c (expand_gc_prologue_and_epilogue): Variable "head" was
+	unused; deleted.
+	* cplus-init.c (expand_aggr_vbase_init_1): All args are type tree.
+	(expand_vec_init): Don't return without a value when "initializer
+	ends prematurely".
+	* cplus-method.c (build_overload_nested_name): Pass all necessary
+	arguments in recursive call.
+	* cplus-search.c (pop_type_level): Cast argument to pop_stack_level
+	to proper type.
+	(push_memoized_context): Ditto for push_type_level.
+	(my_copy_node): Unused; deleted.
+	(lookup_fnfields): Add missing arg to get_binfo.
+	(lookup_field): Ditto.
+
+	From Niklas Hallqvist:
+	* cplus-decl.c (push_to_top_level): Handle case of function with
+	unnamed parms.
+	(pop_from_top_level): Ditto.
+
+Thu Sep 26 07:46:08 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* loop.c (scan_loop): Don't eliminate register that is set by 
+	consecutive insns.
+
+Wed Sep 25 18:53:52 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Suppress warnings about mismatch of
+	extern decl when it comes from inlining a function.
+
+	* emit-rtl.c (set_new_first_and_last_label_number): New function.
+	(max_label_num): Use last_label_num if valid.
+	* integrate.c (output_inline_function): Call set_new_...
+
+Wed Sep 25 18:37:36 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* flow.c (find_auto_inc): Set BLOCK_NUM of new insns emitted while
+	making an auto-inc.
+
+	* Makefile.in (getopt*.o): Each file depends on its .c file and on
+	the compiler executable files.
+
+Wed Sep 25 18:18:46 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* toplev.c (debug_info_level): New variable.
+	* flags.h (debug_info_level, enum debug_info_level): New declarations.
+	* toplev.c (main): Rewrite handling of -g* and -G* options.
+	Now -G indicates use of GDB extensions.  -g0 removed.
+
+Tue Sep 24 03:20:07 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* alloca.c: Test __STDC__, not X3J11.
+	Do nothing if alloca is defined as a macro.
+
+Tue Sep 24 09:15:17 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* global-alloc.c (eliminable_regset): New variable.
+	(global_alloc): Compute it and use to turn off conflicts.
+	Refine computation of no_global_alloc_regs when ELIMINABLE_REGS is
+	defined.
+	(mark_elimination): Don't do anything with allocnos and don't do
+	any allocation.
+
+	* reload1.c (eliminate_regs_in_insn): Try to re-recognize insn if
+	we replaced a (set X (plus Y Z)).
+
+Tue Sep 24 06:34:04 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+
+	* cplus-tree.c (virtual_member): Change TREE_VALUE accessor macro to
+	BINFO_TYPE.
+	* tree.h (BINFO_TYPE): New name for BINFO_VALUE.
+	* All cplus-* files: Changed to reflect new name.
+
+Mon Sep 23 12:56:11 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (ASM_SPEC): Fix typo, and close {}'s properly.
+
+Mon Sep 23 10:30:51 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-tree.c (propagate_assoc_offsets): Keep relative offsets of
+	child_child correct when copying children.
+
+	* cplus-class.c Use `BINFO_VALUE' instead of `TREE_VALUE' when
+	accessing the type value of a binfo node.
+	* cplus-decl.c (finish_function): Ditto.
+	* cplus-init.c (build_vbase_delete): Ditto.
+
+Mon Sep 23 06:11:56 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* flow.c (reg_n_refs): Use int, not short.  Short can overflow
+	if we have very deep loop nesting.
+	(allocate_for_life_analysis): Allocate reg_n_refs as int.
+	* regs.h (reg_n_refs): Now int.
+	* sched.c: Delete duplicate definitions of objects defined in regs.h.
+
+	* combine.c (try_combine): Correctly check for independent insns
+	in a PARALLEL.
+
+	* combine.c (distribute_note, case REG_DEAD): If we discover a register
+	is never used, see if we can delete the insn that set it.
+
+Sun Sep 22 19:24:52 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-type2.c (build_functional_cast): Don't forget a valid
+	function call if we found one (and nothing more).
+
+Sun Sep 22 07:48:18 1991  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (rtx_varies_p, case REG): Correct typo; sense of comparison
+	was backwards.
+
+	* global-alloc.c (mark_elimination): Don't use HARD_REG_SET macros
+	to access basic_block_live_at_start.
+
+	* reload1.c (set_label_offsets): New function.
+	(offsets_known_at, offsets_at): New variables.
+	(reload): Allocate and initialize them.
+	Set each label in FORCED_LABELS to be at initial offsets.
+	Call set_label_offset on all insns that might involve labels.
+	Use GET_RTX_CLASS when appropriate.
+	(eliminate_regs, mark_not_eliminable): Ignore sets of FP when looking
+	for sets of a "to" register.
+	(eliminate_regs_in_insn): No longer suppress elimination for any
+	pair not at its initial offet at a jump.
+	
+	* combine.c (distribute_links): Correctly find the place to put a
+	link.  Handle the case when we eliminate all uses of something that
+	we used to use; in that case, we must seach forward.
+	No longer need I3, I2, or ALL_ADJACENT arguments.
+	(try_combine): Change calls to distribute_links.
+
+	* reload.c (find_equiv_reg): Use GET_RTX_CLASS when appropriate.
+	If GOAL is a MEM whose address varies, check whether registers
+	that are SET appear in the address rather than assuming they do.
+	Ensure REG_INC note is a REG; ignore it if not.
+
+	* rtlanal.c (rtx_varies_p): Rework to use switch statement.
+	Check for {frame,arg}_pointer_rtx, not just register number.
+	(rtx_addr_can_trap_p): New function.
+	(may_trap_p): Use rtx_addr_can_trap_p instead of rtx_varies_p.
+	* genattrtab.c: Define {frame,arg,stack}_pointer_rtx for rtlanal.c.
+
+	* combine.c (make_extraction): Make a ZERO_EXTRACT for something with
+	pos == 0 if it will be placed in a SET_DEST.
+
+	* expmed.c (expand_shift): Rotate case was missing return statement.
+	extzv case had wrong arg to delete_insns_since.
+	Remove unneeded calls to delete_insns_since.
+	Allow BITS_BIG_ENDIAN to vary at run-time.
+	Use variable TEMP in a consistent manner.
+	Other miscellaneous changes and cleanups were made.
+
+	* flow.c (max_uid_for_flow): New variable.
+	(flow_analysis): Compute maximum uid into max_uid_for_flow; if
+	we might have auto-inc, leave some space.
+	(find_auto_inc): Verify that the uid's of the insns we make are
+	within the allocated space of our per-insn tables.
+	Use get_insns instead of gen_sequence.
+
+	* global-alloc.c (retry_global_alloc): When we allocate a register,
+	update regno_reg_rtx and mark the allocated register live.
+	(mark_elimination): New function.
+	* reload1.c (reload): Call mark_elimination for every elimination
+	we have been able to do.
+	(spill_hard_reg): No longer need to call mark_home_live.
+
+Sun Sep 22 02:07:55 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixincludes: Redirect cmp output to /dev/null; don't close it.
+
+	* varasm.c (assemble_function): Handle ASM_OUTPUT_FUNCTION_PREFIX.
+
+	* final.c (final_scan_insn): No need to goto text section
+	for label on jump table.  We're normally in the text section.
+
+Sat Sep 21 14:59:32 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com:  Fix typo in code that decides if bison needs to be
+	run.  Also, display a message when building the compiler that informs
+	the user about the need to update the assembler.
+
+Sat Sep 21 17:23:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (struct movable): Add field DEPENDENCIES.
+	(scan_loop): Remove mechanism based on REG_TO_FORCE and
+	MOVABLE_TO_FORCE.  Replace with use of new field.
+	Optionally allocate and initialize reg_single_usage and pass it to
+	count_loop_regs_set.
+	If an invariant register is used exactly once and this is a loop
+	that has a CALL_INSN, try to substitute the definition of the register
+	into its use.
+	(record_excess_regs): Fix typo in sense of checking in NOT_IN_THIS;
+	only check pseudo-regs.
+	(libcall_other_reg): Always return the list of registers used,
+	no matter how many there are.
+	(combine_movable): Only combine two movables if they have the same
+	dependencies.
+	(move_movables): Can only move something if its dependencies have
+	already been moved.
+	(find_single_use_in_loop): New function.
+	(count_loop_regs_set): Delete code that prevents moving a reg that
+	is used as a function address.
+	Call find_single_use_in_loop when required.
+
+Sat Sep 21 16:28:34 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_unary_op):
+	Handle const and volatile lvalues correctly in ADDR_EXPR.
+
+	* output.h (current_function_contains_functions):
+	Just declare it, don't define it.
+
+	* cse.c (exp_equiv_p): New arg EQUAL_VALUES.  All callers changed.
+
+Sat Sep 21 12:59:15 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-parse.y (object_star): New rule.
+	(POINTSAT_STAR): New token.
+	* cplus-lex.c (init_lex): Define entry for MEMBER_REF.
+	GNU C++ now overloads `operator->*' according to ARM semantics.  It
+	no longer attempts to implement operator->* as two distinct
+	operations.
+
+Fri Sep 20 18:08:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+        * combine.c (subst): Don't replace a CC0 or a PC in a SET_DEST if
+        FROM is the same thing.
+ 
+	* combine.c (simplify_shift_const): Compute SHIFT_MODE at start of
+	loop and use its width, rather than width of RESULT_MODE, when checking
+	shift count.
+
+Fri Sep 20 10:55:55 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-pt.c (uses_template_parms): Handle COMPONENT_REF case.
+
+Fri Sep 20 00:27:43 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_modify_expr): When assigning to a cast,
+	convert value first to the type being cast to.
+	(build_unary_expr): Disallow adress of a cast.
+
+	* explow.c (allocate_dynamic_stack_space):
+	Handle SETJMP_VIA_SAVE_AREA before rounding to STACK_BOUNDARY.
+
+Thu Sep 19 21:13:17 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (dist, gcc-*.tar, gcc-*.tar.Z): New targets.
+
+	* jump.c (jump_optimize): In handling `if (...) x = a; else x = b;',
+	don't crash if scan reaches start of insns.
+
+	* Makefile.in (protoize): Link with getopt.o and getopt1.o.
+	(unprotoize): Likewise.
+	(protoize.o): Depend on getopt.h.  Pass -D options for include dirs.
+	(unprotoize.o): Likewise.
+	(getopt.o, getopt1.o): New targets.
+
+	* protoize.c: Major rewrite by RFG and RMS.
+
+Thu Sep 19 09:58:25 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	Changes from Ron Guilmette:
+	* dwarfout.c: Keep track of next_block_number correctly.
+	* final.c (final_scan_insn): Don't invoke dwarfout_{begin,end}_block
+	for the outermost block of a function.
+
+Thu Sep 19 06:16:34 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (copy_replacements): New function.
+	* optabs.c (gen_move_insn): Don't call gen_lowpart while reloading
+	is in progress; it calls change_address, which wants to make pseudos.
+
+	* combine.c (subst, case SET): Fix typo in last change.
+
+	* combine.c (distribute_notes): When searching back for a place that
+	uses a register marked REG_DEAD, check for set and reference separately
+	since reg_overlap_mentioned_p doesn't check SET_DEST.
+
+	* combine.c (simplify_shift_const): Correct handling of shift counts
+	that become out-of-range.
+
+	* combine.c (expand_field_assignment): Don't allow sharing the RTL
+	for the inner object.
+
+	* combine.c (can_combine_p, try_combine, record_value_for_reg): Use 
+	reg_overlap_mentioned_p instead in reg_mentioned_p in most places.
+	(distribute_notes, distribute_links): Likewise.
+	(combinable_i3pat): New function, from try_combine.
+	(try_combine): Default I1DEST and I1SRC to zero.
+	New var I1_FEEDS_I3.
+	Delete code to validate I3's pattern from here; call combinable_i3pat
+	instead.
+	If a substitution returns a (clobber (const_int 0)), stop immediately.
+	Don't abort if substitution made new regs; just don't do combine.
+	(subst): If IN_DEST, don't replace a matching object.
+	Don't look at a REG as a SET_DEST.
+	If substitution inside a PARALLEL fails, give up immediately.
+	Return (clobber (const_int 0)) even for a SET whose operand fails.
+	(subst, case SET): Correctly test for low-order SUBREG.
+	Don't use gen_lowpart_for_combine; make SUBREG explicitly since it
+	can't handle modes larger than a word.
+
+	* combine.c (subst, case NOT): Code for (not (ashiftx ..)) was too
+	general; only handle (not (ashift 1 X)).
+	(subst, case NEG): Handle (neg (ashift ...)).
+	(merge_outer_ops): Support NEG.
+	(simplify_shift_const, case NEG): Handle (ashift (neg ...)).
+
+	* cse.c (simplify_binary_operation, case ROTATE, ROTATERT):
+	Rotating all one bits is just all ones.
+
+Thu Sep 19 01:08:14 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-parse.h, cplus-decl.h: Remove trailing comma after the last
+	enum value in enum declarations.
+
+	* cplus-type2.c (digest_init): Set TREE_PURPOSE of union initializer
+	when initializing a union by the first field.
+
+	* cplus-method.c (fndecl_as_string): Test whether DECL_CLASS_CONTEXT
+	is NULL before using it.
+	(dump_aggr_type): New function.  Print aggr type's context when
+	appropriate.
+	(dump_type{_prefix}): Use `dump_aggr_type' to print ENUMERAL_TYPE,
+	UNION_TYPE, and STRUCT_TYPE types.
+
+	* cplus-decl.c (start_decl): Don't use DECL_CLASS_CONTEXT if DECL
+	has no DECL_LANG_SPECIFIC.
+
+Wed Sep 18 21:46:32 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (cur_proc_value): New static to remember the starting
+	location of the current function.
+	(add_procedure): Save current procedure location.
+	(parse_begin, parse_bend): Subtract cur_proc_value from location.
+	(parse_bend): Correct error messages.
+	The above changes are from bothner@cygnus.com.
+
+	* tm-mips.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
+	invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
+	the original .o file before mips-tfile is called.  Pass the correct
+	name for the assembler file.
+	(MASK_MIPS_TFILE): New mask for -mmips-tfile, -mno-mips-tfile, set
+	to 0, since that switch is handled entirely in ASM_FINAL_SPEC.
+	(TARGET_FLAGS): Add -mmips-tfile, -mno-mips-tfile switches.
+	(MUST_SAVE_REGISTER): Allow $30 to be saved, even if not being used
+	as the frame pointer.
+
+	* tm-decrose.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
+	invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
+	the original .o file before mips-tfile is called.  Pass the correct
+	name for the assembler file.
+
+Wed Sep 18 18:54:15 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-*.c: Use DECL_CLASS_CONTEXT to figure out where a (static or
+	non-static) member function is declared, rather than trying to
+	divine the info from TYPE_METHOD_BASETYPE of the function's type.
+
+Wed Sep 18 15:38:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (grokdeclarator): Error if nested function is extern.
+
+Wed Sep 18 02:41:08 1991  Per Bothner  (bothner at cygnus.com)
+
+	* cplus-typeck.c (convert_arguments):  Don't crash if the
+	formal parameter type is unknown (type==NULL) and the
+	actual is a function.  Do the default instead.
+
+Tue Sep 17 22:33:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (check_format):
+	No warning if types match except for signedness.
+
+Tue Sep 17 10:56:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl.c (pushtag): When creating a TYPE_DECL that's in class
+	scope, allocate the space needed for DECL_CLASS_CONTEXT.
+
+	* cplus-search.c (get_abstract_virtuals): If the BASE is not on the
+	main spine, look at the virtuals that come from the most derived
+	class that has BASE on its main spine.
+	* cplus-tree.h (VF_*): New macros for dealing with VFIELDS.
+
+Mon Aug 16 12:09:32 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make.com: Fix typo.
+
+Tue Sep 17 15:13:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-common.c (shorten_compare): Always compute args with side effects.
+
+	* varasm.c (decode_addr_const): Use SYMBOL_REF unchanged in 1st switch.
+
+	* varasm.c (output_addressed_constants):  Handle a CONSTRUCTOR in
+	an ADDR_EXPR correctly.
+	
+	* cccp.c (rescan): For unterm string, mention lineno of first newline.
+
+	* fold-const.c (fold): Call optimize_bit_field_compare in constant case
+	even if not optimizing.
+
+	* c-decl.c (finish_function): Don't clear DECL_INITIAL if nested.
+	(pop_c_function_context): Do it here instead.
+
+Tue Sep 17 11:30:32 1991  Michael Meissner  (meissner at osf.org)
+
+	* collect-osf.c (scan_prog_file): Recognize alternate forms for the
+	constructor and destructor names.
+
+	* osf-main.c (_entry): Provide an alternative function (_entry) to
+	start up the static constructors/destructors.
+
+Mon Sep 16 05:35:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_shift_const): Correct errors involving modes
+	to use for shift.
+
+Sun Sep 15 19:13:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_as_needed): Remove code that deletes insns that
+	create equivalences.
+	(reload): Put it here so it is executed even if reload_as_needed
+	isn't called.
+
+Sun Sep 15 17:13:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (GNULIB2_CFLAGS): Include GCC_CFLAGS.
+	(ENQUIRE_CFLAGS): Likewise (in place of plain CFLAGS).
+
+	* genattrtab.c (main): Don't index by id->insn_code if negative.
+
+	* genrecog.c (write_tree_1): Avoid pos[depth-1] if depth is 0.
+
+Sun Sep 15 15:19:16 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make.com: Modify to allow direct submission to a batch queue.
+	Also, add instructions to build GNU C++ as well as GNU CC.
+
+	* cccp.c (hack_vms_include_specification): If [000000] is present in
+	(implying a physical device or a rooted logical) try to open it.
+	If the open fails, then remove the [000000] (making the name suitable
+	for use with a non-rooted logical name) and return that.
+
+Sun Sep 15 15:12:41 1991  Michael Meissner  (meissner at osf.org)
+
+	* make-mips (Makefile): Remove rule building Makefile, since
+	Makefile.in now has one.
+
+	* make-decrose (Makefile): Remove rule building Makefile, since
+	Makefile.in now has one.
+
+Sun Sep 15 14:12:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makeflags (SYSCALLS.c.X): Use CPPFLAGS and INCLUDES.
+
+Sun Sep 15 12:03:35 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cplus-decl.c (poplevel): Match change made to c-decl.c on Oct 3,
+	1989.
+
+Sun Sep 15 06:52:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* caller-save.c (save_call_clobbered_regs): Deaden registers mentioned
+	in REG_UNUSED notes.
+	(clear_reg_live): Verify that note refers to a REG.
+	(choose_hard_reg_mode): Rewrite to not use specific modes and to
+	handle the case where separate CCmode registers exist.
+
+Sat Sep 14 13:03:29 1991  Michael Tiemann  (tiemann at cygnus.com)
+
+	* all cplus-* files: Change {ASSOC,assoc} to {BINFO,binfo} where
+	appropriate.
+	cplus-tree.h, tree.h: Change name of CLASSTYPE_ASSOC to TYPE_BINFO.
+	Change names of CLASS_ASSOC_* to TYPE_BINFO_*.
+	all cplus-* files: FUNCTION_DECLs that are class methods now have
+	their DECL_VCONTEXT stored in the DECL_CONTEXT.
+	(lang_decl): The VCONTEXT field is now gone.
+	(lang_decl): _DECL nodes in class scope now record the class as a
+	context in the DECL_CLASS_CONTEXT field.
+	tree.h (TYPE_BINFO): Renamed TYPE_BASETYPES to this.
+	dbxout.c (dbxout_type): User of TYPE_BASETYPES changed.
+	(BINFO_{VALUE,OFFSET,VTABLE,VIRTUALS,BASETYPE{S}}): New macros
+	inherited from GNU C++.
+	(DECL_{VINDEX,FCONTEXT}): Ditto.
+	(TREE_VIA_{PUBLIC,VIRTUAL}): Ditto.
+
+Sat Sep 14 09:14:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (reg_set_p): Remove abort for MEM; reg_overlap_mentioned_p
+	now handles that case correctly.
+	REG is set if it is really a MEM and this is a CALL_INSN.
+
+Sat Sep 14 01:34:39 1991  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* configure (vax-ultrix*): New alternative.
+
+	* reload1.c (choose_reload_regs): Always ignore cancelled reloads.
+
+	* real.h (atof): Alternate declaration on MIPS.
+
+Thu Sep 12 18:55:06 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+
+	* optabs.c (expand_binop): Fix carry propagation code for multiple
+	words.
+
+	* tm-*.h: Fix systematic typo in comment.
+
+Thu Sep 12 18:23:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gvarargs.h, va-mips.h, va-sparc.h (_va___list): Was __va_list.
+
+Thu Sep 12 12:53:36 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
+
+	* cpp.texinfo: (titlepage) use @title/@subtitle/@author
+	(copyright page) add note re future C manual; add 1991 to copyrights
+	(general) prepare for easy @smallbook formatting; clarification on
+	strings; less passive; add AMD29K predefined macros; update -d refs,
+	add -dM; add examples; add -pedantic-errors; add -MD, -MMD, -H; fix
+	minor typos.	
+
+Thu Sep 12 07:58:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+
+	* m68k.md (umulsidi3, mulsidi3): New DEFINE_EXPANDs and DEFINE_INSN
+	recognizers.
+
+Wed Sep 11 22:11:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md, romp.md: Update calling sequence to emit_no_conflict_block.
+
+Wed Sep 11 21:06:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (const_binop): Fix last change for ceil and round.
+
+	* gvarargs.h, va-mips.h, va-sparc.h (va_list): Now a macro again.
+	(__va_list): This is the typedef.
+
+Wed Sep 11 16:52:20 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault, RSHIFT_EXPR): Change
+	"shift count" warnings changed to errors back to warnings.
+
+	* cse.c (canon_hash): Also do not record global_regs if
+	SMALL_REGISTER_CLASSES.  Makes the code match the comment.
+
+	* cexp.y (yylex): Add sprintf call to create error message,
+	because yyerror does not call *printf itself.
+
+	* gcc.c (default_compilers): Support new option -traditional-cpp,
+	which passes traditional to cpp, but not to cc1.
+	* gcc.texinfo: Document it.
+
+	* sched.c (INSN_LUID): New variable.  Give instructions logical
+	numbers, which can be used when sorting, to make the scheduling
+	algorithm more stable.
+	(sched_analyze): Initialize it.
+	(rank_for_schedule): Sort on it.
+	(schedule_insns): Alloca(te) it and (b)zero it.
+	(priority):  New priority algorithm.  Don't include latency of
+	current insn, and subtract one from total priority calculated.
+	Makes the scheduling algorithm more stable, and doesn't hurt
+	performance.
+
+	* sched.c (swap_sort): Must pass &insn to rank_for_schedule, not a
+	pointer into the array being sorted.
+
+	* cplus-lex.c (do_identifier): Put function return type on
+	preceeding line.
+
+Wed Sep 11 05:51:00 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-typeck.c (build_binary_op_nodefault): If OP0 or OP1 is a
+	zero pointer, canonicalize it to NULL_POINTER_NODE.
+
+	* expr.c (preexpand_calls): Don't preexpand calls inside a
+	WITH_CLEANUP_EXPR.  The gestalt of a WITH_CLEANUP_EXPRs must be
+	understood at the top level.
+
+	* cplus-tree.c (build_cplus_new): When building cleanup, make
+	the call to the cleanup nonvirtual.
+
+Tue Sep 10 20:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (const_binop): Shortcut for dividing single-word
+	sizes
+
+	* Makefile.in (varasm.o): Depend on insn-codes.h.
+
+Tue Sep 10 19:29:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (expand_binop): Try to open-code muldi3 if we have mulsi3
+	and mulsidi3.  Idea due to tege@sics.se.
+
+	* cse.c (fold_rtx, case MEM): Don't call find_best_addr when insn == 0.
+	Pass 0 to recursive call that tries to fold the address.
+
+Tue Sep 10 18:16:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* m68k.md (fix_trunc*):  Call CC_STATUS_INIT, since these patterns
+	do not leave the condition codes in the expected state.
+
+	* tm-ultrix.h (CPP_PREDEFINES): Add __vax.
+
+Tue Sep 10 04:12:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl.c (finish_decl): Fix bug where the conversion from
+	WITH_CLEANUP_EXPR -> init/cleanup pair was not setting bits of
+	CURRENT_BINDING_LEVEL.
+	(init_decl_processing): Set FLAGS_THIS_IS_VARIABLE before calling
+	`init_exception_processing'.
+
+Mon Sep  9 22:09:27 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-tree.h (prev_class_type): Delete this bogus definition.
+
+	* cplus-class.c (instantiate_type): Don't complain about no static
+	member functions being found until we have been through all the
+	baselinks.
+
+	* cplus-dbxout.c (dbxout_type_methods): Don't write symbol
+	information about methods that were generated by the compiler.
+	(??? Is this really the right thing to do?)
+
+	* cplus-decl2.c (lang_decode_option): Turn on warn_uninitialized if
+	-Wall is the argument.
+
+Mon Sep  9 19:05:01 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* gcc.c (default_compilers): For .S files, pass -traditional not
+	-ftraditional to cpp.
+
+Mon Sep  9 15:01:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (optimize_bit_field_compare): Distinguish NE from EQ.
+
+	* explow.c (allocate_dynamic_stack_space):
+	Handle SETJMP_VIA_SAVE_AREA by allocating extra space.
+
+	* cplus-parse.y (empty_parms): Change inline to __inline.
+
+Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege at zevs)
+
+	* longlong.h (m68000 umul_ppmm): Clobber one register less by
+	slightly rearranging the code.
+
+Sun Sep  8 16:47:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (main, fatal): Delete the deps output file if error.
+	(deps_file): New variable.
+
+	* expr.c (convert_move): Update call to emit_no_conflict_block.
+
+	* expmed.c (CEIL): New macro.
+
+	* optabs.c (expand_binop): Don't do add by words for more than 2 words.
+
+	* c-typeck.c (build_modify_expr): Test TREE_READONLY of lhs.
+
+Sun Sep  8 01:17:47 1991  Torbjorn Granlund  (tege at zevs)
+
+	* sparc.md (sgtu, sleu): Test for SUBREG as well as REG.
+
+Sun Sep  8 07:04:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* optabs.c (emit_no_conflict_block, emit_libcall_block): Rework to
+	accept a list of insns rather than a SEQUENCE.
+	(expand_binop, expand_unop, expand_float, expand_fix): Change calls to
+	above functions.
+	* emit-rtl.c (add_insn): No longer static.
+	* calls.c (expand_call): Change call to emit_libcall_block.
+
+	* cse.c (fold_rtx): Fix typo with parens in associative operation case.
+
+Sat Sep  7 21:49:46 1991  Jim Wilson  (wilson at cygint.cygnus.com)
+
+	* expmed.c (store_bit_field): In the code handling bitfields
+	larger than the word size: set fieldmode to size large enough
+	to hold bitfield; new variable orig_bitsize; don't let
+	bit_offset calculation for WORDS_BIG_ENDIAN hosts go negative.
+	(extract_bit_field): Likewise.
+	(store_split_bit_field): For second word, strip of SUBREG if any
+	before calling operand_subword.  Offset for second word if in
+	memory is the next UNITS_PER_WORD aligned address.
+	(extract_split_bit_field): Likewise.
+
+	* expr.c (emit_move_insn): When emitting multiple move insns in
+	the loop, remember last insn emitted so that it can be returned.
+
+	* tree.c (enum tree_node_kind): Add new entry vec_kind to
+	represent TREE_VECs.
+	(tree_node_kind_names): Add name "vecs" for it.
+	(make_node): Handle TREE_VECs in the 'x' case.
+	(make_tree_vec): Use vec_kind instead of x_kind.	
+
+Sat Sep  7 16:25:50 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-call.c (ideal_candidate): Prefer non-const member functions
+	to const member functions when there is a choice.
+	* cplus-tree.c (propagate_assoc_offsets): Moved here from
+	cplus-class.c
+	(copy_nonvirtual_children): Deleted.
+
+	* cplus-class.c, cplus-tree.c (layout_{v}basetypes,
+	propagate_assoc_offsets, finish_base_struct): New offset
+	computation/hierarchy implementation.  Now the lattice contains
+	vbasetypes with zero-based offsets (and children from these types
+	assume they are zero-based).  The CLASSTYPE_VBASETYPE list contains
+	vbasetypes with hierarchy-dependent offsets (and children from these
+	types have hierarchy-dependent offsets).  Note that now, virtual
+	baseclasses are fully shared in the hierarchy.  The still are not
+	shared at all in the CLASSTYPE_VBASETYPE list.
+	* cplus-decl.c (xref_tag): Share vbasetypes in the lattice.
+	* cplus-tree.h (lang_type): Add CLASSTYPE_VASSOC field so we can
+	share virtual basetypes in inheritance lattices.
+
+Sat Sep  7 13:07:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (cast_expr): Supply OFWHAT arg to digest_init.
+	* c-typeck.c (error_init, pedwarn_init): New functions.
+	(digest_init, process_init_constructor): Use them.
+
+	* out-m68k.c (output_function_prologue):  Add a negative constant
+	to sp rather than adding a positive one, since this is faster.
+
+	* out-m68k.c (output_function_prologue, output_function_epilogue):
+	Use word sized immediates when possible.
+
+	* Makefile.in (install-dir): Don't die if can't create mandir.
+	(install-man): Don't put . in front of manext.
+	(manext): Add . to the value.
+	(mandir): Don't use manext.
+
+	* genextract.c (main): Don't use __builtin_memcpy in GCC 1.
+
+Fri Sep  6 19:29:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* caller-save.c (emit_mult_save, emit_mult_restore): Copy constant to
+	TEMPREG and add integer, instead of the opposite order, which might
+	not work on some machines.
+
+	* fold-const.c (fold): Ensure we always return an object of the
+	desired type.
+
+	* reload1.c (reload, reload_as_needed): reload_in_progress must be
+	set during caller-save processing.
+
+Fri Sep  6 18:36:55 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c (leaf_reg_{remap,backmap}): Define mapping for
+	%o7/%i7, since user-defined registers might reference these.
+	(legitimize_pic_address): Set CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE
+	if ORIG is a LABEL_REF.  For CONST_INT case, don't call force_reg
+	during reload, use REG if available otherwise abort.
+
+Fri Sep  6 17:16:05 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure: Default $cpu_type properly.
+
+Fri Sep  6 05:50:58 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* genextract.c: Generate one large function with a switch, instead
+	of a table of small functions to call.  Use __builtin_memcpy under
+	GNU C.
+
+	* genoutput.c: For "@" constructs, now generates a lookup table per
+	insn, instead of a switch.
+
+Fri Sep  6 15:40:54 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cccp.c (skip_if_group): Deal with invalid directives the same
+	way handle_directive does.
+
+Fri Sep  6 16:37:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* tm-sparc.h (RTX_COSTS): Define costs for MULT and various divides.
+
+	* loop.c (move_movables): Call `gen_lowpart_common' instead of
+	building SUBREG manually.
+
+	* local-alloc.c (block_alloc): When convert scratch to a reg, must
+	set regs_ever_live for all hard registers used by the new reg, not
+	just the first.
+
+Fri Sep  6 07:15:44 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+
+	* gnulib2.c (__negdi2): Change it to work like __subdi3.
+	* gnulib2.c (_udivmoddi4): Make faster special case for CPUs with
+	a udiv_qrnnd that can handle unnormalized (i.e. with less than
+	LONG_TYPE_SIZE significant bit) divisors.
+
+	* gnulib2.c (__muldi3): Cast operands to unsigned.
+
+	* gnulib2.c (__Xcmpdi): Use `long' for all variables for
+	consistency.
+
+	* gnulib2.c (__udivmoddi4): New function with code from __udivdi3,
+	extended to give remaider.
+	* gnulib2.c (__divdi3, __moddi3, __udivdi3, __umoddi3): Use
+	__udivmoddi4.
+	* gnulib2.c: (__moddi3): Result sign is only dependent on U, not V.
+
+Fri Sep  6 05:44:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Accept new arg IN_LIBCALL_BLOCK.
+	If in libcall block, don't record destinations in hash table.
+	Remove explicit use of SFmode and DFmode when checking -ffloat-store.
+	(cse_basic_block): Pass new arg to cse_insn to indicate when we
+	are processing an insn surrounded with REG_LIBCALL/REG_RETVAL notes.
+
+	* optabs.c (emit_libcall_block): New function.
+	(expand_binop, expand_unop): Remove kludge of referencing library
+	function SYMBOL_REF before libcall block.
+	Use emit_libcall_block.
+	(expand_float, expand_fix): Rework library calls to use
+	emit_libcall_block.
+	* calls.c (struct arg_data): Add new field, initial_value.
+	(expand_call): Don't make libcall block for calls that return
+	aggregates.
+	Remove kludge of referencing function SYMBOL_REF outside of block.
+	For constant calls, save RTL for arg in args[i].initial_value and
+	start a sequence.
+	When making REG_EQUAL note, use INITIAL_VALUE instead of VALUE.
+	Use emit_libcall_block for constant calls.
+	* expr.h (emit_libcall_block): Define it.
+
+Fri Sep  6 15:58:52 1991  Torbjorn Granlund  (tege at zevs)
+
+	* longlong.h (68020, i386): Don't define machine-dependent
+	  __umulsidi3 (so the default definition is used).
+	* longlong.h (all machines): Cast all operands, sources and
+	  destinations, to `unsigned long int'.
+	* longlong.h: Add gmicro support.
+
+Fri Sep  6 01:42:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* jump.c (jump_optimize): Delete duplicate line number notes.
+
+Thu Sep  5 19:23:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* configure (romp): Fix typo in name of xm_file.
+
+	* rtlanal.c (dead_or_set_p): If INSN has a CLOBBER for X, X is
+	dead.
+
+	* gnulib1.c (cmpdf2, cmpsf2): Delete unused functions.
+	* gnulib2.c (anddi3, iordi3, xordi3, one_cmpldi2, adddi3, subdi3):
+	Likewise.
+	* optabs.c (emit_cmp_insn): Clean up code now that integer and
+	float comparisons are done differently.
+	(init_optabs): Remove references to unused functions listed above.
+	* Makefile.in (LIB1FUNCS, LIB2FUNCS): Likewise.
+
+Thu Sep  5 18:32:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* m68k.md (zero_extend*): Don't allow memory-memory due to aliasing.
+
+	* expr.c (do_jump): Don't lose if only 1 insn precedes new jump.
+
+	* sparc.md (ashldi3): Fix dumb bug detecting constant 1.
+
+	* out-sparc.c (output_move_double): Use split_double for constant.
+	Properly decrement addreg1.
+
+Thu Sep  5 15:20:25 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* out-sparc.c: Include expr.h and delete extern declarations.
+
+	* rtlanal.c (rtx_equal_p): Correct typo in comment or spacing.
+	* reload1.c (reload): Likewise.
+	* protoize.c: Likewise.
+	* longlong.h: Likewise.
+	* local-alloc.c (block_alloc): Likewise.
+	* jump.c: Likewise.
+
+	* unroll.c (iteration_info): Don't calculate loop iterations based
+	on a giv iterator, since the current code often gives the wrong
+	result.  This case is rare, so it does not seem worth handling at all.
+
+	* sched.c (schedule_insns): When the only sched pass is after
+	reload, must clear unused_insn_list and unused_expr_list then,
+	instead of during the nonexistant pass before reload.
+
+	* sched.c (schedule_block): When calculating estimated IPC, avoid
+	divide by zero.
+
+	* sparc.md: Correct two define_splits for seq/sne patterns of the
+	form `x + (i == 0)', and add a missing `addx' pattern used by
+	these define_splits.
+
+	* toplev.c (fatal_insn_not_found): Correct typo in error message.
+	(main): Include "gsdb" and "gdbx" in warning message when -g is not
+	supported.
+
+	* expr.h (enum expand_modifier): Delete last vestige of
+	EXPAND_INTO_STACK.
+
+Thu Sep  5 13:50:21 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+	* c-typeck.c (digest_init, process_init_constructor): Include the
+	variable name, member name, and/or array indices in error messages.
+	This makes it tolerable to debug large data structure initializers.
+	Reword some messages to work with the name and/or function call
+	argument included.  New arg OFWHAT.  All callers changed except
+	one digest_init call in each of c-parse.y and objc-parse.y.
+	(warn_for_assignment): Reduce to a single message argument,
+	automatically handling formatting for function call arguments.
+	All callers changed.
+	(convert_for_assignment): If ERRTYPE is a null string, this is
+	parameter passing for a function, so output different error messages.
+	(convert_arguments): Pass null string to convert_for_assignment to
+	indicate parameter passing.
+
+Thu Sep  5 13:44:19 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c: Correct typos in comments.
+	(sched_note_set): Don't try to calculate live info for global
+	register variables.
+	(attach_deaths): Don't add REG_DEAD notes for global register
+	variables.
+
+	* tm-sparc.h (SELECT_SECTION): Can't put a variable in text section
+	if flag_pic and RELOC are both true, same test that varasm.c does.
+
+Thu Sep  5 13:15:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (reg_referenced_p): Handle USE and CALL.
+	Use switch instead of if-then-else.
+
+Thu Sep  5 08:03:58 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-class.c (propagate_assoc_offsets): Don't fail to
+	propagate the offset to the rightmost basetype.
+
+	* cplus-decl.c (xref_tag): Allocate nodes for basetype info on
+	permanent obstack, not temporary obstack.
+
+Wed Sep  4 18:53:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fixincludes : Change `m68k' to `__m68k__' in all #if's.
+
+	* Makefile.in (ALLOCA_FLAGS): Add -Demacs.
+	(ALLOCA_FINISH): Put option before input file name.
+	(alloca.o): Supply $(INCLUDES).
+
+	* Makefile.in (GCC_CFLAGS): New parameter.
+	(protoize, protoize.o, unprotoize, unprotoize.o): Use GCC_CFLAGS.
+	(enquire, enquire.o, collect2, collect2.o, SYSCALLS.c.X): Likewise.
+
+Wed Sep  4 18:13:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (make_extraction): When picking up low-order part,
+	ensure that we don't create a non-aligned object if alignment
+	is required.
+
+	* expr.c (emit_push_insn): Ensure we only call force_const_mem on a
+	constant.
+	
+	* config.subr: Set `os' to be the last `-' and everything following it.
+	`romp' is the basic machine name for the rtpc.
+	`aos' is IBM's name for BSD.
+	* configure: Default `cpu_type' to the first field before an
+	optional `-'.
+	Add a29k, a29k-ultra, romp, and rs6000.
+	* xm-a29k-ultra.h: New file.
+
+Wed Sep  4 15:46:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	Changes from Ron Guilmette:
+	* dwarfout.c (output_symbol): Move tests for omitting declarations
+	to dwarfout_file_scope_symbol.  No need for `local' parameter.
+	Use TREE_PUBLIC and TREE_EXTERNAL to determine whether a variable
+	or function is global.
+	(finalizing, dwarfout_file_scope_delayed_symbol): Delete.
+	
+	* toplev.c (compile_file): Delete use of dwarfout_file_scope_symbol
+	for initialized VAR_DECLs.  All global declarations are passed to
+	dwarfout_file_scope_symbol (except function definitions and types).
+
+	(compile_file, rest_of_decl_compilation): Attribute time in
+	{dbxout,sdbout,dwarfout} functions to symout_time.
+
+	* varasm.c (assemble_variable): Check and update TREE_ASM_WRITTEN
+	for a global register variable.
+	Delete use of dwarfout_file_scope_symbol for VAR_DECLs. 
+
+Tue Sep  3 23:34:57 1991  Torbjorn Granlund  (tege at zevs)
+
+	* sparc.md (ashldi3 expander & recognizer): Make shift count have
+	SImode.  Used to have DImode.
+
+	* expmed.c (emit_store_flag): Declare arg UNSIGNEDP.
+
+	* vax.md (adddi3): Make operands 2 and 3 commutative.
+
+	* sparc.md (subtract constant then return): Peephole deleted.
+
+Tue Sep  3 22:23:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (mostlyclean, clean, realclean): Some files were missing.
+
+	* gvarargs.h (va_list): Make it typedef, not macro.
+	* va-mips.h, va-pyr.h: Likewise.
+
+Tue Sep  3 22:07:04 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-init.c (build_vec_delete): Fix off-by-one error for arrays
+	of length 1.
+
+Tue Sep  3 19:30:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Don't pass a STRICT_LOW_PART to
+	reg_overlap_mentioned_p.
+
+	* cse.c (fold_rtx): If INSN is zero, copy X before we change 
+	anything inside it.
+	When looking for associative operation, pass zero as missing arg to
+	recursive call.
+	(find_comparison_args): Add zero for missing arg to fold_rtx calls.
+
+	* reload.c (find_reloads): Correct code that prevents replacing
+	a SET_DEST with a constant so that it correctly looks for an
+	operand being a SET_DEST.
+
+Tue Sep  3 19:17:34 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* out-i386.c (split_di): Call split_double for CONSTANT_P.
+	(fix_op): Delete.
+	(float_op): Don't examine the mode of the FLOAT operand.
+	(output_float_compare): Don't make new %ax RTX: use scratch
+	operand from insn.
+
+	* i386.md (float mode tstM,cmpM,fixuns_truncMN2,fix_truncMN2): Use
+	match_scratch.
+	(float mode tstM,fixuns_truncMN2,fix_truncMN2): Don't gen temp RTX:
+	use scratch operand.
+	(fix_truncMN2,floatMN2): Split pattern into a separate DFmode and
+	SFmode patterns so that operands[1] has a mode.
+	(sCOND patterns): Don't set cc_status to previous status.
+	(cmpstrsi): Don't explicitly reference reg 2.
+
+Tue Sep  3 16:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* optabs.c (expand_binop): Fix carry calculation.
+
+	* varasm.c (decode_addr_const): Given a LABEL_DECL, Make a LABEL_REF.
+	(const_hash): Handle a LABEL_REF.
+	* expr.c (expand_expr): Use FUNCTION_MODE for memref to a LABEL_REF.
+
+	* configure: Fix typo in last change.
+
+	* cccp.c (handle_directive): Normally no error for line with `###'.
+
+Tue Sep  3 10:53:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* out-m88k.c, tm-m88k.h: Delete remnants of the fancy abort.
+	* tm-m88kdgux.h: No longer identify as version DG-*.
+	* m88k files: Update copyright dates.
+
+Tue Sep  3 03:18:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_expr): Get rid of EXPAND_INTO_STACK.
+
+Mon Sep  2 14:07:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (do_spec_1): In %X, terminate the arg after each option.
+
+	* config.subr: If argument contains `local', always accept it.
+	* configure: If machine type contains `local',
+	construct file names from that machine type name.
+
+	* configure: Make config.status a shellscript to redo the configure.
+	No need now to change / to - when storing $(target) in Makefile.
+	Store $(host_make_var_file) in Makefile also.
+	Set host_make_var_file to ../Makefile.in after creating Makefile
+	if no make-... file actually exists for this host.
+	* Makefile.in (host_make_var_file): Dummy definition to be filled in.
+	(Makefile): New rule to rerun `configure'
+
+	* tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
+
+	* tm-mips.h, tm-m88k.h (abort): Macro definition deleted.  It is
+	not right for any machines description to specify use of fancy_abort.
+
+	* protoize.c [v.4]: Include fcntl.h.
+	(execvp): Correct type for second arg.
+	(compile_params): Remove `const'; that loses when calling execvp.
+
+	* cccp.c (directive_table): Typo in entry for do_ident.
+
+	* xm-m68k.h (alloca): Define macro with arg.
+
+	* emit-rtl.c (reorder_insns_with_line_notes):  New function.
+	(find_line_note, emit_line_note_after):  New functions.
+
+	* jump.c (jump_optimize):  When moving else clause before test,
+	only move the insn as far as needed, and use new function
+	reorder_insns_with_line_notes.
+
+Mon Sep  2 03:30:35 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* Makefile.in (collect2): Compile with gcc.
+
+Sun Sep 1 9:03:46 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	Define two macros to eliminate the need for a seperate collect pass.
+
+	* tm-vms.h (ASSEMBLE_OUTPUT_CONSTRUCTOR): Define.
+	(ASSEMBLE_OUTPUT_DESTRUCTOR): Define.
+
+Sun Sep  1 08:14:22 1991  Michael Meissner  (meissner at osf.org)
+
+	* collect-osf.c (main): Print version number if -v.  Also ignore all
+	arguments beginning with -c rather than just '-c'.
+
+	* make-decrose (collect): Add version.o to link.
+
+Sat Aug 31 17:03:23 1991  Michael Meissner  (meissner at osf.org)
+
+	* cplus-input.c (inline macro definition): If inline is already
+	defined, don't redefine it.
+
+	* collect-osf.c (main): Look for gld and gas instead of ld and as,
+	so collect-osf can be installed as ld.  Use a default path of
+	/usr/ccs/gcc to find the linker and assember.  Ignore the -c switch,
+	which GCC uses to say that collect is needed.
+
+	* osf-main.c (__finis): Don't call descructors already called if one
+	of the destructors calls exit (which in turn calls __finis).
+
+	* tm-mips.h (DBX_REGISTER_NUMBER): Use mips_dbx_regno to map
+	register number to debug register number.
+	(GP_DBX_FIRST, FP_DBX_FIRST): New macros, giving the first debug
+	register numbers for gp registers and fp registers.
+
+	* out-mips.c (mips_dbx_regno): New global array to map GCC register
+	number to debug register number, to fix problem with OSF/1 stabs
+	using 38 for the first fp registers, rather than 32.
+	(override_options): Set up OSF/1 SIGINFO signal handler to notmake
+	the interruptable system calls read, write, and wait not return
+	error condition.  Also initialize mips_dbx_regno.
+
+	* make-decrose (CFLAGS): Add $(MSTATS) variable to set -mstats.
+	(CFLAGS_NODEBUG): Like CFLAGS, except no debugging or inlining.
+	(DEB_OPT): Define in terms of DEBUG, OPT, and PROFILE.
+	(cplus-lex rule): Build cplus-lex with no debug or inlinings.
+
+Sat Aug 31 12:52:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (handle_directive): Be more fussy detecting `# LINE' case.
+
+	* cccp.c (directive_table): Pass through and ignore #ident.
+	(do_ident): New function.
+	(skip_if_group): Error if unrecognized directive seen.
+
+	* jump.c (jump_optimize): In converting  x=a; if (...) x=b;  to
+	store flag, insert all the new code in just one line.
+
+	* gcc.c (do_spec_1): Use xmalloc to make linker_options the first time.
+
+	* expr.c (expand_expr): Make EXPAND_SUM and EXPAND_INITIALIZER
+	imply EXPAND_CONST_ADDRESS in all cases.
+
+	* c-decl.c (c_decode_option): -Wall sets warn_uninitialized.
+	* flags.h (warn_uninitialized): Declared.
+	* toplev.c (warn_uninitialized): No longer static.
+
+	* cccp.c (main): Make no assumptions about include_defaults
+	in calculation of max_include_len.  Add fudge space if VMS.
+
+	* reload.c (find_reloads_toplev): New arg IS_SET_DEST.
+	Don't replace reg with constant in destination of a SET.
+	(find_reloads): Pass that arg.  Also don't replace here.
+
+	* cplus-xref.c: Finish installing changes from Youngdale.
+
+Sat Aug 31 09:02:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl2.c (finish_file): Call varasm routines to assemble ctor
+	and dtor lists.
+
+	* cplus-dbxout.c (dbxout_type_methods): Fix error in printing symbol
+	info for classes that only define a destructor.
+
+Sat Aug 31 08:32:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_end_of_basic_block): Correctly handle the case of a basic
+	block where a conditional branch out of the block becomes unconditional
+	and a conditional branch to the end of the block becomes a noop.
+
+	* combine.c (try_combine): In case where we have a PARALLEL
+	involving a load and sign extend, use reg_overlap_mentioned_p
+	instead of reg_mentioned_p.
+	If we have a PARALLEL of two independent SETs, try to split them
+	up into separate insns.
+
+	* combine.c (move_deaths): Instead of placing the REG_DEAD notes
+	on TO_INSN, add them to a list whose address is given as an
+	operand.
+	(distribute_notes): Allow for the case when the death of an object
+	is between I2 and I3.
+	Set reg_last_death to corrspond to the location of the REG_DEAD
+	note being placed.
+	(try_combine): Call move_deaths in new way and pass returned list
+	to distribute_notes if it is non-empty.
+
+	* local-alloc.c (requires_inout_p): Don't have cases for '[Q-U]' unless
+	EXTRA_CONSTRAINT is defined..
+
+	* local-alloc (block_alloc): Don't allocate SCRATCH on machines with
+	SMALL_REGISTER_CLASSES defined.
+
+	* regclass.c (reg_class_record): Add missing case for 'V'.
+
+Fri Aug 30 04:42:19 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* tm-i386.h (OUTPUT_JUMP): Use cc_prev_status.
+
+Fri Aug 30 17:08:52 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* xm-vms.h (LOCATE_START_OF_FILE_NAME): Remove.
+	(FILE_NAME_NONDIRECTORY): Fix typo.
+	(XREF_FILE_NAME): Use FILE_NAME_NONDIRECTORY instead of
+	LOCATE_START_OF_FILE_NAME, and omit the leading underscore in the
+	generated file name.
+	(FILE_NAME_ABSOLUTE_P): Define to use hook in cplus-xref.c.
+	(FILE_NAME_JOINER): Define to use hook in cplus-xref.c.
+
+	* cplus-xref.c: Fix bug in default definition of FILE_NAME_ABSOLUTE_P.
+	(GNU_xref_open): Fix bug - wrong argument to XREF_FILE_NAME.
+	(FILE_NAME_JOINER): New macro.
+	(GNU_xref_file): Use it.
+
+Fri Aug 30 17:30:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cplus-xref.c: Reinstall Aug 25 changes discarded by Tiemann.
+
+	* expr.c (expand_expr): New modifier option EXPAND_INITIALIZER.
+	* varasm.c (output_constant): Use that.
+	* jump.c (forced_labels): New var records labels not to delete.
+	(jump_optimize): Don't delete those labels.
+	* flow.c (find_basic_blocks): Any computed goto goes to those labels.
+	* varasm.c (decode_addr_const): Deal with LABEL_DECL.
+
+Fri Aug 30 15:41:03 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.md (copyleft): Use separate copyright years.
+	(mov*): Use nonimmediate_operand instead of general_operand.
+
+	* tm-mips.h (copyleft): Use separate copyright years.
+
+	* xm-mips.h (copyleft): Use separate copyright years.
+
+	* xm-umips.h (copyleft): Use separate copyright years.
+
+Fri Aug 30 08:47:30 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-typeck.c (build_x_*): Try first calling `build_opfncall'
+	with FLAGS==0.  If that succeeds, check protection.
+	(build_conditional_expr): `fold' does not preserve the type of it's
+	expressions, which is a problem for C++ when trying to keep ints and
+	enums distinct.
+
+	* cplus-decl.c (lookup_name): When there is a choice between seeing
+	a name as a type and seeing as a decl, call `arbitrate_lookup' to
+	make the decision.
+	* cplus-lex.c (arbitrate_lookup): New function.  Uses minute amounts
+	of syntactic context to decide whether to see a name as a type or
+	something else.
+
+Fri Aug 30 07:40:49 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* jump.c (delete_jump): When checking REG_DEAD notes, make sure they
+	have a legal value.
+
+Fri Aug 30 00:57:05 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* local-alloc.c (alloc_qty_for_scratch): Treat Q - U as reg class if
+	EXTRA_CONSTRAINT is not defined.
+	* regclass.c (reg_class_record): Likewise.
+
+Thu Aug 29 21:39:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault): Fix last change.
+
+Thu Aug 29 19:11:05 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (general_operand, const_double_operand): Similar to
+	immediate_operand, don't accept a VOIDmode operand if the
+	caller wants floating.
+	* out-pyr.c (nonindexed_operand): Likewise.
+
+Thu Aug 29 09:53:27 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* cplus-tree.h ({SET,CLEAR}_ASSOC_*): New macros needed because not
+	all C compilers support conditional expressions as lvalues.
+	(lang_type): Change type of MEMOIZED_TABLE_ENTRY and SEARCH_SLOT
+	from `void *' to `char *', to make braindead compilers at less of a
+	disadvantage.
+
+Thu Aug 29 08:07:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (define_function_unit): Update latencies.
+
+	* out-m88k.c (output_function_profiler): Correct offsets for
+	register saves.
+	* tm-m88ksvr4.h (FUNCTION_PROFILER): Use the name _mcount and do
+	register saves.
+
+	* tm-m88k.h (ASM_DWARF_POP_SECTION): Specify "previous".
+
+	Changes from Ron Guilmette:
+	* dwarfout.c (lookup_filename): Only increment valid_ft_entries
+	once when adding a filename to the table.
+	(output_symbol): Do output DIEs for a global VAR_DECL definition.
+
+Thu Aug 29 06:15:32 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+
+	* cplus-type2.c (build_functional_cast): If we have a valid value in
+	`expr_as_conversion' return that before returning error_mark_node.
+
+	* cplus-init.c (expand_recursive_init): Fix typo is testing
+	TYPE_USES_VIRTUAL_BASECLASSES.
+
+Wed Aug 28 23:12:35 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault): For shift and rotate ops,
+	if traditional, use the common type of the operands.
+
+Wed Aug 28 07:31:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarfout.c, dwarf.h, README.DWARF: Replacement files from Ron
+	Guilmette that bring the dwarf implementation up to that defined by
+	draft 4 of the dwarf specification (dated 7/31/91).
+
+Wed Aug 28 06:24:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* all *.md files except a29k.md and romp.md: Don't allow CONST_INT
+	as operand for RTL operations that need a mode to be well-defined,
+	e.g., SIGN_EXTEND, ZERO_EXTEND, TRUNCATE, FLOAT.  Similarly, don't
+	allow CONST_INT as first operand of a COMPARE.
+
+	* machmode.h (MIN, MAX): Undefine these before our definition.
+
+Tue Aug 27 21:33:04 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* version.c: Now 1.95.
+
+Tue Aug 27 18:05:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* reload1.c (possible_group_p): Use earliest class that needs a group.
+
+	* gcc.c (do_spec_1): Handle %x and %X.
+	(link_command_spec): Use %X.  If given -collect, pass -c.
+	(default_compilers c++): Use %x to pass -c to linker.
+
+	* cse.c (find_comparison_code): Don't call fold_rtx,
+	because we don't know which insn to pass for its second argument.
+
+	* cse.c (fold_rtx): Don't fold what we get from lookup_as_function.
+
+Tue Aug 27 17:46:59 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (rtx_cost): A USE is free; it is likely being used as a marker.
+
+	* cse.c (cse_insn): If we decided not to make a reg-reg copy between 
+	equivalent regs into a no-op, see if there is an equivalent constant
+	that is cheaper than the register we decided to use.
+
+	* cse.c (cse_insn): Fix arg in insert_regs call when making a
+	secondary equivalence due to a SUBREG; we are not modifying the
+	register.
+
+	* cse.c (delete_dead_from_cse): Treat a SET that copies a register
+	to itself as if it were setting a dead register.
+
+	* cse.c (find_comparison_args): Call fold_rtx on the args that we
+	are about to return.
+	(fold_rtx, case SUBREG): Copy code from equiv_constant that looks up
+	a SUBREG in the hash table.
+	If our our folded operand is equivalent to a constant, use that when
+	seeing if we can get a part of a constant.
+	(fold_rtx): Don't short-circuit recursive call for an operand that
+	is a SUBREG; add comment in REG case that we are doing equiv_constant.
+	When looking for associative operation, call fold_rtx on potential
+	constant as well as equiv_constant.
+	(equiv_constant): Just look up a constant quantity for a register;
+	fold_rtx will do the SUBREG operations.
+
+	* fold-const.c ({neg,mul,lshift,rshift,lrotate,rrotate}_double):
+	No longer static.
+	* cse.c (simplify_{unary,binary}_operation): Fold some DImode
+	operations.
+
+	* fold-const.c (fold, case EQ_EXPR, NE_EXPR, ...): Add code to handle
+	cases where we are comparing the result of a comparison.
+
+Tue Aug 27 14:35:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* flow.c (mark_used_regs): Set regs_ever_live for all hard regs.
+	Warning: this might break FUNCTION_PROLOGUE and FUNCTION_EPILOGUE
+	in some ports.  But I've checked all the installed ones.
+	* tm-gmicro.h (FUNCTION_PROLOGUE):
+	Clear bit for fp reg if used as such.
+	* tm-mips.h (MUST_SAVE_REGISTER): Only frame_pointer_needed affects fp.
+
+	* c-decl.c (store_parm_decls): No error if arglist contains type tag.
+
+	* optabs.c (expand_fix): Really call emit_cmp_insn right.
+
+	* floatlib.c: New file.
+
+	* gnulib2.c (__clz_tab): Moved to _udivdi3.
+
+Tue Aug 27 06:44:12 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
+
+	* cplus-typeck.c (c_expand_return): Don't use the cleanup generated
+	by `build_functional_cast'.
+
+	* cplus-class.c (resolves_to_fixed_type_p): Handle WITH_CLEANUP_EXPR.
+
+Mon Aug 26 20:55:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (yylex): Cast shorts[n] to long before shifting.
+	* fold-const.c (decode): Likewise.
+
+	* Makefile.in (INSTALL_DATA): Renamed from INSTALL_FILE.
+
+	* cse.c (canon_hash): Don't crash if subexpression is 0.
+
+	* cplus-lex.c (interface_strcmp): Put back variable s1.
+
+Mon Aug 26 18:14:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (instantiate_virtual_regs_1): Complete previous change;
+	had omitted arg on two returns.
+
+Mon Aug 26 15:16:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* optabs.c (expand_float, expand_fix): Pass new arg to emit_cmp_insn.
+
+	* out-m68k.c (singlemove_string): Fix last change.
+
+Mon Aug 26 11:20:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (cmpsi insn): Don't provide an insn that compares two
+	constants.
+
+Mon Aug 26 08:34:48 1991  Michael Meissner  (meissner at osf.org)
+
+	* collect-osf.c (toplevel, read_file, end_file): Don't use mmap,
+	unless all defines needed are defined.
+	(various): If -debug turn on debugging code.  Change all occurances
+	of #ifdef DEBUG sections to if (debug).
+	(main, add_to_list): Correctly cast xcalloc calls.
+	(scan_prog_file): Correct xcalloc to allocate enough space
+	(scan_prog_file): If -debug, don't dump entire symbol table, just
+	dump the constructors and destructors.
+
+	* make-decrose (CFLAGS): Use DEB_OPT for default debug and optimize
+	options, use SHLIB for default shared library versions.
+	(DEB_OPT): Define to be -g -O2.
+	(SHLIB): Define to be -L${BUILD}/usr/ccs/lib, which forces static
+	libraries with both old and new 1.39 compilers.
+	(COFF_CFLAGS): Define to be -O2 -g0.
+	(collect): Add LIBDEPS dependency.
+
+Mon Aug 26 07:22:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* machmode.h (MIN, MAX): Define here.
+	* c-decl.c, calls.c, cplus-class.c, cplus-decl.c, cplus-tree.c:
+	Don't define here.
+	* expr.c, fold-const.c, function.c, integrate.c, recog.c: Likewise.
+	* rtl.c, sdbout.c, stmt.c, stor-layout.c, varasm.c: Likewise.
+	* c-typek.c, combine.c, cse.c, emit-rtl.c, expmed.c, final.c:
+	Delete definitions of "min" and "max"; use MIN and MAX now defined
+	in machmode.h.
+	* genemit.c, regclass.c, reload.c, reload1.c: Likewise.
+	* cccp.c (MIN, MAX): Define instead of min and max for consistency.
+
+	* tm-rs6000.h (HARD_REGNO_MODE_OK): Don't put DImode in reg 31;
+	similarly for TImode.
+
+	* cse.c (cse_skip_to_next_block): Variable deleted.
+	(cse_insn): Don't set it anymore.
+	(cse_basic_block): Don't use cse_skip_to_next_block; instead, look
+	for unconditional jumps explicitly; correctly handle unconditional
+	jumps to the end of the basic block by extending the basic block in
+	that case.
+
+	* reload1.c (alter_reg): Ensure that stack slot is always the correct
+	mode.
+
+Mon Aug 26 06:20:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-type2.c (build_functional_cast): Treat constructor casts as
+	having cleanups in this function.
+	* cplus-decl.c (finish_decl): Use cleanups created by functinal
+	casts used as initializers.
+
+	* cplus-init.c (expand_member_init): Call error with
+	IDENTIFIER_POINTER, not DECL_NAME, of NAME.
+
+	* cplus-method.c (fndecl_as_string): Don't skip `in_charge'
+	parameter twice.
+
+	* cplus-init.c (build_new): Delete code which short-circuited
+	multiple indirections in ABSDCL and made everything look like just a
+	single level of indirection.
+
+	* cplus-typeck.c (warn_for_assignment): Now takes a FUNCTION_DECL
+	instead of an IDENTIFIER_NODE as an argument.  Also, print
+	reasonable message when ARGNUM < 0.
+
+	* cplus-typeck.c (type_unknown_p): If TREE_CODE (EXP) == TREE_LIST,
+	it's type is unknown.
+
+	* cplus-typeck.c (commonparms): Don't insert default parmeter values
+	into existing arg lists.  Instead, unify them into new ones only.
+
+	* cplus-typeck.c (convert_for_{initialization,assignment}): Pass
+	FNDECL instead of function name.  Use `lang_printable_name' to pass
+	printable name to `warn_for_assignment'.
+
+	* cplus-typeck.c (convert_arguments): Don't forcibly convert ptrs to
+	other things into ptrs to functions just to satisfy the conversion
+	of virtual functions.
+
+Sun Aug 25 22:44:57 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-typeck.c (compparms): Deal with STRICT == 3.
+	* cplus-search.c (get_first_matching_virtual): Call `compparms' with
+	STRICT == 3.
+
+	* cplus-lex.c (operator_name_string): Don't abort if we cannot find
+	a operator name for NAME.  Instead, return identifier for
+	<invalid operator>.
+
+Sun Aug 25 15:42:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cplus-xref.c (FILE_NAME_ABSOLUTE_P): New macro.
+	(GNU_xref_file): Use it.
+	(open_xref_file): Use new macro XREF_FILE_NAME if defined.
+	* cplus-lex.c (FILE_NAME_NONDIRECTORY): New macro.
+	Used frequently instead of strrchr.
+	* xm-vms.h: Define those three macros.
+
+	* optabs.c (expand_binop): Use word mode for force_reg on op1 of shift.
+
+	* out-m68k.c (singlemove_string): Use moveq when appropriate.
+
+	* final.c (split_double): Handle all integer constants.
+	* out-m68k.c (output_move_double): Use split_double for all constants.
+	* ??? Most out-*.c need changing.
+
+	* c-decl.c (finish_enum): Make some local vars unsigned.
+	* c-common.c (type_for_size):
+	* c-convert.c (convert_to_integer): 
+	* tm-i860.h (ASM_OUTPUT_ASCII): 
+	* c-parse.y (yylex):
+	* expr.c (get_pointer_alignment):
+	* stor-layout.c (layout_union, layout_record):
+	* tree.c (get_unwidened, get_narrower):
+
+	* expr.c (emit_library_call): Don't declare va_list as register.
+	* final.c (asm_fprintf): Likewise.
+	* tree.c (build, build_nt, build_parse_node): Likewise.
+
+	* expr.c (do_jump_for_compare): Don't assume the compare survives
+	when the branch is emitted.
+
+	* expr.c (convert_move): Fix typo in prev change.
+
+	* emit-rtl.c (fconst2_rtx, dconst2_rtx): New vars.
+	(init_emit_once): Initialize them.
+
+	* expmed.c (extract_bit_field, store_bit_field):
+	For multi-word field, do words from least significant first.
+
+	(extract_split_bit_field): OP0 is only the first word of the
+	source, so if this is a SUBREG, must call operand_subword on
+	SUBREG_REG (OP0) instead of OP0.
+
+	* varasm.c (output_constructor): Correctly output constants for
+	bitfields which are greater than HOST_BITS_PER_INT.  Use
+	TREE_INT_CST_HIGH for the high bits.
+
+	* Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): New parameters.
+	(enquire, enquire.o): Use them.
+
+	* tm-sysv4.h: New file, cut out from tm-m88k.h.
+	* tm-m88k.h: Include that.
+
+	* vax.md (sltu, sgeu): New patterns.
+
+Sat Aug 24 11:19:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-init.c (build_offset_ref): Pass a TYPE_DECL node, not a
+	RECORD_TYPE node, to `build_component_type_expr'.
+
+	* cplus-cvt.c (convert_to_integer): Warn about conversion from
+	integral type to enumeral type if FLAG_INT_ENUM_EQUIVALENCE is zero.
+	(convert_force): Set FLAG_INT_ENUM_EQUIVALENCE non-zero when calling
+	`convert'.
+
+	* cplus-typeck.c (build_x_*_op): Don't try using built-in operators
+	if user-defined ones are not accessible.
+
+	* cplus-init.c (expand_aggr_init_1): Use `expand_expr' to set the
+	DECL_RTL of the TARGET_EXPR.  This is a generalization of code that
+	used to require that EXP be some sort of _DECL.
+
+	* cplus-init.c (init_init_processing): Link global runtime functions
+	__builtin_new and __builtin_delete to their canonical operator
+	names (i.e., op$nw and op$dl).
+
+	* cplus-lex.c (init_lex): Don't see `dynamic' as a reserved word if
+	SOS is not defined.
+	* cplus-decl2.c (flag_dynamic): Delete unused variable.
+
+	* cplus-decl.c (define_case_label): Give error when case label cuts
+	into a binding contour with cleanups.
+	* stmt.c (last_cleanup_this_contour): Changed name from
+	`this_contour_has_cleanups_p'.  Now returns last cleanup, if there
+	was one.
+	* tree.h: Declare `last_cleanup_this_contour'.
+
+	* cplus-decl.c (grokdeclarator): Don't let member functions have
+	static linkage.
+
+	* cplus-tree.c (layout_basetypes): Copy non-virtual basetypes of
+	virtual basetypes so that search routines can find ambiguities
+	arising in lattices where the same type appears as a non-virtual
+	basetype of different types in the lattice.
+	(copy_nonvirtual_children): Implement a recursive deep-copy of
+	nonvirtual types in an inheritance lattice.
+
+	* cplus-search.c (lookup_fnfields): Correctly catch case where there
+	are multiple functions in an MI lattice.
+	* cplus-call.c (ideal_candidate): If we find a requested function is
+	ambiguous in an MI lattice, set CP->EVIL to 1.
+	(build_method_call): If CP->EVIL is set on return from
+	`ideal_candidate', return error_mark_node.
+
+	* cplus-decl.c (lookup_name): Prefer finding typenames to overloaded
+	functions where there's a collision.
+	(pushdecl): Don't override the declaration of global functions with
+	a TYPE_DECL that has the same name.  `lookup_name' now knows how to
+	find both.
+	(globalize_nested_type): Changed to look in IDENTIFIER_TYPE_VALUE
+	slot for global definitions that are not in IDENTIFIER_GLOBAL_VAL.
+	* cplus-type2.c (build_functional_cast): Deal with more ambiguities
+	and more cases where the syntactic form `NAME ( PARMS )' can have
+	meaning.
+
+Sat Aug 24 01:33:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (convert_move): Make integer extension general.
+
+	* optabs.c (init_extends, gen_extend_insn): Finish and turn on.
+
+	* reload1.c (possible_group_p): Insist on regs in needed class.
+
+	* SYSCALLS.c (alloca): Declare arg as size_t.
+
+	* expr.c (store_constructor): Handle union constructor.
+
+	* final.c (split_double): long long CONST_DOUBLE now has VOIDmode.
+
+	* optabs.c (expand_binop): Fix carry propagation bugs.
+	Handle carry propagation for big-endian case.
+
+Fri Aug 23 21:29:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl.c (finish_decl): More PIC fixes.  Also, don't assign
+	any storage for static member variables except when they are being
+	defined.
+
+	* cplus-init.c (build_virtual_init): Change interface to take
+	MAIN_ASSOC instead of FOR_TYPE.
+	(expand_aggr_init_1): Ditto.
+	(expand_recursive_init_1): Ditto.
+	(expand_aggr_vbase_init{_1}): Change interface to take an assoc
+	instead of a type.
+	(expand_recursive_init): Ditto.
+
+	* cplus-pt.c (uses_template_parms): Handle PARM_DECL nodes.
+
+	* cplus-search.c (get_base_assoc): Use ASSOC_MARKED instead of
+	ASSOC_BASETYPE_MARKED to mark visited nodes.
+	(lookup_field, loopup_fnfields): Use ASSOC_FIELDS_MARKED instead of
+	ASSOC_VBASE_MARKED when searching.
+	({bfs_,un,bfs_un}marked2p): Deleted, unused.
+	(dfs_{un}mark2): Deleted, unused.
+	(dfs_unmark12): Deleted, unused.
+	(build_vbase_vtables_init): Change interface to take MAIN_ASSOC
+	instead of FOR_TYPE.
+
+Fri Aug 23 18:31:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* expr.c (do_store_flag): Give up if can't directly compare args.
+
+Fri Aug 23 18:00:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (instantiate_virtual_regs_1): Add new arg and now returns
+	int instead of void.
+	All callers changed.
+
+	* expr.c (compare_constants): Deleted.
+	(compare_from_rtx): Use simplify_relational_operation instead of
+	compare_constants; abort is not needed since
+	simplify_relational_operation will return 0 if given VOIDmode.
+
+	* cse.c (fold_rtx): Correctly compute mode of operands being
+	compared.
+
+Fri Aug 23 17:16:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* stmt.c (expand_end_case):
+	Avoid special cases for modes when widening.
+	Realize __builtin_classify_type reduces to int constant.
+
+	* optabs.c (emit_cmp_insn): New arg, MODE.  All callers changed.
+	If both args are const_int, copy one to a reg.
+
+Fri Aug 23 15:54:21 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Fix bug where cplus-parse.y was always being passed
+	through bison, whether it needed it or not.
+
+Fri Aug 23 15:20:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* stmt.c (expand_end_case): Remove Aug 12 change.
+	Convert index to nominal_type for subtraction.
+
+Thu Aug 22 14:34:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure, config.gcc: Switch to all-dashes config names.
+
+	* gnulib2.c [U_udivdi3, L_muldi3]: Define __clz_tab for longlong.h.
+
+Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege at zevs)
+
+	* longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
+	* longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
+	* longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
+	* longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
+	  nops.  (Saves two insn.)
+	* longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
+	  branch, and to permit input/output register overlap.
+	* longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
+	* longlong.h (__29k__ umul_ppmm): Split asm instructions into two
+	  asm statements (gives better code if either the upper or lower
+	  part of the product is unused.
+	* longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
+	  udiv_qrnnd.
+	* longlong.h (IBMR2): Add udiv_qrnnd.
+	* longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
+	  `unsigned long int'.
+	* longlong.h: Add `int' after `unsigned' and `long' everywhere.
+	* longlong.h: Add ARM, i860 support.
+	* longlong.h (sparc umul_ppmm): Use __asm__, not asm.
+	* longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
+	  and m1 (overlap between output and input operands did not work).
+	* longlong.h: Add VAX, ROMP and HP-PA support.
+	* longlong.h: Sort the machine dependent code in alphabetical order
+	  on the CPU name.
+	* longlong.h: Hack comments.
+	* longlong.h: Define BITS_PER_LONG to 32 if it's not already
+	  defined.
+	* Define __BITS4 to BITS_PER_LONG / 4.
+	* Don't assume 32 bit word size in "count_leading_zeros" C macro.
+	  Use __BITS4 and BITS_PER_LONG instead.
+	* longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
+	  even for plain mc68000.
+	* longlong.h: Clean up comments.
+	* longlong.h: Don't use #elif.
+	* longlong.h: Use __asm__ instead of asm.
+	* longlong.h (sparc udiv_qrnnd): Make it to one string over several
+	  lines.
+	* longlong.h: Preend __ll_ to B, highpart, and lowpart.
+	* longlong.h: Move array t in count_leading_zeros to gnulib2.c
+	  Rename the array __clz_tab.
+	* longlong.h (umul_ppmm [C variant]): Make __ul...__vh
+	  `unsigned int', and cast the multiplications.  This way
+	  compilers more easily can choose cheaper multiplication
+	  instructions.
+
+Thu Aug 22 07:36:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* rtl.h: Declare simplify_relational_operation.
+
+	* out-m88k.c (output_file_start): Put the `gcc2_compiled.' symbol
+	in the data section.  Eliminates symbol translation problems with
+	debuggers.
+
+	Changes from Ron Guilmette:
+	* toplev.c (compile_file): Use dwarfout_finish when done.
+	* final.c (output_source_line): Use dwarfout_line.
+	* dwarfout.c (dwarfout_finish): Rename from dwarfout_finalize.
+	* tm-m88k.h (ASM_OUTPUT_DWARF_LINE, ASM_FILE_END): No need for
+	dwarf specific actions.
+
+Thu Aug 22 05:29:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (can_combine_p): Don't combine if INSN has REG_RETVAL note.
+	(try_combine): Similarly, don't combine if I3 has REG_LIBCALL note.
+
+	* flow.c (propagate_block): Don't use variable PREV in
+	nested blocks that shadows PREV at function level.
+	If we handle this insn normally, arrange to scan any insns that
+	were inserted in front of it for making auto-inc addressing.
+
+	* integrate.c (save_for_inline_copying): Clear CONST_DOUBLE
+	memory chain.
+
+	* toplev.c (fatal_insn_not_found): Now that it is called in final.c
+	when an insn doesn't match constraints, write different error
+	message in that case.
+	* genattrtab.c (write_attr_case): Call fatal_insn_not_found instead
+	of abort when constrain_operands fails.
+
+Thu Aug 22 05:29:09 1991  Matthew Self  (mself at next.com)
+
+	* rtl.c (add_dependence): Uses of RTX_UNCHANGING_P should now be
+	SCHED_GROUP_P.
+
+Thu Aug 22 00:34:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* recog.c (offsettable_address_p): Always pass QImode to addressp.
+
+Wed Aug 21 09:20:09 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-decrose.h (LINK_SPEC): Allow -pic-none, -glue, -noshrlib
+	switches.
+	(LIB_SPEC): Add -L/usr/ccs/lib to get new 1.1 linker to use static
+	libraries instead of shared libraries, since the shared library
+	support has not yet been added.
+
+Wed Aug 21 06:18:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* out-rs6000.c (print_operand, case 'Y', 'Z'): Fix typo in
+	auto-inc case.
+	* rs6000.md (movti): Add missing %U in memory cases.
+
+	* tm-rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Indexed addresses are not
+	valid for DImode and TImode.
+	* out-rs6000.c (indexed_mem_operand): Deleted.
+	(print_operand, case 'X'): Don't use indexed_mem_operand; check
+	ourselves instead.
+	* rs6000.md (movdi, movti): Don't check for indexed memory operands.
+
+Tue Aug 20 16:02:41 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_parms): Handle parm passed in reg and living in
+	pseudo that was optimized away.
+
+Mon Aug 19 19:10:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_comparision, case NEG): Can only convert
+	(-a) < C to a > C if C is zero.
+
+	* expmed.c (store_bit_field, extract_bit_field): Use WORD_MODE for
+	mode of BITS_PER_WORD to avoid conflict with other use of variable
+	named MODE.
+
+	* cse.c (cse_insn): Don't make a REG_EQUAL note whose contents
+	are a REG; the REG might have been eliminated.
+
+	* reload1.c (reload_as_needed): Pass any CLOBBERs made when reloading
+	an insn to `forget_old_reloads_1'.
+
+Mon Aug 19 12:47:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure (m88k-luna): Rename alternative appropriately.
+
+	* cse.c (simplify_relational_operation): Split out from ..._binary_...
+	(fold_rtx): Use that function for relationsals.
+	(simplify_binary_operation): Don't allow relationals.
+	* combine.c (subst, gen_binary): Use simplify_relation_operation.
+	* integrate.c (subst_constants): Likewise.
+	* jump.c (jump_optimize): Likewise.
+
+	* c-common.c (shorten_compare): Warn about unsigned >= 0.
+
+Sun Aug 18 17:29:16 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* tm-vms.h (ASM_OUTPUT_EXTERNAL): Remove code to round the storage
+	size up to a multiple of 4 bytes.
+
+Sun Aug 18 15:35:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_parms):
+	Handle parm passed in reg and living in pseudo that was optimized away.
+
+	* function.c (init_function_start): Give decl_printable_name both args.
+
+	* expr.c (compare_from_rtx):
+	Don't change to unsigned if too wide for host int.
+	* cse.c	(fold_rtx): Use mode_arg0 to simplify comparison ops.
+	Update mode_arg0 when we look at value of cc0.
+
+	* cse.c (cse_insn): Really don't record bitfield destinations
+	unless source is constant which fits.
+	But pre-truncate other constants.
+
+	* config.subr: Allow $os to be empty.
+
+	* function.c (lookup_static_chain): Check for 0 before inline function.
+
+	* config.subr (pc532, minix): New alternatives.
+
+	* configure (editing Makefile): Use cross-make.
+	* Makefile.in (install-cross): Change dep to install-gnulib.
+
+Sat Aug 17 17:18:05 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* All cplus-* files: Change the representation of the C++
+	inheritance lattice for types.  There is no longer such a thing as a
+	classtype_variant.  Instead, types all have their own lattices
+	accessed via their CLASSTYPE_ASSOC field.
+
+	* cplus-tree.h (lang_type): Delete fields OFFSET,
+	MAIN_CLASS_VARIANT, NEXT_CLASS_VARIANT, VIA_PUB_OR_VIRT.
+	Rename field AS_ID_LIST to ID_AS_LIST, since it's a list.
+	(CLASSTYPE_AS_ID_LIST): Renamed to CLASSTYPE_ID_AS_LIST.
+	Add field ASSOC_AS_LIST, which is a TREE_LIST whose TREE_VALUE is
+	the assoc for the type.
+	(CLASSTYPE_VIA_*, SET_CLASSTYPE_VIAS): Deleted.
+	(CLASSTYPE_OFFSET*): Deleted.
+	(CLASSTYPE_N_BASECLASSES): Now uses type's assoc.  TYPE_BASETYPES
+	field is unused.  Next change will make TYPE_BASETYPES hold the
+	assoc field.
+	(CLASSTYPE_VBASE_SIZE): Use slot in TYPE_LANG_SPECIFIC instead of
+	sneaking it into the TREE_TYPE field of the basetypes.
+
+	(ASSOC_TYPE): Deleted.  Now use ASSOC_VALUE everywhere.
+	(ASSOC_{BASETYPE,BASETYPES}): New macros.  Both are operations on
+	assocs and return assocs.
+	(CLASS_ASSOC_BASETYPE): New macro.  This performs roughly the same
+	function that CLASSTYPE_BASECLASS used to, but it retains no assoc
+	info in the type it returns.
+	(ASSOC_NEXT_ASSOC): New macro used for traversing assoc chains built
+	up by search routines.
+	(ASSOC_VIA_{PUBLIC,VIRTUAL}): New macros for accessing inheritance
+	information.  CLASSTYPE_VIA_{PUBLIC,VIRTUAL} no longer used.
+	(ASSOC_CID): New macro.
+
+	(DECL_ANON_UNION_ELEM): Deleted.  Now anonymous union decls are
+	distinguished as FIELD_DECLs with NULL DECL_NAMEs and UNION_TYPE
+	types.
+
+	(DERIVED_FROM_P): New macro.  Change calls that testing inheritance
+	relationships (get_base_type and get_base_distance) to use this macro.
+
+	* cplus-type2.c (basetype_or_else): Change interface to use/return an
+	assoc instead of a type.  Change name to base_assoc_or_else.
+
+	* cplus-tree.c (build_classtype_variant): Deleted.
+	(copy_type_lang_specific): Deleted.
+	* all cplus-* files: Everything that used to use CLASSTYPE_OFFSET on
+	types now uses ASSOC_OFFSET on assocs.
+
+	* cplus-class.c (propagate_basetype_offsets): Change interface to use
+	assocs instead of types.  Change name to propagate_assoc_offsets.
+	* cplus-search.c (get_base_type): Ditto; name changed to
+	get_base_assoc.
+
+	* cplus-cvt.c (convert_pointer_to): Change interface to use an assoc
+	instead of a type.
+	(convert_pointer_to_vbase): Ditto.
+	* cplus-call.c (build_field_call): Ditto.
+	* cplus-class.c (get_vfield_offset): Ditto.
+	(build_method_call): Ditto.
+	(maybe_fixup_vptrs): Ditto.
+	* cplus-search.c (get_first_matching_virtual): Ditto.
+	(get_virtuals_named_this): Ditto.
+	(tree_needs_constructor_p): Ditto.
+	(get_virtual_destructor): Ditto.
+	(tree_has_any_destructor_p): Ditto.
+	(get_baselinks): Ditto.
+	(lookup_{field,fnfields}): Ditto.  Also, use ASSOC_VBASE_MARKED
+	instead of CLASSTYPE_MARKED2 to mark virtual basetypes that have
+	been visited.
+	(build_vbase_vtables_init): Ditto.
+	({build,free}_mi_matrix): Ditto.
+	* cplus-init.c (expand_aggr_init_1): Ditto.
+	(expand_aggr_vbase_init_1): Ditto.
+	(build_virtual_init): Ditto.
+	* cplus-class.c (build_class_init_list): Rewritten to build list with
+	assoc entries instead of types.  Also, use new macro
+	ASSOC_BASEINIT_MARKED instead of CLASSTYPE_MARKED6.
+	(finish_base_struct): New argument ASSOCS is the list of assocs that
+	describe the basetypes of T.
+
+	* cplus-tree.c (make_lang_type): Always initialize
+	CLASSTYPE_VBASE_SIZE to integer_zero_node.  To test if a class has
+	virtual baseclasses, test CLASSTYPE_VBASECLASSES, not
+	CLASSTYPE_VBASE_SIZE.
+
+	* cplus-class.c (finish_struct): Rewritten to use assocs instead of
+	types where appropriate.
+
+	* cplus-search.c (get_base_distance): Change interface to use assocs
+	or types.  Also, PATH_PTR argument is now an assoc chain, not a
+	TREE_LIST.  Algorithm to find leftmost path is now more efficient.
+	(compute_visibility): Uses assoc chain instead of TREE_LIST of
+	types.
+	(recursive_bounded_basetype_p): New function.
+	(dfs_walk, dfs_* functions): Change to be called with assocs instead
+	of types.
+	(breadth_first_search, all bfs_*): Ditto.
+	cplus-tree.c (reverse_path): New function.  Like nreverse, but works
+	on assoc chains.
+
+	* cplus-class.c (build_vtable, prepare_fresh_vtable,
+	modify_vtable_{entries,entry},): Change interfaces to use assocs
+	instead of types.  Use macro ASSOC_VTABLE_PATH_MARKED on the assocs
+	instead of CLASSTYPE_MARKED3.  Use macro ASSOC_NEW_VTABLE_MARKED on
+	the assocs instead of CLASSTYPE_MARKED4.
+
+	* cplus-dbxout.c: Now needs to know more about assocs.  When assocs
+	are put in the TYPE_BASETYPEs field, it should not need to know
+	about lang_type.
+
+	* cplus-decl.c (xref_tag): Rewritten to build proper assoc lists.  No
+	longer builds basetype lists.
+	(finish_function): Make `flag_no_inline' really take effect.
+
+	* cplus-tree.c (make_assoc): Changed for new assoc structure.  The
+	fields in assocs are now: VALUE (pointer to TYPE that this assoc is
+	for), OFFSET (the byte offset of this basetype in the whole object),
+	VTABLE (the virtual function table that should be used to initialize
+	objects controlled by this assoc), VIRTUALS (the virtual functions
+	to use for initializing VTABLE), BASETYPES (a TREE_VEC of basetypes
+	that this assoc has, or NULL_TREE if none), NEXT_ASSOC (a temporary
+	slot used to point to the next assoc in an assoc chain),
+	VIA_{PUBLIC,VIRTUAL} bits saying whether this assoc is a basetype of
+	its parent via public or virtual inheritance.
+
+	* cplus-ptree.c (print_lang_type): Modified as necessary to cope with
+	new inheritance structure.
+
+	* cplus-search.c (get_base_type_1): This function was unused and
+	wrong.  Deleted.
+
+	* cplus-tree.c (layout_basetypes): Take new arg ASSOCS.  Layout the
+	basetypes my modifying the assocs, not the types.
+	(layout_vbasetypes): Ditto.
+
+	* all cplus-* files: Removed dead code, unused variables, and change
+	asserts where appropriate.
+
+	* all cplus-* files: DECL_VIRTUAL_P is no longer used as a truth test
+	for whether or not a function is virtual.  Use a test for non-NULL
+	DECL_VINDEX instead.
+
+Sat Aug 17 15:16:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* function.h (inline_function_decl): Declare it.
+	* integrate.c: Include function.h; don't declare var here.
+
+	* rtl.h (regno_reg_rtx): Declare it.
+
+	* stmt.c (expand_end_case):
+	When filling labelvec from case range, avoid overflow in i.
+
+Fri Aug 16 23:06:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op_nodefault):
+	Take out warning added by recent changes.
+
+Fri Aug 16 22:00:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (inline_function_decl): New var.
+	(lookup_static_chain): Decl is local if context is function being
+	inlined.
+	* integrate.c: Remove partially-completed previous change.
+	(expand_inline_function): Set inline_function_decl.
+
+Fri Aug 16 21:41:10 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* a29k.md (insv,extv): Changed POS / SIZE to POS / 8, since high
+	order bit of BP selects half-word position for half-word ops.
+
+Fri Aug 16 18:52:35 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* combine.c (distribute_links): Only put link on new insn if the
+	insn uses the register.  If first find an insn that sets the
+	register but does not otherwise use it, then drop the link.
+	   
+	* combine.c (distribute_links): Strip off SUBREG, ZERO_EXTRACT,
+	etc. from the destination of the set before passing it to
+	reg_mentioned_p and reg_referenced_p.
+		  
+Sat Aug 16 17:02:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-pt.c (uses_template_parms): Run loop over _EXPR nodes from
+	TREE_CODE_LENGTH-1 to 0, not from TREE_CODE_LENGTH.
+
+	* cplus-decl.c (grokfndecl): Change `==' to `=' in assignment to
+	`raises'
+	(finish_decl): If FLAG_PIC is nonzero, leave initialized data in
+	common space.
+
+Fri Aug 16 13:13:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reg-stack.c (current_function_returns_real): New variable.
+	(reg_to_stack): Set it.
+	(stack_reg_life_analysis): Use it.
+	(emit_pop_insn): Return the new insn.
+	(convert_regs): Pop any stack regs live at the end of the last basic
+	block.
+
+Fri Aug 16 16:16:45 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* tm-sparc.h (SELECT_SECTION): Don't put relocatable values into
+	text space if generating position-independent code.
+
+Fri Aug 16 16:00:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* protoize.c (__flsbuf): Decl deleted; no need.
+	[ultrix]: Include string.h, not strings.h.
+
+	* function.c (instantiate_virtual_regs_1): Bug adding NEW to addr of X.
+
+Fri Aug 16 08:51:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.c (expand_expr, case ABS_EXPR, MIN_EXPR, MAX_EXPR): Don't
+	allow TARGET to be a hard reg because evaluating the comparison
+	might clobber it.
+
+Thu Aug 15 23:38:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-m68k.h (PRINT_OPERAND): Use asm_fprintf to print immed prefix.
+
+Thu Aug 15 23:36:12 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* cplus-decl.c (finish_enum): Remove last traces of Wood's mistaken
+	changes for tag handling in C++.
+	* cplus-class.c (finish_struct): Ditto.
+
+Tue Aug 13 06:12:18 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (find_cross_jump): When avoiding CALL_INSNs, don't
+	return a CODE_LABEL as a cross-jump point; use next_real_insn instead
+	of next_nonnote_insn.
+
+	* fold-const.c (optimize_bit_field_compare, merge_component_reference):
+	Use mode_for_size to get mode for word; don't use SImode.
+	* tree.c (build_index_type, build_index_2_type): Don't use SImode;
+	get mode of SIZETYPE instead.
+
+	* optabs.c (emit_cmp_insn): Use type of int instead of SImode for
+	return from memcmp and bcmp.
+
+Mon Aug 12 17:54:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* stmt.c: Include recog.h.
+	* stmt.c (expand_end_bindings): Expect abort to return void.
+	(expand_end_case): Give tablejump whatever mode it wants.
+
+	* integrate.c (integrate_type): New function.
+	* c-typeck.c (build_binary_op_nodefault): Rewrite last change.
+
+	* Makefile.in (install): Indirect through INSTALL_TARGET.
+	(install-native): New name for old install target.
+	(INSTALL_TARGET): New variable.
+	* cross-make (INSTALL_TARGET): Override it.
+
+Mon Aug 12 17:25:48 1991  Michael Meissner  (meissner at osf.org)
+
+	* out-mips.c (toplevel, override_options, siginfo): If the OSF/1
+	SIGINFO signal is provided, invoke siginfo handler, which prints
+	which file is being compiled, and runs ps on the compiler and it's
+	parent.
+
+	* make-decrose (CC, OLDCC): Define CC and OLDCC to be the same, so
+	that tests within Makefile.in work as expected.
+	(LIB2FUNCS_EXTRA): Put osf-main in the gnulib2 portion of the
+	library, instead of the gnulib1 portion.
+
+Mon Aug 12 16:31:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* explow.c (expr_size): Fix typo.
+
+Mon Aug 12 14:27:31 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* expr.c (expand_expr, case COND_EXPR): Fix typo in comment.
+	In the singleton code, don't accept a hard register as a target if
+	we are going to store into it before testing the condition because
+	that evaluation may involve a subroutine call which might clobber it.
+
+	* rtl.h (SCHED_GROUP_P): Fix typo in definition.
+
+Mon Aug 12 08:01:01 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (find_cross_jump): Look at REG_EQUIV notes in addition to
+	REG_EQUAL notes.
+	(do_cross_jump): Remove REG_EQUAL or REG_EQUIV notes present on only
+	one branch of the cross-jump so we don't get confused by them if we
+	cross-jump again.
+
+Mon Aug 12 01:44:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* unroll.c (unroll_loop): When naively unrolling loops, if the last
+	jump insn is an unconditional jump, and it does not jump to the loop
+	top, then it must be copied with the rest of the loop body.
+
+	* rtl.h: Clean up documentation for uses of volatil and in_struct
+	fields of an rtx.
+	* gcc.texinfo: Document macros CONST_CALL_P, LABEL_PRESERVE_P, and
+	SCHED_GROUP_P. Clean up documentation for uses of used, in_struct,
+	and unchanging fields of an rtx.
+
+	* final.c (final_scan_insn):  In the ASM_OUTPUT_LOOP_ALIGN code,
+	must verify that next exists before checking whether it is a label.
+
+Sun Aug 11 16:46:17 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (cmpstrsi): Enable it.  Now uses REG as output, not cc0.
+	Old cc0-output pattern remains for combining cmpstrsi & test pairs.
+
+Sun Aug 11 15:52:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): Handle var-length array with reference.
+
+	* c-decl.c (xref_tag): Copy default mode from unsigned_type_node.
+	* explow.c (expr_size): Get it from size_type.
+	* reload1.c (allocate_reload_reg): No need to validate mode of
+	reload_in if that value is a const_int.
+
+	* expr.c (expand_builtin): Get value mode properly, for memcmp.
+
+Sun Aug 11 15:52:33 1991  Jim Wilson  (wilson at cygint.cygnus.com)
+
+	* dbxout.c (dbxout_symbol): DECL_ASSEMBLER_NAME is a tree, not a
+	character string, so call IDENTIFIER_POINTER before printing it.
+
+	* fold-const.c (fold): When converting foo++ == CONST to ++foo ==
+	CONST + INCR, the plus must have the same TREE_TYPE as the
+	postincrement, not the comparison.
+
+Sat Aug 10 22:58:01 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips.md (extendqihi2 define_split): Use SImode on shifts rather
+	than HImode, and turn result register into SImode as well.
+
+Sat Aug 10 21:00:59 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* calls.c (emit_call_1): New argument is_const.  Set CONST_CALL_P
+	true for the call_insn if is_const is true.
+	(expand_call): Pass is_const to emit_call_1.
+	* expr.c (emit_library_call): Pass no_queue to emit_call_1.
+	Document that no_queue means that the function call is const.
+	* local-alloc.c (validate_equiv_mem):  Don't invalidate memory for
+	const calls.
+	* rtl.h: Update comments describing uses of rtl unchanging and
+	in_struct bits.
+	(CONST_CALL_P): New macro.  True for a call_insn if it is calling
+	a const function.  Uses the unchanging bit.
+	(SCHED_GROUP_P): New macro.  True for an insn if it must be
+	scheduled together with the previous insn.  Uses the in_struct bit.
+	* sched.c: Rewrite to use new SCHED_GROUP_P macro insead of
+	RTX_UNCHANGING_P.
+	(sched_analyze): Rewrite to use new CONST_CALL_P macro.
+
+	* sched.c (schedule_block): Don't schedule a block with a volatile
+	or traditional asm insn.  There is currently no code to correctly
+	handle dependencies for them.
+
+	* combine.c (distribute_links): Fix typo in comment.
+
+Sat Aug 10 18:42:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (operand_subword): Replace explicit SImode references
+	with mode for BITS_PER_WORD bits.
+
+Sat Aug 10 14:17:08 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* calls.c (expand_call): Handle ARGS_GROW_DOWNWARD.
+
+	* ns32k.md (call_value): Consistently realize function is operand 1.
+
+	* cccp.c (do_include): Get current dir from nominal_fname.
+
+	* expr.c (expand_builtin): Give cmpstr* a target in the mode it wants.
+	* optabs.c (expand_cmp_insn): Likewise.
+
+Fri Aug  9 09:59:27 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarfout.c (output_symbols_for_block): Fix typo in iterating over
+	subblocks.
+
+	* make-m88k{,dgux,luna}: Eliminate m88k-trace.asm.
+	* tm-m88k.h, out-m88k.c: Make -mbig-pic a synonym for -fPIC.
+	Delete -mtrace-function.
+
+	* Makefile.in (CROSS_TOOLS): New variable.
+	(gnulib1.null, gnulib2.ready): Depend on CROSS_TOOLS.
+	(gnulib1.null): Use $(AR) $(AR_FLAGS).
+	* cross-make (CROSS_TOOLS): Define as install-cross-tools.
+
+Fri Aug  9 15:21:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* optabs.c (emit_cmp_insn): Expect cmpstr* to have result operand.
+	Test the sign of the result we get.
+	i386.md needs to be changed.
+
+Fri Aug 9 11:09:22 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Fix bug where the wrong program was being run to
+	generate insn-attrtab.c, and, add DEBUG option, so that images can be
+	linked to run under the debugger.
+
+Fri Aug  9 06:42:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genemit.c (gen_split): Add "_fail:" label here too.
+
+	* tree.h (STRIP_NOPS): Define macro here; add CONVERT_EXPR to list
+	of operations to possibly ignore.
+	* fold-const.c (STRIP_NOPS): Not here.
+	* expr.c (strip_nops): Delete function.
+	(string_constant): Use STRIP_NOPS macro instead of strip_nops function.
+
+	* global-alloc.c (expand_preferences): New function.
+	(global_alloc): Call it.
+
+Fri Aug  9 01:19:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* optabs.c (emit_cmp_insn): Correct typo in spacing.
+
+	* unroll.c: Correct typo in comment.  Document that unrolling a
+	loop by a multiple of the number of memory accesses is a win.
+	(unroll_loop): New variable last_loop_insn, points to the last
+	real insn in the loop, which will either be a jump or a barrier.
+	Use last_loop_insn instead of assuming that PREV_INSN (loop_end)
+	is that last real insn in the loop.
+	Standardize comments printed to loop dump file when we can't
+	unroll a loop, so that they all start with "Unrolling failure".
+	No longer assumes that the insn before the backward jump is a
+	compare unless HAVE_cc0.  If not HAVE_cc0, then must copy this
+	insn, and for loop_iterations == 1 case, can not delete this insn.
+	If last_loop_insn is not a JUMP_INSN or BARRIER, then do not
+	unroll the loop.
+	(precondition_loop_p): Fail if loop_iteration_var is not live
+	before loop_start.
+	(copy_loop_body): Rewrite obsolete and misleading comment
+	concerning the splitting of address givs.
+	(back_branch_in_range_p): Correct typo in comment.  No longer
+	assumes that PREV_INSN (loop_end) is the backward branch at the
+	end of the loop.
+	(fold_rtx_mult_add):  Rewrite to use simplify_binary_operation.
+	(iteration_info): Fail if iteration variable is larger than
+	HOST_BITS_PER_LONG, or if it does not have an integer mode.
+	(find_splittable_givs): If an address giv was combined with
+	another address giv, then we can only split the first giv if the
+	second was actually reduced.
+	(loop_iterations): New variable last_loop_insn, use instead of
+	assuming that the last jump insn if PREV_INSN (loop_end).
+	Correct typo in comment.
+
+Thu Aug  8 17:57:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (gnulib1.null): Use *_FOR_TARGET variables.
+	(TARGET_TOOLPREFIX): New variable.
+	(AR_FOR_TARGET, AR_FOR_TARGET_FLAGS): New variables.
+	(RANLIB_FOR_TARGET, RANLIB_TEST_FOR_TARGET): New variables.
+	* cross-make: New file.
+	* configure: Insert cross-make into Makefile.
+
+	* tm-m68k.h (LEGITIMIZE_ADDRESS): Copy address before changing it.
+	(COPY_ONCE): New macro, subroutine for LEGITIMIZE_ADDRESS.
+
+	* toplev.c (main): Accept -g with warning if not supported.
+
+	* Makefile.in (install-cross-tools): Do nothing unless have gcc-cross.
+	(gnulib2.ready): Depend on install-cross-tools.
+
+Thu Aug  8 14:34:53 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* expr.c (c_strlen): New function; determines strlen of string const.
+	(expand_builtin, cases BUILT_IN_STRCMP, BUILT_IN_STRCPY): Call it
+	instead of relying on TREE_STRING_LENGTH.  For strcmp, optimize
+	cases where two lengths are available, if at least one of them is
+	constant.
+	(expand_builtin, case BUILT_IN_MEMCMP): If alignment test fails, and
+	function was really BUILT_IN_STRCMP, delete length parameter before
+	expanding call.
+
+	* tree.h (enum built_in_function): Added BUILT_IN_STRLEN.
+	* c-decl.c (sizet_ftype_string): New variable, for strlen prototype.
+	(init_decl_processing): Set it, and declare strlen and
+	__builtin_strlen as built-in functions.  Deleted variable `decl'
+	since it was only assigned to, never read.
+	* expr.c (expand_builtin, case BUILT_IN_STRLEN): Implement it.
+
+	* cplus-decl.c (sizet_ftype_string, init_decl_processing): Copy
+	changes from c-decl.c.  Also initialize const_string_type_node.
+
+Thu Aug  8 14:34:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (pushdecl): Just warn if trad. extern type is temporary.
+
+Wed Aug  7 15:16:55 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* local-alloc.c (block_alloc): When converting a SCRATCH rtx to a
+	REG rtx, must clear the `used' bit.
+
+Tue Aug  6 14:17:09 1991  Jim Wilson  (wilson at wombat.gnu.ai.mit.edu)
+
+	* stmt.c (expand_start_bindings): Fix typo in comment or spacing.
+	* rtlanal.c (reg_referenced_between_p): Likewise.
+	(reg_set_last): Likewise.
+	* loop.c (make_loop_jump): Likewise.
+	* longlong.h (UDIV_NEEDS_NORMALIZATION): Likewise.
+	* local-alloc.c (update_equiv_regs): Likewise.
+	* global-alloc.c (hard_reg_copy_preferences): Likewise.
+	* fixcpp: Likewise.
+	* tm-m68k.h (CONDITIONAL_REGISTER_USAGE): Likewise.
+	* combine.c (reg_significant): Likewise.
+	* calls.c (expand_call): Likewise.
+	* cplus-tree.c (build_cplus_new): Likewise.
+
+	* function.c (fixup_var_refs_insns): When emitting a move insn,
+	don't put it between a CALL_INSN and its USE insns as this will
+	break sched and reorg.  Instead, put it before the USE insns.
+
+	* combine.c (subst): Convert (ior (ashift A CX) (lshift A CY)) where
+	CX+CY equals the mode size to (rotate A CX).
+
+	* out-sparc.c (emit_move_sequence): For DImode constants, can not
+	create a temporary register to hold the high part.
+	(output_scc_insn): When in a delay slot, verify that NEXT_INSN (insn)
+	really is the next insn.
+
+	* sparc.md: Fix support for DImode constants.  Two new patterns
+	added, one for high:DI operators and one for lo_sum:DI operators.
+	(*extend*): Rework these patterns.  Don't accept memory input
+	operands in the define_expands, as this gives better code.
+	Delete patterns for combining two loads into a load and move;
+	these are obsoleted by combiner improvements.
+	Delete define_splits for splitting these obsolete patterns.
+	(one_cmplsi2): Can not accept general_operand destinations, only
+	register destinations.
+
+	* tm-sparc.h (STACK_POINTER_OFFSET): Explain how value is derived,
+	and compute in terms of another macro.
+	(STRUCT_VALUE_OFFSET): Explain how value is derived.
+	(FIRST_PARM_OFFSET): Fix typo in comment.
+
+	* expr.c (MOVE_RATIO): Check for HAVE_movstrdi.
+	(emit_block_move): Add code to use HAVE_movstrdi if present.
+	(emit_push_insn): Likewise.
+
+	* final.c (final_scan_insn): When insn fails constraint check,
+	call fatal_insn_not_found instead of just aborting to make
+	debugging easier.
+
+	* tree.c (integer_all_onesp): Rewrite code to avoid shift by
+	HOST_BITS_PER_INT which is undefined according to ANSI.  Also,
+	abort for precision values not handled, i.e. those greater than
+	twice times HOST_BITS_PER_INT.
+
+Tue Aug  6 14:05:42 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (seq,sne): Use setb/setnb mnemonics instead of setc/setnc:
+	GAS doesn't understand the latter yet.
+
+Tue Aug  6 13:01:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (install-common): Use -d, not -f, for tooldir/bin.
+
+Tue Aug 6 10:37:02 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Replacement file.  This new version can build cc1plus
+	and cc1obj in addition to cc1 (known on VMS systems as gcc-cc1plus.exe,
+	gcc-cc1obj.exe and gcc-cc1.exe respectively).
+
+Tue Aug  6 06:30:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (canon_hash): If a REG in an operand is equivalent to a
+	constant, hash as if we had the constant.
+	(exp_equiv_p): See if a REG and constant are equivalent.
+
+Tue Aug  6 03:59:16 1991  Ken Raeburn  (raeburn at watch.com)
+
+	* cplus-tree.c (make_deep_copy): Handle PARM_DECLs.
+
+	* cplus-init.c (build_offset_ref): Use DECL_CHAIN, not TREE_CHAIN
+	when trying to determine if a function is unique.
+
+	* cplus-decl.c (start_decl): When constructing a decl tree for a
+	function template, copy last_function_parms to permanent storage,
+	and save it as the function argument list.  Call build_lang_decl
+	instead of build_decl, instead of duplicating the extra work it does.
+	Set `overloaded' flag to 1.  Call dont_forget_overload, so the
+	template decl won't get discarded.
+	Also deleted some commented-out code.
+
+	* cplus-pt.c (uses_template_parms, cases VAR_DECL, FUNCTION_DECL):
+	Give a warning if template parms are only used in places where they
+	can't be resolved (e.g., return types or global or fixed-class
+	variable types).
+	(tsubst): Preserve storage qualifiers on type field, and pass it to
+	layout_type if it has changed.
+	(tsubst, case TEMPLATE_TYPE_PARM):  Preserve storage qualifiers.
+	(tsubst, case INTEGER_TYPE): Process min and max fields, if needed.
+	(tsubst, case FUNCTION_DECL): Process arguments and result fields.
+	(tsubst, case PARM_DECL): New branch.  Handle parm list for
+	FUNCTION_DECL nodes.
+	(tsubst, case TREE_LIST): Copy TREE_PARMLIST flag from source.
+	Don't bother processing TREE_CHAIN field if it is void_type_node.
+	(tsubst, cases POINTER_TYPE, REFERENCE_TYPE): Preserve storage
+	qualifiers.
+	(tsubst, case FUNCTION_TYPE): Eliminate recursion for simple common
+	cases for values and context fields.  Preserve storage qualifiers.
+	(tsubst, default case): Print node type of correct variable in error
+	message.
+	(instantiate_template): Set function_maybepermanent_obstack to
+	permanent, along with the others, and restore old value after tsubst
+	call.  This permits the PARM_DECL case to work.
+
+Mon Aug  5 22:44:51 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-tree.h (struct pending_inline): Add new field `deja_vu' to
+	mark if this pending_inline has already been seen.
+	* cplus-lex.c (do_pending_inlines): Set DEJA_VU when seen.
+	* cplus-lex.c (reinit_parse_for_method, cons_up_default_function):
+	Initialize DEJA_VU to 0.
+	* cplus-decl2.c (mark_inline_for_output): Don't add DECL to
+	PENDING_INLINES if it's already been seen.
+	* cplus-pt.c (instantiate_template): Initialize DEJA_VU to 0.
+
+	* cplus-method.c (do_inline_function_hair): Change some assignments
+	to asserts, since they seem to be copying values that are already
+	there.
+
+Mon Aug  5 22:23:34 1991  Michael Meissner  (meissner at osf.org)
+
+	* genemit.c (gen_expand, main): Change FAIL macro to be a simple
+	goto _fail, and initialize the return value to 0 in the prologue.
+	This avoids a useless warning message that the MIPS C compiler
+	gives if a return is encountered inside of a do { ... } while (0).
+
+Mon Aug  5 21:28:06 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cplus-xref.c (GNU_xref_file): Treat VMS like USG.
+
+	* optabs.c (expand_binop): In libcall, use actual mode of op1.
+
+	* c-typeck.c (build_binary_op_nodefault):
+	In signed versus unsigned compare warning, note promotions of unsigned.
+
+	* c-parse.y (simple_if): Allow error instead of lineno_labeled_stmt.
+	(if_prefix): New subroutine of simple_if.
+
+	* gnulib2.c (__ashldi3, __ashrdi3, __lshldi3, __lshrdi3):
+	Accept second arg as int, not long long.
+
+Sun Aug  4 22:31:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-except.c (cplus_expand_start_except): Set up variables
+	`current_exception_name_as_rtx' and `current_exception_parms_as_rtx'.
+	These variables are used to factor out calls to `expand_assignment'
+	and allow instead calls to `emit_move_insn', which takes about 1/2x
+	the compilation time when called directly.
+	(various places): Use `store_expr' instead of `expand_assignment'
+	when reasonable.
+	(cplus_expand_reraise): Take advantage of above changes.
+	(setup_exception_throw_decl): This is where *_as_rtx variables are
+	initialized.
+
+	* cplus-input.c (getch): Rewritten slightly to help GNU C optimizer.
+	* cplus-lex.c (yylex): In IDENTIFIER case, pre-test condition that
+	`getch' tests, and call `getc' directly when possible.  This cuts
+	calls to `getch' by a factor of 4 for typical C++.
+
+	* cplus-class.c (add_virtual_function): Memoize the first 256
+	virtual function table index nodes (0x80000001, 0x80000002, etc.).
+	(finish_struct): Use `size_int' instead of `build_int_2' when we
+	know the int will not be changed in place (such as the size value of
+	virtual function tables).
+	* cplus-decl2.c (finish_table): Same change as for `finish_struct'.
+	* cplus-tree.c (layout_basetypes): Same change.
+	* cplus-decl.c (init_decl_processing): Use `size_int' to initialize
+	`size_zero_node' and `size_one_node'.
+
+	* cplus-tree.h (TREE_OVERLOADS_ARROW): Define this.
+	* cplus-parse.y (operator_name): Set TREE_OVERLOADS_ARROW where
+	appropriate.
+	* cplus-type2.c (build_x_arrow): Use TREE_OVERLOADS_ARROW and
+	reorganize the logic for better speed.
+	* cplus-ptree.c (print_lang_type): Print when TREE_OVERLOADS_ARROW.
+
+Sun Aug  4 16:44:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rtlanal.c (reg_referenced_p): Properly handle ASM_OPERANDS.
+
+	* cse.c (cse_insn): When recording this_insn_cc0, build a COMPARE
+	rtl if SRC is a floating-point value.
+
+Sun Aug  4 16:16:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (fold): Don't compute shift with negative count.
+	* cse.c (simplify_binary_operation): Likewise.
+
+Sat Aug 3 15:57:55 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* tm-vms.h (ASM_OUTPUT_EXTERNAL): Modify to always write the
+	correct size of the data object, if it is known.
+	(ASM_OUTPUT_COMMON): Modify to select the const or the data section
+	as appropriate.  This definition shadows a definition in tm-vax.h
+	(const_section): Change data type to void.
+
+Sat Aug  3 15:02:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (save_for_inline_copying): Clear constant pool after
+	saving constants into the insns.
+
+	* expr.c (expand_builtin, case BUILT_IN_MEMCPY): Ensure items
+	passed to emit_block_move are valid MEMs.
+
+	* recog.c (offsettable_address_p): Don't change INTVAL of a CONST_INT
+	within an address; that CONST_INT is likely shared and may be used
+	elsewhere in the address.
+
+	* stmt.c (expand_end_stmt_expr): Don't try to copy result to
+	REG; it might be BLKmode.
+
+	* reload.c (MATCHES): Don't consider two things equal if they have
+	side effects.
+
+	* combine.c (try_combine): When replacing SET_DEST inside a PARALLEL,
+	don't replace it with something that has a side effect.
+
+Sat Aug  3 13:17:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing):
+	If traditional, omit builtins with names that don't start with _.
+	Also omit if not optimizing.
+
+	* Makefile.in (combine.o, emit-rtl.o, expr.o, final.o, tree.o):
+	Depend on gvarargs.h.
+
+Fri Aug 2 11:00:10 1991    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	Merge some VMS changes from 1.39 that did not make it to 2.0.
+	These changes will prohibit GCC from addressing external symbols with
+	indirect addressing modes, to be compatible with sharable
+	image libraries under VMS.
+
+	* tm-vms.h: Define NO_EXTERNAL_INDIRECT_ADDRESS, define
+	ENCODE_SEGMENT_INFO to make use of hook in varasm.c
+
+	* tm-vax.h: Provide alternative definitions of INDIRECTABLE_CONSTANT_P,
+	INDIRECTABLE_CONSTANT_ADDRESS_P, and INDIRECTABLE_ADDRESS_P, which
+	are used when NO_EXTERNAL_INDIRECT_ADDRESS is defined.  Also, define
+	INDIRECTABLE_CONSTANT_ADDRESS_P.   Modify definitions of
+	GO_IF_NONINDEXED_ADDRESS, and GO_IF_LEGITIMATE_ADDRESS to work with
+	either alternative.
+
+Fri Aug  2 21:54:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (check_dbra_loop): Fix typo in arg to single_set.
+
+	* reload1.c (choose_reload_regs): Verify that all registers in a 
+	group still contain the desired value.
+	(emit_reload_insns): Set reg_reloaded_contents and reg_reloaded_insn
+	for all registers in a group.
+
+	* combine.c (set_significant): Handle a complex SET_DEST correctly.
+
+Fri Aug  2 17:12:24 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tree.c (build_array_type): Make pointer type before array type.
+
+	* Makefile.in (install-common): Never install gcc if gcc-cross exists.
+
+Fri Aug  2 14:58:42 1991  Michael Meissner  (meissner at osf.org)
+
+	* make-mips (CC, OLDCC): Comment why we need to define CC and OLDCC
+	to get around fixed size table complaints in the MIPS compiler.
+
+Fri Aug  2 14:08:01 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* configure (writing VPATH definition):  Avoid temp file.
+
+	* tm-i860.h (MAX_PARM_BOUNDARY): Defined.
+	(GO_IF_LEGITIMATE_ADDRESS): Add parens around & operator.
+	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Use sp, not r3 (that's fp).
+	* i860.md (movsf): Don't reload high address part if already loaded.
+	(cmplesf, cmpledf, cmpgesf, cmpgedf): Set CC_NEGATED; swap operands.
+	* out-i860.c (strict_single_insn_op_p):
+	Fix criterion for loading high half.
+	(output_load_address): #if 0 since not used.
+
+Fri Aug  2 01:46:39 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (swapdf): Don't condition on TARGET_387.
+	(bit set/complement/clear insns): Don't use if -m486.
+	(bit test insns): Don't allow a MEM operand.
+
+Thu Aug  1 19:05:31 1991  Matthew Self  (mself at next.com)
+
+	* local-alloc.c (block_alloc):  Record regs_live_at for last insn
+	in basic block too.  Otherwise REG_UNUSED regs may overlap hard
+	regs set in the last insn of the basic block.
+
+Thu Aug  1 19:02:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* emit-rtl.c (gen_rtx): Don't return frame_pointer_rtx (e.g.) if
+	mode is not Pmode.
+
+	* emit-rtl.c (operand_subword): Don't write explicit divide by 0;
+	some (broken) compilers give errors for it.
+
+	* m68k.md (udivhi3): One pattern had constraint of "d" with
+	const_int_operand.
+	(FPA insns): Operand 1's constraints allow memory and constants, but
+	the predicate is register_operand; change to general_operand.
+
+Thu Aug  1 13:41:47 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-lex.c (do_pending_inlines, process_next_inline): Zero out
+	the DECL_PENDING_INLINE_INFO field after processing it.
+	(store_pending_inline): Don't delay processing a virtual function,
+	since it needs to be processed in case the virtual function table is
+	needed.
+
+	* cplus-decl2.c (mark_inline_for_output): If DECL has pending inline
+	info, cause it to be processed.
+
+	* cplus-pt.c: Removed extraneous declaration of `permanent_obstack'.
+	Also, added comment for `reinit_parse_for_template'.
+
+	* cplus-typeck.c (mark_addressable): For FUNCTION_DECL case, also
+	test DECL_PENDING_INLINE_INFO.
+
+Thu Aug  1 13:26:12 1991  Michael Meissner  (meissner at osf.org)
+
+	* mips-tfile.c (main): If input file is not specified, use the same
+	file for both input and output.  If renaming output file and rename
+	fails, copy the file.
+	(free_multiple_pages): New function.
+
+	* tm-decrose.h (ASM_FINAL_SPEC): Add this to call mips-tfile if
+	using the MIPS assembler.
+
+	* tm-mips.h (ASM_FINAL_SPEC): Add this to call mips-tfile unless
+	using gas.
+	(TARGET_VERSION): Do not put __DATE__ in the output.
+
+	* make-mips (BISONFLAGS): Add -l to bison flags because the MIPS
+	based compilers have problems with #line.
+	(CC): Define in terms of $(OLDCC) so the USE_HOST macros work.
+	(EXTRA_PASSES): Build mips-tfile and mips-tdump.
+	(Makefile): Explicitly use sh to invoke configure.
+
+	* make-decrose (EXTRA_PASSES): Build collect.
+	(Makefile): Explicitly use sh to invoke configure.
+
+Thu Aug  1 12:22:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (directive_table, node_type): Add #include_next.
+	(do_include): Support #include_next.
+	(finclude): New arg DIRPTR.  All callers changed.
+
+	* reload1.c (reload_as_needed):  Check live_known before accessing
+	basic_block_head.
+
+Thu Aug  1 11:47:37 1991  Michael Meissner  (meissner at osf.org)
+
+	* gcc.c (compilers): Add new spec %A, which expands ASM_FINAL_SPEC.
+	This option is added after all other arguments to the assembler.  It
+	is for the MIPS port to run a cleanup program after the assembler
+	finishes, by having ASM_FINAL_SPEC be "\n mips-tfile args..."
+	(set_spec): If name is 'asm_final', set the asm_final_spec.
+	(process_command): print out asm_final_spec for -dumpspecs.
+	(do_spec_1): Expand %A to be ASM_FINAL_SPEC.
+	(validate_all_switches): look at any switches handled in
+	ASM_FINAL_SPEC.
+
+Thu Aug  1 07:42:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarfout.c (element_list_attribute): AT_element_list is a BLOCK4.
+
+Wed Jul 31 17:42:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): In "if (...) x = 1; else {...} if (x) ...":
+	Don't assume that SYMBOL_REFs are always non-zero.
+	Handle operations other than EQ and NE.
+	Handle conditional RETURN properly.
+
+	* out-a29k.c (print_operand, case 'e'): When writing LXn, use number
+	of last label in function.
+	(output_prolog): Fix missing arg in ADD  in a29k_first_epilogue_insn.
+
+Wed Jul 31 13:41:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c (sdbout_parms): Don't crash if MEM address is a MEM.
+
+Wed Jul 31 12:36:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fixincludes: New variable INCLUDES specifies input dir.
+
+	* Makefile.in (install-common): Add dummy elt to EXTRA_PASSES.
+	Fix typo in test.
+
+	* Makefile.in (install-cross-tools): Use /. in args to test -d.
+	(cccp.o, dbxout.o, c-plus-*): Added missing dependencies.
+
+	* c-common.c: Don't include rtl.h--that was unmodular.
+
+	* make-i386v (INSTALL): Define this.
+
+Wed Jul 31 07:38:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* Makefile.in (LIB2FUNCS_EXTRA): Extra C and assembler files for
+	gnulib2.
+        * make-m88k*: Put the assembler files in gnulib2 and eliminate use
+	of gnulib1.
+
+Tue Jul 30 20:21:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* stddef.h (WCHAR_T):
+	Test _WCHAR_T_, __WCHAR_T, _T_WCHAR_ and ___int_wchar_t_h.
+
+	* tm-i386isc.h (RETURN_POPS_ARGS): Caller pops the struct value addr.
+
+	* cccp.c (default_include): Search local dir, system, then standard.
+
+	* Makefile.in (USE_HOST_MALLOC, USE_HOST_OBSTACK):
+	Don't depend on which C compiler is in use.
+
+	* reload1.c (reload): Use pseudoreg to compute spill_indirect_levels.
+
+	* c-decl.c (start_function): Don't take arg types from builtin.
+	(duplicate_decls): Cancel builtin function if new arg types differ.
+	Don't take arg types from buiiltin.
+
+Tue Jul 30 18:45:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (decompose): Don't blow up for constants; they are safe.
+
+Tue Jul 30 15:49:34 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_parms): Don't crash if MEM address is a MEM.
+
+	* Makefile.in (install-common): Don't lose if EXTRA_PASSES is empty.
+	Don't install gcc if gcc-cross exists.
+	(install-cross-tools): Fix typos.
+	Avoid doing cd -- use absolute file names.
+	(gcc-cross.o): Rule deleted.
+	(gcc-cross): Build gcc, then copy it.
+
+Tue Jul 30 15:37:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-init.c (build_vec_delete): Use `size_binop' when building up
+	the array end boundary.
+
+Tue Jul 30 10:03:54 1991  Michael Meissner  (meissner at osf.org)
+
+	* tm-mips.h (DOLLARS_IN_IDENTIFIERS): Define to be 1.
+
+Mon Jul 29 18:56:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (refers_to_regno_for_reload_p): New function.
+	(push_reload, find_dummy_reload, immune_p): Use
+	refers_to_regno_for_reload_p instead of refers_to_regno_p.
+
+	* cse.c (fold_rtx): Don't make shifts wider than object.
+
+Mon Jul 29 17:17:55 1991  Michael Collison  (collison at osf.org)
+
+	* configure: Added entry for mmax-osfrose (Multimax with ns32k
+	running OSF/1).
+
+Mon Jul 29 14:51:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (SYMLINK): New variable.
+	(install-cross-tools): Make symlinks if possible.
+	Otherwise, for executables, indirect to tooldir with a shell script.
+	(install-native): Install gcc-cross as bin/gcc under tooldir.
+
+	* Makefile.in (USE_HOST_ALLOCA):
+	Generate nothing if don't need separate alloca.
+	(USE_HOST_OBSTACK, USE_HOST_MALLOC): New variables.
+	(HOST_LIBS): Use them. 
+	(HOST_PREFIX_1): Make a dummy file with this name,
+	for cross-compiling for a machine that needs no separate alloca, etc.
+
+	* c-parse.y (stmts): Accept either labels or unlabeled statements.
+	(lineno_labeled_stmt): New nonterminals.
+	(stmt_or_label, lineno_stmt_or_label): New nonterminals.
+	(stmts): Use lineno_stmt_or_label.
+	(stmt): Don't allow labels at this level.
+	Use lineno_labeled_stmt in place of lineno_stmt.
+
+	* cccp.c (default_include): Get rid of extra #endif.
+	Use CROSS_COMPILE, not CROSS.
+
+	* make-i386mach: New file.
+	* configure (i386-mach): Use that file.
+
+Mon Jul 29 09:10:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* tm-m88kluna.h (SYSTEM_INCLUDE_DIR): Define (also MACH).
+
+Sun Jul 28 16:15:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (default_include): Use SYSTEM_INCLUDE_DIR.
+	Delete special cases for MACH, UNOS.
+	* tm-i386mach.h, tm-sun3mach.h, tm-crds.h (SYSTEM_INCLUDE_DIR): Define.
+
+	* cccp.c (default_include): Use CROSS_INCLUDE_DIR if cross-compiler.
+	* Makefile.in (cccp.o): Pass a definition for CROSS_INCLUDE_DIR.
+
+	* Makefile.in (gnulib1.null): New target.
+	(install-common, install-common-headers, install-cross-tools):
+	(install-cross-rest, install-float-h-cross): New targets.
+	(install-float-h): New target.
+	(install-cross, install-headers): Use them.
+	(tooldir): New variable.
+	(EXTRA_PASSES): New variable.
+
+	* sdbout.c (plain_type_1): Don't record the size in sdb_type_size
+	unless a tag is output.
+
+	* Makefile.in (install-cross): Install specs by copying.
+	Install either gcc or gcc-cross, whichever exists.
+	(native): Remove gcc from deps.
+	(start.encap): Add gcc to deps.
+	(all.cross): Add gcc-cross to deps.
+	(gcc-cross): Like gcc rule except different output file name.
+	(gcc-cross.o): Likewise.
+
+	* Makefile.in (EXTRA_PASSES): New variable.
+	Used for machines which have extra passes to run.
+	(install-cross): Install those programs.
+	(native): Compile them.
+
+	* c-parse.y: Support `foo:' before a close brace.
+	(label): New nonterminal.
+	(stmt): Use that.  Treat a label as a statement in itself.
+
+	* Makefile.in (gnulib*.portable): Rules deleted.
+	(GNULIB1, GNULIB2): Point directly at gnulib1, gnulib2.
+	(gnulib): Use GNULIB1, GNULIB2 directly both as deps
+	and to specify the input files.
+	(gnulib1.conv): Renamed from gnulib1.convert; no longer phony.
+	(gnulib*.target): Rules deleted.
+	make-hp9k320 (GNULIB1): Use gnulib1.conv.
+	(LIBCONVERT): Override.
+
+	* move-if-change: Use -f with rm and mv.
+
+	* Makefile.in (gnulib2.ready): No longer phony.
+
+Sat Jul 27 13:03:50 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* combine.c (can_combine_p): Don't use NEXT_INSN, in previous change.
+
+	* Makefile.in (class-c, objective-c): New targets.
+
+	* tm-i386.h (ASM_OUTPUT_ALIGN_CODE): Define it.
+	(ASM_OUTPUT_LOOP_ALIGN): Use ASM_OUTPUT_ALIGN_CODE.
+	* tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Override it.
+	(ASM_OUTPUT_LOOP_ALIGN): Definition deleted.
+
+	* fixincludes (memvar.h): Make two defs of CAT, one ANSI and one trad.
+
+	* expmed.c (emit_store_flag): Set ICODE only after CODE is right.
+
+Sat Jul 27 06:45:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (insn_dead_p): Don't clobber NEEDED while ensuring that we
+	don't delete insns that set the frame or arg pointer.
+
+	* flow.c (flow_analysis, find_basic_blocks, propagate_block):
+	Use GET_RTX_CLASS.
+	
+Fri Jul 26 08:18:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* sdbout.c: Use <syms.h> for USG and provide a definition of
+	T_VOID if none existed.  Use ./gsyms.h for non-USG systems.
+	* gsyms.h: Renamed from syms.h.
+
+Fri Jul 26 22:47:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (macroexpand): Fix error message syntax.
+
+	* Makefile.in (gnulib2.target): Add semicolon.
+
+Fri Jul 26 18:17:36 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
+
+	* make-mips (CC): Bump -Wf,-XNg option to 1500 to allow the MIPS
+	compiler to compile cc1plus.
+
+Fri Jul 26 14:42:35 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* c-parse.y (yylex): Don't use mbtowc to translate L'\0'.
+
+	* tm-m88ksvr4.h (CPP_SPEC): Specify SVR4 pre-assertions.
+
+Fri Jul 26 09:53:53 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
+
+	* Makefile.in (cplus_expr.o): Add missing dependencies, so cc1plus
+	can be built without first building cc1.
+
+Fri Jul 26 07:30:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (can_combine_p): Can't combine if DEST is used in an
+	insn in the range (succ, i3).
+
+	* expmed.c (store_bit_field): Don't use insv if the mode of its
+	input is narrower than the width of the field.
+	(store_fixed_bit_field): Handle value with MODE_FLOAT mode.
+	(extract_bit_field): Don't use extzv/extv if its output mode is
+	narrower that width of field.
+	(extract_bit_field): Handle returning MODE_FLOAT mode.
+
+	* reorg.c (steal_delay_list_from_target): Add new arg PNEW_THREAD.
+	Instead of redirecting jump, return its target in *PNEW_THREAD.
+	(fill_slots_from_thread): Pass &NEW_THREAD to
+	steal_delay_list_from_target.
+
+Thu Jul 25 21:57:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* sched.c: Correct tiemann's email address.
+	(schedule_block): Note that the values of leftover REG_DEAD notes
+	are meaningless.
+	(new_insn_dead_notes): If find an instruction that both uses and
+	sets dest, then no new REG_DEAD note is needed.
+	(update_links): When handling dest of last insn, no new REG_DEAD
+	note is needed if the last insn also uses its dest.
+
+Thu Jul 25 18:15:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* flow.c (regno_clobbered_at_setjmp): Don't blow up if no basic blocks.
+
+Thu Jul 25 16:55:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cse.c (invalidate, cse_insn): Don't use HASHREG directly.
+	(HASH): Substitute HASHREG in.
+	(HASHREG): Deleted.
+
+	* tm-i386mach.h: New file.
+	* configure (i386-mach): Use that.
+
+	* tm-i386isc.h: New file, copied from 1.40.
+
+	* i386.md (jump, indirect_jump, tablejump, return):
+	Use ASM_OUTPUT_ALIGN_CODE.
+	* tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_LOOP_ALIGN):
+	Override the usual definition.
+
+	* rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Fix typo.
+
+Thu Jul 25 16:25:52 1991  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* out-m88k.c (legitimize_address): Note use of addressing base.
+	(m88k_layout_frame): Establish PIC addressing base as needed.
+
+	* tm-m88kdgux.h (GPLUSPLUS_INCLUDE_DIR): Specify.
+
+Thu Jul 25 07:54:36 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Defined.
+
+	* integrate.c (expand_inline_function): Propagate the value of
+	FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE.
+
+	* function.h (struct function): Add new field USES_PIC_OFFSET_TABLE
+	to structure.  Leave it to md files to initialize this field.
+	* expr.h (current_function_uses_pic_offset_table): New declaration.
+	* function.c ({save,restore}_tree_status): Save and restore
+	CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE to/from this slot.
+	* out-sparc.c (legitimize_pic_address): Set
+	CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE when appropriate.
+	(finalize_pic): If the current function does not use the PIC offset
+	table, there's no need to emit the PIC prologue.
+
+Wed Jul 24 13:54:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-m68k.h (NOTICE_UPDATE_CC):
+	Calls clear status even if value in address reg.
+
+	* tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Align with NOPs.
+
+	* i386.md (andsi3): Don't use movzbl if op1 can't support it.
+
+Wed Jul 24 07:47:59 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* cplus-decl.c (finish_decl): Don't build a cleanup for an variable
+	that is TREE_EXTERNAL.
+
+Tue Jul 23 20:48:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* make-mips: Delete rules for saber C.
+	* Makefile.in (STAGESTUFF, gnulib2.ready): Undo last change.
+
+	* tm-vax.h (LIB_SPEC): Supply missing close braces.
+
+Tue Jul 23 14:03:10 1991  Michael Meissner  (meissner at osf.org)
+
+	* protoize.c (toplevel): If FULL_PROTOTYPES is defined, assume that
+	the system provides full prototypes, and include stdlib.h and
+	unistd.h.
+	(toplevel): If _POSIX_SOURCE is defined, wait takes a pointer to an
+	int, even if the system is otherwise BSD.
+	(toplevel): If NO_CONST_IN_SYSCALL and __STDC__ is defined, assume
+	the system takes char *'s instead of const char *'s.
+	(process_aux_info_file, edit_file): Always pass 3 arguments to open,
+	to allow the NO_CONST_IN_SYSCALL macro to properly cast the
+	arguments.
+
+	* make-decrose (ALL): Make sure Makefile is rebuilt if either
+	Makefile.in or make-decrose changes.
+	(BUILD, SYSTEM_INCLUDES, LDFLAGS): Add BUILD variable to retarget
+	which build is used.
+	(CPP_ABORT): Don't define abort=fancy_abort here, do it in
+	tm-mips.h.
+	(INSTALL): Use installbsd program, since install uses System V
+	semantics on OSF/1.
+	(LANGUAGES): Rename collect-osf to collect.
+	(CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
+	add additional arguments.
+	(libdir, bindir, mandir): Define to current install values.
+	(cplus-lex.o): Work around problems with 1.39 bootstrap compiler
+	producing bad stabs for certain inlines.
+	(osf-main.c): Add a simple G++ constructor/destructor to gnulib.
+
+	* make-mips (ALL): Make Makefile depend on Makefile.in and
+	make-mips.
+	(CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
+	add additional arguments.
+	(CC): Add -Wf,-XNg500 switch to compile with due to the MIPS
+	compiler having fixed size tables.
+	(SABER_*): Add rules to run saber-C.
+
+	* mips.md (movsi_ulw): Allow unaligned register->register moves,
+	which is caused by the optimizer, and generate the normal reg move
+	code.  Also, turn loads from the stack into normal moves.
+	(movsi_usw): Turn stores into the stack into normal moves.
+	(call, call_value): Turn into a define_expand which takes three
+	arguments, to make Saber happier.
+
+	* tm-mips.h (abort macro): Define abort to be saber_stop if running
+	under Saber C.
+	(__PTR_TO_INT, __INT_TO_PTR): Define as casts if running on a MIPS
+	machine instead of with subtraction, in an attempt to quiet Saber C.
+	(ASM_MODIFY_SPEC): Run mips-tfile after the assembler, needs
+	corresponding gcc.c change to enable.
+
+	* tm-decrose.h (ASM_SPEC): Pass -v switch to gas as well as mips
+	assembler.
+	(ASM_MODIFY_SPEC): Run mips-tfile if -mmips-as.
+	(LINK_SPEC): Pass -v switch to linker.
+	(LIB_SPEC): Redefine as just -lc.
+	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine, use standard
+	libdir, bindir, and mandir in Makefile now.
+	(FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Define to get protoize
+	to compile cleanly.
+
+	* osf-main.c (new file): Provide simple constructor, destructor
+	capability to be linked into gnulib.
+
+	* collect-osf.c (various): General rewrite to improve speed and
+	portability.
+
+	* Makefile.in (CPLUS_OBJS): If CPLUS_INPUT is defined to be
+	cplus-input.o, compile it separately to work around problems with
+	bootstraping when it is included in cplus-lex.c.
+	(STAGESTUFF): Use $(LANGUAGES) instead of hard coded list of
+	languages, so make-xxx file can override, and provide others.
+	(gnulib2.ready): Make gnulib2 depend on all LANGUAGES targets, so
+	that if a target needs something else built, such as mips-tfile, it
+	will be.
+	(mostlyclean): Add missing -f to rm.
+	(install-dir): Use test to see if the directory exists before trying
+	to create it, and fail if the mkdir fails.
+	(install-headers): ditto.
+	(stage?, risky-stage?): ditto.
+	(install-cross): Install collect and mips-tfile if they are present.
+
+	* mips-tfile.c (toplevel, main): Add -I file option, which renames
+	the original output file to the given file.
+
+	* cplus-lex.c (toplevel): Include <assert.h> instead of "assert.h"
+	in order to avoid problems when including cplus-input.c, which also
+	uses <assert.h>.
+
+	* cplus-pt.c (toplevel): Move include of config.h before obstack.h
+	in case config.h defines some macros obstack.h uses such as
+	__PTR_TO_INT.
+
+Tue Jul 23 13:15:43 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* xm-i386.h, xm-i860.h, xm-spur.h, xm-tahoe.h: Use __builtin_alloca.
+
+Tue Jul 23 12:26:01 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* function.c (instantiate_virtual_regs_1): Change dubious code that
+	used to assign NEW to XEXP (x, 1) regardless of whether
+	validate_change accepted it to instead set XEXP (x, 0) back to OLD.
+	I.e., if the rtx is out of range and OBJECT is NULL, don't make any
+	change at all.
+
+	* out-sparc.c (compute_frame_size): If a function has any
+	stack-local objects, it's frame size is non-zero and space must be
+	reserved for the register window.
+
+	* loop.c (loop_optimize): Use get_max_uid to compute max_uid_for_loop.
+
+	* fold-const.c (size_int): Extend SIZE_TABLE's range from
+	0..HOST_BITS_PER_INT-1 to 0..2*HOST_BITS_PER_INT.
+
+	* integrate.c (expand_inline_function): Add minor efficiency
+	hack to not free all the temp slots as parameters are passed
+	from "caller" to "callee".
+
+	* integrate.c (expand_inline_function): If the inline function
+	returns its value via a structure_value_addr, we must prepare for
+	this to take place, even if the value is ignored by the caller.
+
+	* tm-decstatn.h (SIZE_TYPE): Define this to be "unsigned int".
+
+	* emit-rtl.c (try_split): If `split_insns' actually returns a SEQ
+	which is isomorphic to PAT, return TRIAL.
+
+	* out-sparc.c (eligible_for_epilogue_delay): FP register moves are
+	only eligible for leaf-function epilogue delay slots.
+
+Tue Jul 23 11:52:50 1991  Michael Meissner  (meissner at geech.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): Correct typo in getting static member
+	names.  The problem is DECL_ASSEMBLER_NAME returns a tree, and not a
+	char *.
+
+Tue Jul 23 07:10:41 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* varasm.c (immed_double_const): Use CONST_INT if MODE fits within
+	HOST_BITS_PER_INT, not BITS_PER_WORD.
+
+Mon Jul 22 21:37:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* fold-const.c (fold): Always preserve type after using const_binop.
+
+Mon Jul 22 18:34:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): Fix typo in condition for reg_equiv_address
+	being set from reg_equiv_memory_loc; had X instead of XEXP (X, 0).
+
+Mon Jul 22 15:25:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* gcc.c (process_command): -xnone turns off any -x option.
+
+	* tree.c (copy_chain): Deleted.
+	* integrate.c (copy_decl_tree): Use copy_list and copy_node.
+
+Mon Jul 22 11:35:47 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* tree.c, tree.h: Fix typos in Jul 22 merge.
+
+Mon Jul 22 08:51:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (thread_jumps): Don't set CHANGED if the jump's label isn't
+	changing.
+
+Mon Jul 22 02:37:23 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
+
+	* version.c: Bumped to 1.94 because of significant changes to
+	cplus-* files.
+
+Sun Jul 21 18:45:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* toplev.c (rest_of_compilation):
+	Save and restore DECL_INITIAL if we use save_for_inline_copying.
+	* integrate.c (save_for_inline_copying): Really copy DECL_INITIAL.
+	Calling integrate_decl_tree doesn't do it; deleted that call.
+	(copy_decl_tree): New function.
+
+	* integrate.c (integrate_decl_tree): Renamed from copy_decl_tree.
+	(integrate_parm_decls): Renamed from copy_parm_decls.
+
+	* tree.c (copy_chain): New function.
+
+Sun Jul 21 06:43:23 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (tstsi): Add comment noting potential -m486 enhancement.
+	(SImode push): With -m486, don't push from MEM.
+	(addsi3): Don't use lea for three operand add if -m486.
+	(ashlsi3): Don't use lea for shift of 1 if -m486.
+	(zero_extendhisi2,zero_extendqihi2,zero_extendqisi2): If dest is
+	%eax, or if -m486, AND is faster than MOVZX.
+
+Sun Jul 21 06:27:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (store_fixed_bit_field): Pass actual bit position (including
+	offset) to get_best_mode; also limit mode size to BITS_PER_WORD.
+	Use failure of get_best_mode to indicate that field spans word 
+	boundary.
+	Pass actual bit position to store_split_bit_field.
+	(store_split_bit_field): Accept actual bit position, hence handing
+	bitpos > BITS_PER_WORD.
+	Abort if BITPOS and BITSIZE don't cross exactly one word boundary.
+	Pass offset to store_fixed_bit_field; if register, use operand_subword;
+	else adjust offset for second word.
+	(extract_{fixed,split}_bit_field): Likewise.
+
+Sun Jul 21 06:11:55 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* All cplus-* files: DECL_VIRTUAL_P is no longer applied to
+	FUNCTION_DECLs.  Instead, to test if a function is virtual or not,
+	it suffices to test whether its DECL_VINDEX is non-NULL.  We use
+	ERROR_MARK_NODE as the placeholder for a FUNCTION_DECL we know will
+	be virtual, but for which we don't yet know the actual index.
+
+	* cplus-decl.c (define_function): Don't set up DECL_ASSEMBLER_NAME
+	until after having the chance to call through PFN.  Since `pushdecl'
+	now keys off of DECL_ASSEMBLER_NAME, we don't want to create
+	inadvertent aliases between builtin and library functions.
+
+	* cplus-typeck.c (build_modify_expr): We don't need to build a
+	SAVE_EXPR for a WITH_CLEANUP_EXPR.
+	(unary_complex_lvalue): For good measure, know how to deal with a
+	WITH_CLEANUP_EXPR inside a SAVE_EXPR.
+
+	* cplus-pt.c (uses_template_parms): Add handler for ARRAY_TYPE.
+
+	* cplus-method.c (do_inline_function_hair): Use TYPE_METHODS instead
+	of CLASSTYPE_METHOD_VEC for traversing all methods when looking for
+	inline functions.
+
+	* cplus-class.c (finish_struct_methods): Fix fencepost error if
+	there were no member functions except for ctors/dtors.
+
+Sun Jul 21 06:19:01 1991  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* tree.h, output.h (current_function_calls_longjmp): New variable.
+	* function.c (top level): Define it.
+	(push_function_context): Save it.
+	(pop_function_context): Restore it.
+	(init_function_start): Initialize it.
+
+	* calls.c (expand_call): Set current_function_calls_longjmp if
+	this call is to `longjmp'.
+
+	* flow.c, global-alloc.c: Include output.h so that
+	FRAME_POINTER_REQUIRED can use current_function_calls_*.
+	* Makefile.in (flow.o,global-alloc.o): Includes output.h.
+
+	* rtl.h (FUNCTION_FLAGS_CALLS_LONGJMP): New macro.
+
+	* integrate.c (initialize_for_inline): Record
+	current_function_calls_lonjmp in `function_flags'.
+	(output_inline_function): Set current_function_calls_longjmp if
+	the inline code calls longjmp.
+
+	* function.h (struct function): New field `calls_longjmp'.
+
+	* out-i386.c (simple_386_epilogue):  Add function description.
+	Return 0 if NON_SAVING_SETJMP && `setjmp' is called in function.
+
+	* tm-i386v.h (NON_SAVING_SETJMP): New macro.
+	(FRAME_POINTER_REQUIRED): New macro.
+
+Sat Jul 20 12:25:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* tm-m88k.h (OPTIMIZATION_OPTIONS): Don't change flag_signed_bitfields.
+
+	* cccp.c (include_defaults) Use LOCAL_INCLUDE_DIR macro instead
+	of "/usr/local/include".  Provide default definition.
+
+	* cccp.c (include_defaults) Added INCLUDE_DEFAULTS macro to
+	provide complete control over default include directories.
+	Delete the special case for VMS.
+	* xm-vms.h (INCLUDE_DEFAULTS): Defined.
+
+	* proto-man: Renamed from proto-unproto.1.
+
+	* final.c (final_scan_insn): Do ASM_OUTPUT_LOOP_ALIGN only for real loop.
+
+Sat Jul 20 05:34:13 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
+
+	* tree.h (tree_type): Use the MAXVAL slot for TYPE_METHODS.
+	* cplus-class.c (finish_struct): Methods are now chained with
+	TREE_CHAIN and placed in the TYPE_METHODS of their _TYPE node.
+	* cplus-dbxout.c (dbxout_type_methods): Use this fact, instead of
+	using more C++-specific knowledge.
+
+	* cplus-decl.c (init_decl_processing): Variable
+	`const_ptr_type_node' was not being initialized.  Same with
+	`const_string_type_node'.
+
+	* tree.h (DECL_PRINT_NAME): Marked for death.
+	(DECL_ASSEMBLER_NAME): Changed from a char* to a tree node.
+	All front-end files changed as necessary.
+
+	* cplus-tree.h (DECL_ORIGINAL_NAME): Deleted.  Now we use
+	DECL_NAME.
+	(DECL_NAME): No longer means the mangled name.  Now we use
+	DECL_ASSEMBLER_NAME for that purpose.
+	All cplus-* files changed as necessary.
+
+	* cplus-tree.c (lang_printable_name): Use a ring-buffer to hold
+	printable names instead of DECL_PRINT_NAME slot of a _DECL node.
+
+	* collect2.c: #define COLLECT, and let config.h provide definition
+	of macros.
+
+See file ChangeLog.3.
diff --git a/gcc/ChangeLog.5 b/gcc/ChangeLog.5
new file mode 100644
index 0000000..c6248db
--- /dev/null
+++ b/gcc/ChangeLog.5
@@ -0,0 +1,8954 @@
+Sun Jun 14 16:30:07 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Version 2.2.2 released.
+
+	* Makefile.in (gcc.xtar.Z): Don't give up if texinfo files not updated.
+	Just sleep to emphasize the message.
+
+	* i860.h (PREFERRED_RELOAD_CLASS): Avoid f regs for HI and QI if poss.
+
+	* protoize.c: Don't include wait.h.
+	(gen_aux_info_file): Test wait_status as in gcc.c.
+	Report fatal signals explicitly.  Report exit status.
+	* xm-next.h (wait): Definition deleted.
+
+	* sparc.c (print_operand): In `r' case, recognize any kind of zero.
+
+Sat Jun 13 02:51:10 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* va-sparc.h (va_arg): Handle all 8-byte types, not just double.
+
+Fri Jun 12 23:40:41 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* i860v4.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
+	Use `e' format, not `g' format.
+
+Fri Jun 12 12:52:48 1992  Tim Moore  (moore at fast.cs.utah.edu)
+
+	* pa.md (absdf2): Fix bug in output template.
+
+Fri Jun 12 10:25:25 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* ultrix.h (WCHAR_*):  Set to correct values.
+
+Fri Jun 12 10:07:43 1992  Michael Meissner  (meissner@osf.org)
+
+	* x-mips, x-mipsv, x-decstatn, x-iris (OLDCC): Add -Olimit 3000 to
+	bump the number of basic blocks that the MIPS compiler handles, so
+	that it doesn't issue warning messages saying to bump the limit.
+	Move the -O1 option here from X_CFLAGS, so that it doesn't
+	get passed when bootstraping.
+	(X_CFLAGS): Delete.
+
+Thu Jun 11 15:08:01 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* sparc.h (RETURN_IN_MEMORY): Do nothing for structs and unions.
+	(EXTRA_CONSTRAINT): During reload, accept pseudo reg for Q.
+
+	* va-sparc.h (va_arg): Handle unaligned doubles.
+
+	* fixincludes: Fix return type of `free' in malloc.h.
+	Recognize #define.NULL only at start of line.
+	In sys/types.h, find size_t only in a typedef.
+	In netdnet/dnetdb.h, don't add semicolon in wrong place.
+
+	* configure: Set use_collect2 to empty rather than unsetting.
+
+	* gstddef.h (__need_wchar_t): Fix typo in #undef.
+
+Wed Jun 10 04:30:01 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (process_command): In gcc_exec_prefix, machine precedes vers.
+
+	* i386sco4.h (CPP_SPEC): Don't redefine __STDC__.
+	fixincludes knows how to fix the conditionals in system headers.
+
+	* collect2.c (scan_prog_file): Initialize ldptr.
+
+	* dbxout.c (dbxout_symbol): Make tag precede typedef.
+
+	* configure: Initialize host, host_xm_file, host_xmake_file,
+	host_broken_install, and broken_install.
+
+	* Makefile.in (enquire.o): Add `./' when removing enquire.c.
+
+Tue Jun  9 20:52:05 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Version 2.2.1 released.
+
+	* Makefile.in (clean): Don't delete unprotoize.c.
+
+	* configure: Fix typo in modifying INSTALL variable in Makefile.
+
+Mon Jun  8 15:14:09 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Version 2.2 released.
+
+	* Makefile.in (extraclean): Delete *.rej and *.orig under config.
+	Delete *.xtar.
+	(dist): Update README *before* making tar file.
+	Fix quoting of error message about gcc.texi; exit if that test fails.
+	Don't print error messages from ln.
+
+	* assert.h [__cplusplus]: Use `extern "C"' around __eprintf decl.
+
+	* configure (rs6000-*-mach*, pyramid-*-*, mips-sgi-*):
+	Patterns made canonical.
+	(rs6000-*-mach*): Fix typo in `xmake_file'.
+
+	* configure (i386-*-osfrose*): Renamed from i386-osfrose*.
+
+	* Makefile.in (.NOEXPORT): Moved after `all'.
+	Comments put on separate lines.
+
+Mon Jun  8 18:33:01 1992  Michael Meissner  (meissner@osf.org)
+
+	* configure (mips-dec-osf*): Set xmake_file to x-mips.
+
+Sun Jun  7 15:55:34 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (set_spec): Fix braino in "appending" spec values.
+
+	* integrate.c (expand_inline_function): Fix dumb bug in last change.
+
+Sun Jun  7 07:16:25 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* romp.md: Disable two more define_splits during the first sched
+	pass until long-standing sched.c bug is fixed.		
+
+Thu Jun  4 16:49:56 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* reorg.c (dbr_schedule): Global registers are needed at function end.
+
+Sat Jun  6 17:07:16 1992  Torbjorn Granlund  (tege at david.ultra.nyu.edu)
+
+	* pyr.md (shift patterns): Declare output_shift.
+	(movdi, movdf): Declare output_move_double.
+
+Sat Jun  6 15:07:11 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (c-parse.o): Depend on c-parse.h.
+
+	* reload.c (find_reloads): Fix typo in format string.
+
+	* mips.c (override_options): BSD 4.3 does line buffering differently.
+
+	* Makefile.in (SYSCALLS.c.X): Put GCC output in file, not /dev/null.
+	(mostlyclean): Delete temp file.
+
+	* configure (handling broken_install): Add -c option.
+
+Sat Jun  6 11:34:00 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* gstdarg.h (va_arg): Fix typo incrementing AP.
+
+Sat Jun  6 16:27:18 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips-n5.h, mips-sysv.h: Include sys/param.h, not types.h.
+
+Fri Jun  5 19:00:36 1992  Howard Chu  (hyc@hanauma.jpl.nasa.gov)
+
+	* fx2800.h (ASM_OUTPUT_FUNCTION_PREFIX): Output a nop before
+	every function, to accomodate tdescs.  Also, save function
+	name in current_function_original_name for use in i860.c.
+	Also define OUTPUT_TDESC to get ABI-compliant tdesc info
+	generated for each function.
+
+	* i860.c (function_epilogue): Add code to output tdesc info
+	after each function.  Tdesc structure versions 1-4 are
+	supported.
+
+	* i860v4.h (ASM_FILE_END) [OUTPUT_TDESC]: Output a null tdesc entry
+	after the last function in a file.
+
+Fri Jun  5 19:03:22 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* collect2.c (main, scan_prog_file): Use bcopy, not memcpy.
+
+Fri Jun  5 16:27:18 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h, mips.c, mips.md: Undo June 3 changes.
+
+	* mips-n5.h, mips-sysv.h (getpagesize): If _SC_PAGE_SIZE is undefined,
+	use NBPC defined in sys/types.h.
+
+Thu Jun  4 14:36:43 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cse.c (delete_dead_from_cse): Don't delete anything inside a libcall.
+
+	* Makefile.in (install-libgcc): Depend on install-dir.
+
+	* c-lex.c (yylex): Suppress int out of range warning if -traditional.
+
+Thu Jun  4 23:34:05 1992  Howard Chu  (hyc@hanauma.jpl.nasa.gov)
+
+	* fx2800.h (DBX_OUTPUT_ENUM): Add missing argument, add a
+	missing semi-colon.
+	(ASM_OUTPUT_DOUBLE): undef definition from i860v4.h, replace
+	with definition used in i860.h.
+	(ASM_OUTPUT_FLOAT): same as above
+	Also undef MD_EXEC_PREFIX which is defined in i860v4.h.
+	Also define I860_STRICT_ABI_PROLOGUES for ABI-compliant function
+	prologues.
+
+Thu Jun  4 13:15:30 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* enquire.c (fake_f_rep): Use __extension__ to avoid pedantic warnings.
+
+	* cse.c (cse_process_notes): Don't stick VOIDmode into *_extract.
+
+	* c-decl.c (get_parm_info): For forward parm decls, check for
+	non-parm before checking TREE_ASM_WRITTEN.
+
+Thu Jun  4 13:57:47 1992  Tim Moore  (moore at defmacro.cs.utah.edu)
+
+	* pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Delete
+	FP_OR_SNAKE_FP_REGS (useless), add GENERAL_OR_FP_REGS,
+	GENERAL_OR_SNAKE_FP_REGS.
+	(ASM_DECLARE_FUNCTION_NAME): Handle DImode arguments correctly.
+	(PROFILE_BEFORE_PROLOGUE, FUNCTION_PROFILER): Do the same thing
+	for BSD and HPUX.
+	
+	* pa.c (output_function_prologue): Do profiling right (compatible
+	with HPUX).
+	(output_arg_descriptor): Handle DImode argument registers.
+
+Thu Jun  4 13:48:24 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+        * reload1.c (reload): Count reload register used by caller-save
+        handling in any basic block that contains a CALL_INSN.
+
+Thu Jun  4 09:23:19 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* i860v4.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):  Remove leading 0r.
+	(ASM_OUTPUT_FLOAT):  Use .float (not .single).
+
+Fri Jun  5 14:58:43 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* pyr.h (REGNO_OK_FOR_{INDEX,BASE}): Correctly test reg_renumber.
+	* configure (pyramid): Turn it back on.
+
+Thu Jun  4 11:26:55 1992  Torbjorn Granlund  (tege@mole.gnu.ai.mit.edu)
+
+	* pa.c (output_move_double): Handle overlapping moves between
+	registers.
+
+Wed Jun  3 22:08:18 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fold-const.c (fold, NOP_EXPR case): Don't drop intermediate in
+	(unsigned int) (unsigned short) char-variable.
+
+Wed Jun  3 11:18:43 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* stdarg.h (va_arg):  Use casts to avoid doing (pedantically invalid)
+	arithmetic on `void *' values when __svr4__ is defined.
+
+Wed Jun  3 17:51:21 1992  Torbjorn Granlund  (tege@zevs.sics.se)
+
+	* longlong.h (sparc): Test symbol __sparcv8__ for sparc.h conformance.
+
+Wed Jun  3 16:22:38 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparc.c (print_operand): Correct typo.
+	(sparc_type_code): Correctly handle C int and float types.
+
+	* sparc.h (CONSTANT_ALIGNMENT): Align strings to 8 byte boundary.
+	(DATA_ALIGNMENT): Likewise for character arrays.
+
+	* i960.c (function_prologue): Fixed calculation of offsets for
+	compiler's register save area.
+
+	* sparc.md (mulsi3,mulsidi3,umulsidi3,divsi3,udivsi3): Patterns
+	added to support V8 sparc architectures.
+	* sparc.h (TARGET_DEFAULTS): Add -mv8 and -msparclite options.
+
+	* reload1.c (reload): If can't satisfy reload for a group of more
+	than two registers, then abort to avoid an infinite loop.
+	(count_possible_groups): Skip to last reg of group, not first reg
+	of next group.
+
+Wed Jun  3 14:35:00 1992  Tom Wood  (wood at gen-rtx)
+
+	* c-lex.c (yylex): Let skip_white_space handle \r.
+
+	* expr.c (expand_builtin, fsqrt case): Stabilize the argument in
+	case a library call is done.
+
+	* final.c (final_scan_insn): Function begin, and block begin/end
+	notes are "real" in that they depend on the current line number.
+
+Wed Jun  3 14:34:28 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.md (andsi3_internal2): Fix typo in previous change, to
+	use %3, the clobbered register, instead of %@, the assembler
+	temporary.
+	(iorsi3_internal2): Ditto.
+	(xorsi3_internal2): Ditto.
+
+	* mips.h (MIPS_VERSION): Bump Meissner version # to 20.
+	(final_prescan_insn): Add declaration.
+	(lui_int): Add declaration.
+	(FINAL_PRESCAN_INSN): Just call final_prescan_insn.
+
+	* mips.c (lui_int): New function, return true if value fits in a
+	LUI instruction.
+	(final_prescan_insn): Move the checking for filling the delay
+	slots here from the FINAL_PRESCAN_INSN macro.  If the safe
+	attribute is set, we do not need a NOP to fill a load delay slot.
+
+	* mips.md (safe attribute): New attribute to indicate that the
+	current insn is safe to fill a delay slot even if the register
+	operand(s) are set in the load instruction which has the delay
+	slot.  This is for and/ior/xor expansions that have a large
+	constant integer as operand[2].  The load of the constant can
+	overlap the load.
+	(andsi3, iorsi3, xorsi3): Replace logical define_insn's with
+	define_expand's that either map directly to the hardware
+	instruction, or have a clobbered register to load the large
+	constant into.  This is instead of using $1 to hold the
+	intermeidate value.  Set the safe attribute to yes for the cases
+	where we need to load the integer.  Add define_split's to break
+	the large logical operations into the separate pieces.
+
+Wed Jun  3 00:00:36 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cccp.c (do_warning): Do just a warning, not an error.
+
+Tue Jun  2 17:30:09 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cse.c (cse_basic_block): When a jump becomes unconditional, 
+	check whether this caused TO to be deleted.
+
+Tue Jun  2 16:11:42 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+        * combine.c (subst, case IF_THEN_ELSE): Don't try reversing
+        something that isn't a comparison.
+
+Tue Jun  2 16:50:47 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* cccp.c (do_pragma): Don't warn about #pragma once if used in a
+	system header file.
+
+Tue Jun  2 15:21:07 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Bump Meissner version # to 19.
+	(ASM_OUTPUT_DOUBLE): Call mips_output_double.
+	(ASM_OUTPUT_FLOAT): Call mips_output_float.
+
+	* mips.c (mips_output_double): If REAL_VALUE_TO_TARGET_DOUBLE is
+	defined, use it to split the floating point value into 2 long
+	integers, and print them out in hex.  Otherwise use .double.
+	(mips_output_float): If REAL_VALUE_TO_TARGET_FLOAT is defined, use
+	it to split the floating point value into a long integer, and
+	print in out in hex.  Otherwise use .float.
+
+	* dec-osf1.h (new file): Config file for DEC's offical OSF/1
+	product (as opposed to the OSF/1 reference port from OSF).
+
+	* configure: Support mips-dec-osf1 target.
+	* config.sub: Support mips-dec-osf1 target.
+
+	* decstatn.h (CPP_PREDEFINES): If CPP_PREDEFINES is defined, don't
+	supply another definition.  Also, define _SYSTYPE_BSD.
+
+Mon Jun  1 00:04:01 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* gstdarg.h (va_list) [__svr4__]:  Typedef it to `void *'.
+	* va-sparc.h (__va___list) [__svr4__]:  Typedef this as `void *'.
+
+Sun May 31 15:26:32 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* calls.c (stack_arg_under_construction): New variable.
+	(store_one_arg): Set stack_arg_under_construction before calling
+	expand_expr if expand_expr might call a constructor to initialize
+	a stack argument.
+	(expand_call): Push the stack around function calls if
+	stack_arg_under_construction is nonzero.
+	Also copy structure_value_addr in that case.
+	Push the stack around an inline function if it makes calls
+	and there are outgoing arguments on the stack which must be preserved.
+	Move the call to expand_cleanups_to before that.
+	Do this stack adjustment before computing argument locations.
+
+Sun May 31 01:03:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* sdbout.c (sdbout_symbol): Test DECL_IGNORED_P only for
+	variables and types.
+	* dwarfout.c (output_decl): Never ignore a FUNCTION_DECL
+	even if DECL_IGNORED_P is set.
+
+Sat May 30 07:07:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.h, romp.h (FUNCTION_ARG): Fix typo in last change.
+
+	* combine.c (subst, significant_bits, simplify_comparison):
+	Only look at STORE_FLAG_VALUE if comparison result is integer.
+
+Fri May 29 18:04:45 1992  Ron Guilmette (rfg at ncd.com)
+
+        * dwarfout.c (output_decl):  Moved test for ERROR_MARK node out of
+	switch statement and added a test for DECL_IGNORED_P after that.
+        (dwarfout_file_scope_decl):  Check input node to see if it is an
+        ERROR_MARK before checking for DECL_IGNORED_P.  Also makes sure that
+        any node marked as DECL_IGNORED_P isn't also a function definition.
+
+Fri May 29 14:46:06 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* integrate.c (expand_inline_function):
+	Don't discard setting return value from a volatile source.
+
+	* c-decl.c (init_decl_processing): If traditional, strlen returns int.
+	(sizet_ftype_string): Deleted.
+
+	* expr.c (expand_builtin, fsqrt case): Return proper mode if arg error.
+
+Fri May 29 13:36:32 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* m88k.c (m88k_builtin_saveregs): Don't copy result to a register.
+
+	* m88k.h (FIXED_REGISTERS): Allow use of r1.
+	(REG_LEAF_ALLOC_ORDER): Choose r1 last.
+	(REG_ALLOC_ORDER): Choose r1 before any preserve register.
+	(ORDER_REGS_FOR_LOCAL_ALLOC): Switch between orderings.
+	* m88k.c (m88k_layout_frame): Save r30 when used as an ordinary
+	register.
+
+	* m88k.h (CHECK_FLOAT_VALUE): Delete, not needed.
+	* m88k.c (check_float_value): Delete, not needed.
+
+	* m88k.c (mostly_false_jump): Fix return check.
+
+	* m88k.md (mstore type): Delete.
+	(return, indirect_jump): These are jumps, not branches.
+	* m88k.c (eligible_for_epilogue_delay): No TYPE_MSTORE insns.
+
+Fri May 29 12:33:21 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* reload1.c (emit_reload_insns): Add missing arg to gen_input_reload.
+
+Fri May 29 06:43:15 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.h, romp.h (FUNCTION_ARG): Don't put variable-sized
+	operands in registers.
+
+	* explow.c (emit_stack_{save,restore}): Don't call validize_mem
+	on a null rtx.
+
+	* cse.c (cse_insn): Don't call canon_reg on entry from
+	hash table; instead, call it after we did the substitution.
+
+Thu May 28 18:47:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixincludes (malloc.h): Allow space or tab btwn typedef and char.
+
+Thu May 28 17:35:37 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_as_needed): Properly disable optional reload
+	that we can't do.
+	Don't abort if disabled reload uses a register we don't have.
+
+Thu May 28 14:43:01 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* next.c (get_directive_line): Declare it.
+
+	* defaults.h (ASM_OUTPUT_ASCII): Use unsigned chars.
+
+	* i860v4.h, i386v4.h, sparcv4.h	(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
+	Use the override definitions only if word order matches host.
+
+Wed May 27 17:32:36 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* unroll.c (find_splittable_givs): When completely unrolling loop,
+	precompute giv value into a reg before loop if it is complex.
+
+	* sparc.c (singlemove_string): Handle SFmode CONST_DOUBLE.
+	* sparc.h (PREFERRED_RELOAD_CLASS): Don't allow reloads of
+	constants to FP registers, nor reloads of FP constants that won't
+	match the 'E' constraint.
+	* sparc.md (movsf-1): Add pattern to efficiently handle SFmode
+	constants.
+
+	* sparc.md (lo_sum:DI pattern): Use constraint "0" for operand 1.
+
+	* i960.h (OVERRIDE_OPTIONS): Disable function inlining.
+
+	* function.c (assign_parms): When MAYBE_REG_PARM_STACK_SPACE,
+	don't assume that register parameters already have a stack slot.
+	* i960 (*): Change all tests of current_functions_args_size from
+	48 to 0 due to above change.
+	* i960.md (*): Likewise.
+
+	* sparc.h (LONG_DOUBLE_TYPE_SIZE): Add ifdefed out definition.
+	(FIXED_REGISTERS): g4 is not a fixed register.
+	(RETURN_IN_MEMORY): Define.
+	(FUNCTION_ARG_PASS_BY_REFERENCE): Also pass TFmode by reference.
+
+	* fixincludes: Fix stdio.h and math.h for Ultrix 4.0.
+
+Tue May 26 15:29:21 1992  Brendan Kehoe  (brendan@cs.widener.edu)
+
+	* x-we32k: new file, need alloca.o
+	* xm-we32k.h [NO_SYS_SIGLIST]: define this
+	* we32k.h [STRICT_ALIGNMENT] define as `1'
+	[NO_WAIT_H]: also define this
+	* collect2.c [NO_WAIT_H]: don't include sys/wait.h if this is
+	defined.
+
+	* Makefile.in (clean): rm libgcc1.null.
+
+Wed May 27 15:36:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* real.h (REAL_VALUE_TO_TARGET_SINGLE): Test HOST_BITS_PER_WORD right.
+
+	* i386sco.h (SIZE_TYPE): New definition.
+
+	* c-typeck.c (build_binary_op): When shortening, handle case
+	where op0 and arg0 are different but have same width.  op1/arg1 too.
+
+	* toplev.c (compile_file): Cast xmalloc when arg to setvbuf.
+
+	* expmed.c (expand_divmod): Clear can_clobber_op0 if doing mod.
+
+	* Makefile.in (protoize.1, unprotoize.1): Delete target before mv'ing.
+	(mostlyclean): Delete tmp-unproto.1.
+
+	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Test DECL_IGNORED_P.
+	* dwarfout.c (dwarfout_file_scope_decl): Likewise.
+
+Wed May 27 13:48:36 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (ashldi3,ashrdi3,lshrdi3): Fix typo in comparison.
+
+Wed May 27 02:11:22 1992 Ron Guilmette (rfg at ncd.com)
+
+	* i386v4.h, i860v4.h, sparcv4.h: Include real.h.
+	(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
+	New definitions, if host and target formats match.
+
+	* real.h (REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE):
+	Defined, but only if host and target formats match.
+
+Wed May 27 06:20:26 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_as_needed): For asm insn, check all reload
+	insns for validity.
+	(emit_reload_insns, gen_input_reload): Remove previous change that
+	checked them here.
+	* recog.c (constrain_operands, case 'm', 'o', 'g'): Accept pseudo if
+	reload is in progress.
+
+Tue May 26 19:24:21 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* combine.c (combinable_i3pat): Allow a hard register as the
+	destination even if SMALL_REGISTER_CLASSES if source is a CALL.
+
+	* emit-rtl.c (gen_lowpart_common): Fix handling of int->float
+	union conversions.
+
+Tue May 26 19:23:43 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* a29k.h (HARD_REGNO_MODE_OK): Don't let anything larger than
+	UNITS_PER_WORD be allocated to an odd numbered register.
+
+Tue May 26 15:22:27 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* config.sub (defaulting the OS): Separate subversions with periods.
+
+	* limits.h: Fix condition for defining long-long macros, to suit libc.
+
+	* Makefile.in (specs): New target.
+	(gcc): Don't write `specs' here.
+	(start.encap): Depend on `specs'.
+	(all.cross): Depend on EXTRA_PARTS.
+	(rest.cross): New target.
+
+	* c-common.c (declare_function_name):
+	Set TREE_USED, not TREE_NO_UNUSED_WARNING.
+
+Tue May 26 04:52:53 1992  Michael Meissner  (meissner@osf.org)
+
+	* loop.c (loop_has_volatile): New static variable to record
+	whether the loop has any volatile references in it.
+	(prescan_loop): Set loop_has_volatile.
+	(check_dbra_loop): Don't reverse loop if there are any volatile
+	references in it.
+
+Mon May 25 16:04:08 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386gas.h (ASM_OUTPUT_OPCODE): Translate "repnz" to "repne".
+	* seq386gas.h (ASM_OUTPUT_OPCODE): Likewise.
+
+Mon May 25 15:53:31 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* optabs.c (emit_indirect_jump): Emit barrier here.
+	* stmt.c (expand_computed_goto): Not here.
+
+Mon May 25 06:22:59 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (canon_reg): Must call validate_change if insn has any	
+	MATCH_DUPs even if replacing a pseudo with another pseudo.
+
+	* explow.c (emit_stack_{save,restore)}: Call validize_mem on save area.
+
+	* combine.c (simplify_shift_const, case PLUS): Simplify cases where
+	the PLUS is just turning on bits that will be shifted out.
+
+	* emit-rtl.c (gen_lowpart_common): Add new case for single-word
+	float->integer conversion; all others already present.
+	Check for -fpretend-float in this and the other cases.
+
+	* stmt.c (expand_goto): Fix typo in previous change.
+
+	* reload1.c (gen_input_reload): When checking for validity of
+	reloads made for asms, also check the constraints.
+
+	* explow.c (allocate_dynamic_stack_space): Don't add to size
+	if we aren't going to need to align the size.
+
+	* fold-const.c (fold, case *_DIV_EXPR): Fold (a * C1) / C2 for
+	some C1 and C2.
+
+Sun May 24 14:07:53 1992  Ron Guilmette (rfg at ncd.com)
+
+	* toplev.c (main):
+	Fix typo setting use_gdb_dbx_extensions in xcoff case.
+
+	* c-decl.c (pushdecl):  Call `build_type_copy' rather than calling
+	`c_build_type_variant' to duplicate a type.
+
+Sun May 24 16:56:09 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload): Refine setting of basic_block_needs.
+
+Sun May 24 15:43:08 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* combine.c (try_combine): Don't split an insn if that would move
+	a use of a register across a set of the same register.
+
+Sun May 24 14:50:38 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reg-stack.c (constrain_asm_operands): Ignore constraint letters
+	following '#' in each alternative.
+
+Sun May 24 02:28:45 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (pexecute): New alternative definition for OS2.
+	Take SEARCH_FLAG as arg instead of FUNC.
+	(execute): Change call to pexecute.
+
+	* toplev.c (main): Don't run ps for -dm if on OS2.
+
+	* cccp.c (main): Use PATH_SEPARATOR computing num_dirs.
+	(path_include): Likewise, setting q.
+
+	* gcc.c: Include sys/file.h.
+
+	* Makefile.in (extraclean): Delete install1.texi.
+
+Sat May 23 14:14:06 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* crtstuff.c (__do_global_ctors) [not INVOKE__main]: Make body empty.
+
+	* fold-const.c (float_error): Renamed from const_binop_error.
+	(const_binop, fold_convert):
+	Call set_float_handler around REAL_VALUE_TRUNCATE.
+
+	* Makefile.in ($(srcdir)/INSTALL): New target.
+	(doc): Depend on that.
+	($(srcdir)/gcc.info, $(srcdir)/cpp.info): Delete $(srcdir) from deps.
+	($(srcdir)/gcc.info): List all subfiles as deps.
+
+	* math-68881.h: Use %! instead of fpcr.
+
+	* install.sh: New file.
+	* configure: Changed install_with_cp to broken_install.
+	Test that flag for the host, not for the target.
+	If set, use install.sh.
+
+	* Makefile.in (EXTRA_HEADERS): New variable.
+	(USER_H): Use that.
+	* configure: Let alternatives set EXTRA_HEADERS via var header_files.
+	(m68k-...): Set header_files to install math-68881.h.
+
+	* Makefile.in (install-dir): Create (libsubdir)/include.
+	(install-limits-h, install-float-h): Depend on install-dir.
+
+	* Makefile.in (gcc.xtar): Warn if version in gcc.texi is old.
+
+	* genconfig.c (main): Add 1 when outputting MAX_RECOG_OPERANDS.
+	Initialize to just 9.
+
+	* gcc.c (MD_STARTFILE_PREFIX_1): New config macro.
+	(main): Use that like MD_STARTFILE_PREFIX.
+
+Sat May 23 08:13:38 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* reload1.c (reload): Copy MEM_IN_STRUCT_P flag when converting
+	pseudo register to equivalent memory location.
+
+Sat May 23 07:12:15 1992  Michael Meissner  (meissner@osf.org)
+
+	* x-iris (OLDCC): Add -cckr to turn off strict ANSI checking.
+
+	* mips.c (current_function_name): Delete definition, function.c
+	defines this and mips.h has a declaration.
+
+	* longlong.h (mips umul_ppmm): Use "d" constraint instead of "r", so
+	that we know the value is an integer register.
+
+Sat May 23 01:14:49 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* vax.h (PRINT_OPERAND): Undo last change.
+	Fix the comment instead.
+
+	* x-dpx2200, x-dpx2300 (ALLOCA_FINISH, AS): New variables.
+
+Fri May 22 01:52:22 1992  Ron Guilmette (rfg at ncd.com)
+
+	* svr4.h (MD_EXEC_PREFIX):  Added definition.
+
+	* protoize.c [POSIX]: Include dirent.h rather than sys/dir.h.
+	(_POSIX_SOURCE): Undef before defining.
+	(getpwd):  Change declaration to an `extern'.
+	(open):  Add declaration in the #if 0 section along with fprintf.
+	(link, unlink, access, execvp):  Add `extern' declarations.
+	(strlen):  Don't mention arg type in declaration.
+	(main):  Declare `params' as `const char *' to avoid botch when doing
+	test-protoize-simple.
+
+Fri May 22 17:15:36 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* calls.c (expand_call): Allocate stack space for arguments passed
+	in registers when OUTGOING_REG_PARM_STACK_SPACE is defined and
+	stack space has not been preallocated.
+
+Fri May 22 17:16:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (simplify_comparison): Try to reduce size of a
+	constant by changing comparison code; don't only do for 1 and -1.
+
+	* reload.h (reg_equiv_memory_loc): Declare.
+	* reload.c (refers_to_regno_for_reload_p): Use reg_equiv_memory_loc
+	instead of reg_equiv_mem and reg_equiv_address; look for constant.
+	(reg_overlap_mentioned_for_reload_p): LIkewise.
+	Use new function to check for MEM.
+	(refers_to_mem_for_reload_p): New function.
+	* reload1.c (reg_equiv_memory_loc): No longer static.
+
+Fri May 22 17:15:12 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* Makefile.in (test-protoize-simple):  Only delete files made by this
+	target (not the man pages!)
+	(test-protoize-simple):  Use -x option to avoid munging getopt.h.
+	(test-protoize-simple):  Fixed number of differences message.
+	(mostly-clean):  Properly remove all temp files relating to protoize/
+	unprotoize.
+	(install-common):  Force removal of previously installed g++ and c++
+	command files before trying to install new ones.
+
+	* spc-sol2.h:  New file.
+
+	* configure (sparc-*-solaris2*):  New configuration added.
+
+	* x-sparcv4 (X_CFLAGS):  Removed -Bstatic and -dn options.
+
+Fri May 22 15:30:05 1992  Chip Salzenberg  (chip@tct.com)
+
+	* c-common.c (declare_function_name): Move from c-decl.c.
+	Construct function names instead of expecting them as parameters.
+	Set TREE_READONLY and other attributes before calling pushdecl.
+	* c-decl.c (init_decl_processing, store_parm_decls): Calls changed.
+	(declare_function_name): Remove to c-common.c.
+
+	* cp-decl.c (init_decl_processing, store_parm_decls):
+	Call declare_function_name.
+
+Fri May 22 12:15:16 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparcv4.h (ASM_OUTPUT_CASE_LABEL): Define.
+
+Fri May 22 11:40:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* x-dpx2200, x-dpx2300 (CFLAGS): Definition deleted.
+
+	* c-decl.c, cp-decl.c (pushdecl): No shadow warnings if DECL_IGNORED_P.
+
+	* c-decl.c (declare_function_name):
+	Change names to __FUNCTION__ and __PRETTY_FUNCTION__
+
+	* vax.h (PRINT_OPERAND): In M case, don't complement after subtract 1.
+
+	* c-lex.c (yylex): Use pedwarn for overflow warnings.
+	Pedwarn if constant doesn't fit its type.
+
+Fri May 22 13:32:39 1992  Chip Salzenberg  (chip@tct.com)
+
+	* xcoffout.h (DBX_TYPE_DECL_STABS_CODE): Was DBX_DECL_STABS_CODE.
+
+Fri May 22 08:31:16 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* longlong.h (all machines): Define UMUL_TIME and UDIV_TIME.
+	Auxiliary formatting changes.
+	(header): Define __CLOBBER_CC and __AND_CLOBBER_CC.
+	(__sparc__ macros): Use them.
+	(__hppa__ add_ssaaaa,sub_ddmmss): Accept zero using `M' constraint.
+	(__hppa__ umul_ppmm): Define if _PA_RISC1_1.
+	(__mc88110__ umul_ppmm,udiv_qrnnd): New.
+	(__pyr__ umul_ppmm): Rewrite.
+	(default count_leading_zeros): Make it work for 64 bit longs.
+
+Fri May 22 06:27:31 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (cse_insn): Invalidate a volatile destination.
+
+	* expmed.c (expand_divmod): Correctly handle volatile operands.
+
+Fri May 22 06:26:50 1992  Chip Salzenberg  (chip@tct.com)
+
+	* rs6000.h (ASM_DECLARE_FUNCTION_NAME):  Use new function
+	xcoffout_declare_function.
+	* rs6000.c (output_epilog):  Shorten internal label.
+	(output_toc, output_function_profiler):  Likewise.
+	* xcoffout.c (xcoffout_declare_function):  New function, created
+	to localize knowledge of end-of-function internal label.
+	(xcoffout_end_epilogue): Shorten internal label.
+
+Thu May 21 15:31:42 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* reorg.c (relax_delay_slots): Clear INSN_FROM_TARGET_P when
+	remove insns from a delay slot.
+
+Thu May 21 13:54:15 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* reload.c (find_reloads):
+	Don't abort for % in last operand in asm_operands.
+
+	* alloca.c: Make symlink to master copy.
+
+	* stmt.c (expand_asm_operands): Count nclobbers properly.
+
+	* explow.c (allocate_dynamic_stack_space): Call mark_reg_pointer.
+
+	* c-parse.y (stmt, WHILE case): Start loop *after* parsing end test.
+	(do_stmt_start): Broken out from DO rule.
+	(stmt, DO case): Use that.
+	Add error-handler rule for parse error in end test.
+
+	* sparc.h (ADDITIONAL_REGISTER_NAMES): Support `cc'.
+
+	* c-lex.c (yylex): Pedwarn if `f' constant exceeds range of `float'.
+	Just once even if `f' appears twice.
+	This and the like warning for `double' are only if -pedantic.
+
+Thu May 21 08:46:30 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* Makefile.in (STAGESTUFF): Add stamp-proto.
+
+Thu May 21 04:04:33 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* svr3.h (LOCAL_LABEL_PREFIX): Override as a period.
+	(ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
+	Use LOCAL_LABEL_PREFIX.
+	* dpx2.h (LOCAL_LABEL_PREFIX): Definition deleted.
+	* tower-as.h (LOCAL_LABEL_PREFIX): Override as empty.
+
+Wed May 20 23:29:15 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* config-gcc.com: Take care of situation if sources are NFS mounted.
+
+Wed May 20 14:35:10 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Add additional validation check to
+	case that detects "if (foo) bar++;".
+
+Wed May 20 13:18:09 1992  Tim Moore  (moore@defmacro.cs.utah.edu)
+
+	* pa.md : Changed "xy" constraints to "x" constraints.
+	(movsi+6): Let "r" registers match too. Add define_split to change
+	into 2 insns if needed.
+	(decrement_and_branch_until_zero): New pattern.
+	* pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Fix for TYPE == 0.
+	(REGISTER_MOVE_COST): Do stuff for SNAKE_FP_REGS.
+	(PRINT_OPERAND_ADDRESS): Write CONST_INT case.
+
+Wed May 20 00:04:55 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* ns32k.h (NS32K_DISPLACEMENT_P): Fix typo.
+	* ns32k.md (extzv-1): New pattern for extracting from SImode.
+
+	* c++: -M suppresses -lg++.
+
+	* svr3.h (DO_GLOBAL_CTORS_BODY): Flush spurious #endif.
+
+	* reload1.c (gen_input_reload): New arg IS_ASM.  Can now return 0.
+	(emit_reload_insns): Pass new arg.  Error if it returns 0.
+
+	* configure: Use $cpu_type to default $tm_file.
+
+	* configure, config.sub: Correct we32 to we32k.
+	* configure (decstation-dec): Deleted--doesn't fit as machine alias.
+	(we32k): Add company default.
+	(fx2800): This is a machine alias, not a company default.
+
+	* configure (i386-*-bsd*, we32-att-sysv*, m68k-crds-unos*):
+	Missing *'s added at ends of config names.
+
+	* c-typeck.c (convert_arguments): Use warn_for_assignment to handle
+	-Wconversion.  Fix typo in width-mismatch test.
+
+	* svr3.h (ASM_GENERATE_INTERNAL_LABEL): Put a * at the front.
+
+Tue May 19 21:53:05 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (clean): Add -f in rm *.dvi.
+
+	* x-dpx2200, x-dpx2300 (CFLAGS): Make value conditional on CC.
+
+	* genattrtab.c (simplify_test_exp, evaluate_eq_attr):
+	Delete tests of current_alternative_string; they caused bugs.
+
+	* cross-test.c: New file.
+	* Makefile.in (cross-test, cross-test.o): New targets.
+	(all.cross): Depend on cross-test.
+
+	* c-decl.c (declare_function_name): Fix bug in previous change.
+
+Tue May 19 19:57:39 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* i960.h (FUNCTION_ARG_BOUNDARY): Return mode's alignment if type 0.
+
+	* calls.c (expand_call): Set MEM_IN_STRUCT_P for aggregate return
+	values in memory.
+
+	* function.c (locate_and_pad_parm): Use MAYBE_REG_PARM_STACK_SPACE
+	if defined.
+	* i960.c (i960_function_arg_advance): Put MUST_PASS_IN_STACK
+	parameters on the stack.
+	(i960_function_arg): Likewise.
+
+	* m68k.md (zero_extendqisi2+1): Add condition to exclude MEM/MEM
+	case which would require reloading.
+
+	* unroll.c: Delete incorrect Feb 26 1992 change.  
+	(copy_loop_body): For combined address givs, scale giv_inc by the
+	two giv's multiplicative factors if they are different.
+
+	* i960.md (zero_extendqisi2): Add comment.
+
+	* combine.c (apply_distributive_law): Don't distribute subregs
+	which change the mode class.
+
+	* fixincludes: Fix memory.h for SunOS.
+
+	* sparc.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CCFPEmode, for
+	compares which should generate exceptions for qNaNs.
+	(SELECT_CC_MODE): Use CCFPEmode for non EQ/NE FP compares.
+	* sparc.c (normal_comp_operator): Handle CCFPEmode.
+	(C_MODES, output_cbranch): Likewise.
+	* sparc.md (cmpdf, cmpsf): Modify patterns to use fcmpe for CCFPE
+	mode, and fcmp for CCFP mode.
+
+	From rfg:
+	* sparc.h: Declare output_move_quad, output_fp_move_quad and
+	output_floatsitf2.
+	* sparc.c (mem_aligned_8): New function.
+	(output_move_double): Clean up a little.  Call mem_aligned_8.
+	Load operands[] into register variables for efficiency.
+	(output_move_quad, output_fp_move_quad): New functions.
+	(output_floatsitf2): New function.
+	(print_operand): Support 'S' and 'T'.
+	* sparc.md (cmptf, movtf, extendsftf2, extenddftf2, trunctfsf2,
+	trunctfdf2, floatsitf2, fix_trunctfsi2, addtf3, subtf3, multf3,
+	divtf3, negtf2,	abstf2, sqrttf2):  New patterns added for TFmode
+	support.
+
+Tue May 19 19:34:10 1992    Ron Guilmette  (rfg at ncd.com)
+
+	* i386v4.h (DBX_REGISTER_NUMBER):  Fixed DWARF numbers for
+	x86 floating-point registers.
+
+Tue May 19 15:30:32 1992  Mats Lofkvist  (d87-mal@nada.kth.se)
+
+	* fixincludes: Fix return type of malloc and friends.
+
+Tue May 19 13:30:16 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* config.sub (iris4d): If $os is some kind of Irix, don't clobber it.
+	Make the default -irix4.
+
+	* c-decl.c (declare_function_name): New arg printable_name.
+	Declare __PRINTABLE_NAME__.
+	(init_decl_processing, store_parm_decls): Pass the new arg.
+
+Tue May 19 09:50:01 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* m88k.c (output_options): Check profile_block_flag.
+	(m88k_layout_frame): Ditto.
+	(output_function_block_profiler): Save and restore the parameter
+	registers when calling __bb_init_func.
+	(output_block_profiler): Use @LPBX2.
+	
+	* m88k.h (CASE_VECTOR_INSNS): Choose a table of branch
+	instructions or addresses.  The latter is a win for the m88110.
+	(ASM_OUTPUT_CASE_END): Nothing needed for table of addresses.
+	(ASM_OUTPUT_ADDR_VEC_ELT): Use "br" or "word".
+	* m88k.md (casesi, casesi_jump): Updated.
+
+	* m88k.md (m88110 function units): Count in half cycles.
+
+	* m88k.md (call insns): Clobber rather than use r1.
+
+	* m88k.c (m88k_layout_frame): Fix m88k_fp_offset for zero case.
+
+Mon May 18 10:38:20 1992  Michael Meissner  (meissner@osf.org)
+
+	* iris.h (DEFAULT_SIGNED_CHAR): Define as 0 for compatibility with
+	IRIS defaults.  Patch from kevin@tamri.com (Kevin Dalley).
+
+	* xm-irix4.h (HAVE_VPRINTF): Define.
+
+	* x-iris (CLIB): Add -lmalloc.
+
+	* mips.md (fp_comp functional unit): Use adder functional unit
+	instead to more closely model MIPS behavior and make genattrtab
+	faster.
+	(transfer functional unit): Use memory functional unit instead.
+	(sqrt functional unit): Use divide functional unit instead.
+	(branch_zero): If CSE has folded a value which is constant, and
+	the jump would be omitted, do not eliminate putting a jump there.
+	This causes bad code to be generated when using gas, since the
+	previous instruction may be a load which had it's delay slot
+	filled by the 'branch', and the next instruction depends on the
+	value loaded.
+
+	* mips-at.c (whole file): Delete, no longer needed.
+
+	* mips-at.md (whole file): Delete, no longer needed.
+
+	* Makefile.in (stamp-attrtab): Remove $(srcdir) in front of
+	$(PREMADE_ATTRTAB) so that MIPS builds can be done in
+	subdirectories.
+
+	* t-decrose (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast
+	enough that we don't have to save a pre-made genattrtab.c.
+	(LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a.
+
+	* t-decstatn (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast
+	enough that we don't have to save a pre-made genattrtab.c.
+	(LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a.
+
+	* t-mips (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast
+	enough that we don't have to save a pre-made genattrtab.c.
+	(LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a.
+
+	* mips.h (ASM_OUTPUT_CONSTRUCTOR,ASM_OUTPUT_DESTRUCTOR): Define.
+	Patch from wilson@cygnus.com.
+	(DEFAULT_SIGNED_CHAR): Don't define if already defined.
+
+Mon May 18 01:34:38 1992  Kayvan Sylvan    (kayvan@satyr.Sylvan.COM)
+
+	* svr3.h (DO_GLOBAL_CTORS_BODY): Start at end, if STACK_GROWS_DOWNWARD.
+
+Mon May 18 01:34:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (protoize.o, unprotoize.o):
+	Do nothing, but depend on stamp-proto.
+	(stamp-proto): New target.  Compile both protoize.o and unprotoize.o.
+
+	* configure (ns32k-ns-genix): Commented out.
+
+	* expmed.c (expand_mult): Use synth_mult even if not -O.
+
+Sun May 17 02:54:21 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (push_parm_decl): Pedantic warning if shadowing typedef.
+
+	* c-typeck.c (constant_expression_warning): New function.
+	(store_init_value): Call that.
+	* tree.h (TREE_CONSTANT_OVERFLOW): New flag.
+
+	* c-lex.c (yylex): "exceeds range" warning changed to pedwarn.
+	* c-decl.c (grokdeclarator): Likewise for duplicate keywords.
+
+	* c-typeck.c (build_unary_op): For increment operators,
+	test TREE_READONLY in operand, not the data type.
+
+	* unprotoize.c: New file.
+	* Makefile.in (unprotoize.o): Use that.
+
+	* c-decl.c (init_decl_processing): Make global decl for __NAME__.
+	(store_parm_decls): Make local decl for __NAME__.
+	(declare_function_name): Subroutine for that.
+	* toplev.c (rest_of_decl_compilation):
+	Ignore initialized statics if DECL_IGNORED_P is set.
+	* c-lex.c (yylex): Convert invisible initialized char array vars
+	to string constants.
+
+	* c-decl.c (get_parm_info): Change error message.
+
+Sat May 16 21:25:21 1992  Paul Eggert  (eggert@twinsun.com)
+
+	* fold-const.c (fold): Do not fold X-X to 0 if X is floating point.
+
+	* cse.c (simplify_unary_operation): - -X simplifies to X even
+	with IEEE floating point.
+
+Sat May 16 14:14:50 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (clean): Delete *.dvi.
+	(distclean): Not here.
+
+	* Makefile.in (install-man): Ignore errors in all commands.
+
+	* combine.c (expand_compound_operation):
+	Don't simplify extending a const_int.
+
+	* ns32k.h (NS32K_DISPLACEMENT_P): New macro.
+	(INDIRECTABLE_1_ADDRESS_P): Use that.
+	* ns32k.md (addsi3): Likewise.
+
+Sat May 16 07:47:11 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* m88k.h: Override SET_ASM_OP in svr4.h. 
+
+Sat May 16 00:10:09 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-parse.y (parmlist_1): Add pedantic warning.
+
+Fri May 15 13:10:07 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* configure (i386-*-sco3.2v4*): New file.
+	* config.sub: For SCO, produce -sco3.2v2.  For ISC, make just -isc.
+
+	* dbxout.c (DBX_TYPE_DECL_STABS_CODE): Was DBX_DECL_STABS_CODE.
+	(DBX_OUTPUT_ENUM): Pass type as arg; make it do the whole job.
+
+	* svr4.h (ASM_BYTE_OP): Delete the tab.
+	(SET_ASM_OP): New definition.
+
+	* Makefile.in (gcc.xtar): Depend on doc.
+	(gcc.info, cpp.info): Duplicate rules deleted.
+
+	* i386.c (handle_pragma): Use SET_ASM_OP, not DEF_ASM_OP.
+
+Fri May 15 12:38:18 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* final.c (final_scan_insn): Don't set new_block when within a
+	sequence.  Set it after the last insn of the sequence.
+
+Fri May 15 07:23:09 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* m88k.c (m88k_handle_pragma_token, output_short_branch_defs):
+	Use SET_ASM_OP.
+
+Fri May 15 14:54:54 1992  Howard Chu (hyc@hanauma.jpl.nasa.gov)
+
+	* fx2800.h: Replace Ron Guilmette's version with working version.
+	Tested on Concentrix 2.1 and 2.2.
+
+	* i860.c (singlemove_string): Comparison of const0_rtx was in the
+	wrong place and would never be reached. Added check for negative
+	short int constants.
+	(output_size_for_block_move): call singlemove_string instead of
+	just emitting a mov.
+	(sfmode_constant_to_ulong): eliminate bogus "# error" directive.
+
+	* t-fx2800, x-fx2800, xm-fx2800.h: New files.
+	* configure: Corresponding changes.
+
+	* dbxout.c (DBX_MEMPARM_STABS_LETTER): New macro.
+	(dbxout_type): Check for DBX_OUTPUT_ENUM.
+	(dbxout_parms): Use DBX_MEMPARM_STABS_LETTER.
+	(dbxout_block): Check for DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC.
+
+Thu May 14 18:26:13 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparcv4.h (ASM_OUTPUT_ALIGN_JUMP_TABLE, ASM_OUTPUT_INTERNAL_LABEL,
+	ASM_GENERATE_INTERNAL_LABEL): Delete.
+
+Thu May 14 13:51:01 1992  Chip Salzenberg  (chip@tct.com)
+
+	* toplev.c (compile_file):  Use IO_BUFFER_SIZE for finput.
+	* xm-i386sco.h, xm-rs6000.h (IO_BUFFER_SIZE): Defined.
+
+Thu May 14 15:21:24 1992  Roland McGrath  (roland@albert.gnu.ai.mit.edu)
+
+	* config.sub: Recognize "none" as a valid os.
+
+Thu May 14 13:37:52 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* function.c (assign_parms): Make new stack slot if entry stack
+	slot isn't aligned as much as the mode wants.
+	And don't make an eqv for entry_parm in that case.
+	* sparc.c (output_move_double): Assume memory always ok for ldd, std
+	except when explicit offset from stack.
+
+	* c-decl.c (duplicate_decls):
+	Don't warn about qualifier mismatch for a function.
+
+	* c-decl.c (grokdeclarator): Give explicit list of types to promote
+	to int (and sometimes to unsigned int) for parms.
+
+	* Makefile.in (gcc.info, cpp.info): New targets.
+	(gcc.xtar): Depend on those.
+
+	* expmed.c (extract_bit_field): Don't fail to compute
+	all of a DImode value.
+
+	* dwarfout.c (SET_ASM_OP): Renamed from DEF_ASM_OP.
+	(ASM_OUTPUT_DEF): Use SET_ASM_OP.
+	* m88k.h (SET_ASM_OP): Renamed from DEF_ASM_OP.
+	* sparcv4.h (DEF_ASM_OP): No need for #undef.
+
+	* cccp.c (main): Handle -iprefix option instead of GCC_EXEC_PREFIX.
+	* gcc.c (process_command): Set gcc_exec_prefix.
+	(do_spec_1): Handle %I.
+	(default_compilers): Use %I when running cpp.
+
+	* protoize.c (savestring, savestring2): Change parm decls.
+
+	* i860.h, we32k.h (CONST_COSTS): Add missing parm OUTER_CODE.
+
+	* i386v4.h (DEF_ASM_OP, WEAK_ASM_OP): Deleted.
+
+Wed May 13 17:23:45 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* rtl.c (init_rtl): For byte_mode and word_mode, use first fit.
+
+	* protoize.c (munge_compile_params): Increase size of temp_params.
+
+Wed May 13 13:30:40 1992  Chip Salzenberg  (chip@tct.com)
+
+	* i386sco4.h: New file.
+
+Tue May 12 23:23:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* expr.c (expand_increment): A subreg as op0 is not necessarily a copy.
+	Treat subregs like regs.
+
+	* c-typeck.c (mark_addressable): Different messages for reg var
+	if reason is a use in a nested function.
+
+Tue May 12 14:28:22 1992  Tom Wood  (wood at gen-rtx)
+
+	* gcc.c (process_command): -save-temps uses a switches entry.
+
+Tue May 12 21:24:46 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* collect2.c (vfork): Declaration deleted.
+
+Tue May 12 06:16:49 1992  Niklas Hallqvist  (niklas@appli.se)
+
+	* tower-as.h: Added support for basic block profiling.
+
+Tue May 12 02:34:45 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* unx386.h (AS3_SHIFT_DOUBLE): New macro to print shift-double
+	opcodes.
+
+	* i386gas.h (AS3_SHIFT_DOUBLE): Redefine for GAS shift-double rules.
+	(GAS_MNEMONICS): New macro to force use of opcodes for GAS.
+	* seq386gas.h (AS3_SHIFT_DOUBLE,GAS_MNEMONICS): Likewise.
+
+	* i386.c (print_operand): Use GAS_MNEMONICS to choose long-long
+	opcode suffix.
+
+	* i386.md (ashldi3,ashrdi3,lshrdi3): Split into separate
+	recognizers for constant and variable shifts.
+	Use AS3_SHIFT_DOUBLE for variable shifts.
+	(all shifts and rotates): Don't allow memory operands for shift
+	count.
+	(bit set/clear): Don't allow non-CONST_INT constants as SET_SRC.
+	(movstrsi,cmpstrsi,strlensi): Allow any address_operand within
+	a MEM:BLK, not just register_operand.
+	(movstrsi): Rewrite to avoid match_dup on the address_operand
+	above.
+
+Mon May 11 23:31:47 1992  Mike Stump  (mrs@albert.gnu.ai.mit.edu)
+
+	Sun May 10 18:44:58  Per Bothner  (bothner@cygnus.com)
+
+	* dbxout.c (dbxout_type_methods):  Only emit final semi-colon
+	of method list of we have emitted any methods.  (The converse
+	of only emitting the operation name initially if needed.)
+
+Mon May 11 22:45:18 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c, reload1.c: Use reg_overlap_mentioned_for_reload_p and
+	refers_to_regno_for_reload_p instead of the normal versions.
+	* reload.c (reg_overlap_mentioned_for_reload_p): New function.
+
+Mon May 11 22:44:50 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* integrate.c (expand_inline_function):  Copy LABEL_NAMEs to new
+	copies of CODE_LABELs.
+	* tree.c (decl_function_context, decl_type_context):  Renamed `fndecl'
+	formal parameter to `decl' throughout these functions.
+
+Mon May 11 18:43:45 1992  Paul Eggert  (eggert@twinsun.com)
+
+	* cccp.c: (deps_file): Deleted.
+	(main): Do not open deps_file until needed.
+	Check error status of dep_stream and stdout more carefully.
+	(timestamp): New function; avoids calling localtime unless needed.
+	(special_symbol, initialize_builtins): Use new timestamp function.
+
+Mon May 11 20:48:26 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* genix.h: Added #error, since this hasn't been updated.
+
+Mon May 11 14:33:32 1992  Ron Guilmette (rfg at ncd.com)
+
+	* dwarfout.c (is_pseudo_reg):  New function.
+	(location_attribute):  Use `is_pseudo_reg'.
+	(location_or_const_value_attribute):  Use DECL_INCOMING_RTL as the
+	basis for forming the location decsriptor for any register parameter
+	which was optimized into non-exitance.
+
+	* dwarfout.c (DWARF_VERSION):  New (default) definition.
+	(ASM_OUTPUT_DWARF_STACK_OP, ASM_OUTPUT_DWARF_FMT_BYTE,
+	ASM_OUTPUT_DWARF_TYPE_MODIFIER, ASM_OUTPUT_DWARF_DATA1):  Output tab
+	before ASM_BYTE_OP.
+	(ASM_OUTPUT_DWARF_ADDR_CONST):  Encapsulate all statements in a
+	`do { ... } while (0)'
+	(data_member_location_attribute, bit_offset_attribute):  Both fixed
+	to use alignment of declared type of field as the "containing object"
+	size.
+	(location_or_const_value_attribute):  Fixed to use DECL_INCOMING_RTL
+	only for parms passed in memory.
+	(output_decl):  Don't output DIEs for externals if DWARF_VERSION == 1.
+
+Sun May 10 17:18:33 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* pa.h (CPP_PREDEFINES): Define for BSD here.
+	Remove conditional #ifdef hpux.
+	* pa-hpux.h, pa-ghpux.h (CPP_PREDEFINES): Define for hpux here.
+	* pa.h (CPP_SPEC): Define.
+
+Sun May 10 12:12:06 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (clean): Delete unprotoize.c.
+
+	* stmt.c (expand_decl): Set MEM_IN_STRUCT_P right in dynamic case.
+
+	* expr.c (get_inner_ref): Handle ARRAY_REF only if constant offset.
+	Handle non-PLUS_EXPR variable offset by assuming multiple of byte.
+	(expand_assignment, expand_expr): Fix gen_rtx added in last change.
+
+Sat May  9 02:39:58 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* expr.c (get_inner_reference): New output arg poffset.
+	(expand_assignment, expand_expr): Pass new arg.  Handle nonzero offset.
+	(do_jump): Pass new arg but ignore result.
+	* fold-const.c (optimize_bit_field_compare, decode_field_reference):
+	Pass the new arg.  Just return 0 if offset comes back nonzero.
+
+	* reload.c (find_equiv_reg): Always test valueno >= 0.
+
+	* c-aux-info.c: Don't include param.h or errno.h; don't declare errno.
+
+	* rtl.c (read_rtx): Fix error in prev change.
+
+	* gcc.c (process_command): Handle -print-libgcc-file-name.
+	(main): Handle print_libgcc_file_name by printing the name.
+
+	* c-decl.c (finish_struct): Use TYPE_PRECISION to see whether 
+	bitfield's type is narrower than int, for promoting to int.
+
+	* cccp.c (struct definition, struct reflist): New field `rest_args'.
+	(struct arglist): Likewise.
+	(rest_extension, REST_EXTENSION_LENGTH): New var and macro.
+	(create_defnition): Recognize `...' and set flag in arglist.
+	(collect_expansion): Propagate flag to definition.
+	(macroexpand): Check flag when parsing arglist.
+	Special handling for ## next to a rest arg.
+	(macarg, macarg1): New arg rest_arg affects parsing in macarg1.
+
+	* genattrtab.c: Misc speedups and size reductions.
+	(check_attr_test): Set RTX_UNCHANGING_P for tests of const attributes.
+	Also for symbol_ref and comparison ops.
+	(make_canonical): Likewise.  Also check for degenerate cond values.
+	(operate_exp, simplify_cond, insert_right_side, evaluate_eq_attr):
+	Avoid copying in some cases.  Detect opportunities to simplify.
+	(compute_alternative_mask): Avoid atoi in most cases.
+	(copy_rtx_unchanging): New function.
+	(evaluate_eq_attr, simplify_test_exp): Use that.
+
+	* genattrtab.c (optimize_attrs): Work pattern by pattern,
+	doing all the work for each pattern before moving on.
+	Use temp_obstack during simplification, then copy the end result.
+	(temp_obstack): New obstack.
+	(clear_struct_flag): New subroutine.
+	(SIMPLIFY_TEST_EXP): Test MEM_IN_STRUCT_P.
+	(simplify_test_exp): Add code for debugging stop.
+	Avoid consing when possible; sometimes free storage.
+	Check MEM_IN_STRUCT_P.  Add shortcuts.
+
+	* genattrtab.c: Add simplification per alternative (not in use now).
+	(insn_n_alternatives): New array filled in by gen_insn.
+	(current_alternative_string): Nonzero means we are simplifying 
+	for a particular alternative.  Value is string for that numeral.
+	(SIMPLIFY_ALTERNATIVE): New macro simplifies eq_attr for alternative.
+	(evaluate_eq_attr, simplify_test_exp): Call SIMPLIFY_ALTERNATIVE.
+	(simplify_by_alternatives, count_sub_rtxs): New functions.
+
+	* genattrtab.c (attrs): Now an array indexed by first char.
+	(MAX_ATTRS_INDEX): Length of above.
+	(find_attr, main): Use that new data structure.
+
+	* genattrtab.c: Clarify use of hash-consing:
+	(hash_obstack): New obstack.
+	(attr_hash_add_rtx, attr_hash_add_string): Use hash_obstack.
+	(attr_rtx): Use hash_obstack if object is hashed.
+	Set RTX_INTEGRATED_P if object is hashed.
+	Don't hash object if subexpressions aren't hashed.
+	If making symbol_ref, hash the symbol name.
+	Uniquize const_int with value 0 or 1.
+	(attr_equal_p): New compare function; uses RTX_INTEGRATED_P.
+	(simplify_and_tree, simplify_or_tree, simplify_test_exp): Use that.
+	(attr_copy_rtx): New; copy all but hashed subexpressions.
+	(attr_eq): New function.
+	(attr_numeral): New function.
+	(check_attr_test): Use attr_eq.  Hash symbol_ref and comparison ops.
+	(check_attr_value): Return modified value.  Callers changed.
+	Hash symbol_ref.
+	(convert_set_attr_alternative): Use attr_eq and attr_numeral.
+	(convert_const_symbol_ref): Hash symbol_ref and eq.
+	(make_alternative_compare): Use attr_numeral.
+	(alternative_name): Fill in using hasher.
+	(copy_boolean): Hash a boolean expression if possible.
+
+Fri May  8 23:10:18 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (ashldi3,ashrdi3,lshrdi3): Fix typo in output template.
+
+	* cse.c (cse_insn): Handle SUBREGs in CLOBBERs.
+
+Fri May  8 14:55:17 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (PREMADE_ATTRTAB, PREMADE_ATTRTAB_MD): New vars.
+	(stamp-attrtab): Use them, to use presupplied file if suitable.
+	* t-mips, t-decstatn, t-decrose (PREMADE_ATTRTAB, PREMADE_ATTRTAB_MD):
+	Defined.
+	* mips-at.md, mips-at.c: New files.
+
+	* c-common.c (shorten_compare): Extend "always 0" warning
+	to fencepost case with le or ge.
+
+	* cccp.c (pass_thru_directive): Don't output a newline.
+	(initialize_builtins): Add explicit newlines in sprintfs.
+
+Fri May  8 14:49:12 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.md (adddi3): Force -32768 into a register, since the
+	define_insn's won't accept that one value.
+	(all attributes): Where an attribute is set to the same value in all
+	alternatives, don't use the alternative notation, since it will make
+	genattrtab somewhat faster.
+
+	* rtl.c (read_rtx): Use the current obstack to read in strings,
+	rather than repeated malloc/realloc's.
+
+Thu May  7 18:41:03 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* calls.c (expand_call): Never set must_preallocate if no stack args.
+
+Thu May  7 16:52:56 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* pa1*: New names for pa1.1*.
+	* configure: Corresponding changes.
+
+	* m68k.md (u?mulsidi3): Don't permit immediates for operand 2.
+	(u?mulsidi3 recognizers): Split into immediate/nonimmediate cases.
+	* m68k.md ({zero,sign}_extend recognizers): Remove `n' from constraint
+	if predicate doesn't permit constants.
+
+Thu May  7 15:42:32 1992  Michael Collison  (collison at osf.org)
+
+	* i386rose.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Fix these to
+	avoid printing NaNs, and infinity.
+	(SUBTARGET_SWITCHES): Add OSF dependent switches for half-pic
+	support.
+	(MASK_HALF_PIC, TARGET_HALF_PIC): Likewise.
+	(CC1_SPEC): Map pic-none, pic-lib, pic-extern and pic-calls
+	to appropriate half-pic compiler switches.
+	(LINK_SPEC): If not -noshrlib or -pic-none, pass -warn_nopic.
+	Allow user to pass -noshrlib directly.
+	(OPTIMIZATION_OPTIONS): Customize levels for OSF.
+	(CONSTANT_ADDRESS_P: Add check to determine if we have a
+	half-pic constant.
+	(ENCODE_SECTION_INFO): Check to see if we have a half-pic
+	declaration.
+	(ASM_DECLARE_OBJECT_NAME): Output the label (definition) for a
+	object and check to see if it is half-pic.
+	(ASM_DECLARE_FUNCTION_NAME): Likewise but for functions.
+
+Thu May  7 15:56:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* reload.c (find_reloads): Remover unterm comment from recent changes.
+
+	* genattrtab.c (compute_alternative_mask): Usually bypass atoi.
+
+Thu May  7 15:56:51 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* genattrtab.c (fill_attr): Do nothing for constant attribute.
+	(check_attr_test): Set unchanging flag for constant attribute.
+	(write_test_expr): Expand constant attributes here.
+
+Thu May  7 06:01:46 1992  Michael Meissner  (meissner@osf.org)
+
+	* decrose.h (CPP_SPEC): Fix typo in last change.
+
+Wed May  6 17:39:31 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* convex.h (HAVE_STRERROR, vfprintf, WTERMSIG, WEXITSTATUS): Deleted.
+
+	* dbxout.c (dbxout_type): Don't repeat a cross-reference
+	merely because full is nonzero.
+
+	* calls.c (expand_call):
+	Avoid rounding error testing copy_to_evaluate_size.
+
+	* xm-mipsbsdn.h: Renamed from xm-mipsbsdnews.h.
+	* xm-sun386.h: Renamed from xm-xm-i386sun.h.
+	* configure: Corresponding changes.
+
+Wed May  6 23:11:55 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* cse.c (simplify_binary_operation): Support MIN and MAX for
+	SImode and narrower integers.
+
+Wed May  6 17:25:37 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Bump Meissner version # to 18.
+	(mips_cpu_attr): New define, which is the mips_cpu variable recast
+	to the attr_cpu enumeration for mips.md.
+	(HALF_PIC_NUMBER_PTRS, HALF_PIC_NUMBER_REFS): Add dummy
+	definitions if halfpic.h is not included.
+
+	* mips.c (function_epilogue): Print half-pic stats if -mstats and
+	the stats are non-zero.
+
+	* mips.md (cpu attribute): Just use symbol_ref "mips_cpu_attr"
+	instead of a four way if statement.
+	(movsi_internal, movhi, movqi): Use 'z' constraint for fpsw, not 's'.
+
+	* halfpic.h (half_pic_number_ptrs): Add counter for the number of
+	pointers generated.
+	(half_pic_number_refs): Add counter for the number of references.
+
+	* halfpic.c (half_pic_number_ptrs): Add counter for the number of
+	pointers generated.
+	(half_pic_number_refs): Add counter for the number of references.
+	(half_pic_ptrs): Update new counters.
+
+	* decstatn.h (CPP_SPEC): Define __LANGUAGE_x__ and __LANGUAGE_x
+	where x is C_PLUS_PLUS, OBJECTIVE_C, C, or ASSEMBLY.  Fix
+	undef'ing LANGUAGE_C for .S files.
+	(HALF_PIC_PREFIX): Define as '$Lp.'.
+
+	* decstatn.h (CPP_SPEC): Define __LANGUAGE_x__ and __LANGUAGE_x
+	where x is C_PLUS_PLUS, OBJECTIVE_C, C, or ASSEMBLY.
+
+	* mips-tfile.c (toplevel): Don't define anything in the standard
+	headers, such as open, etc.
+	(add_procedure): Delete unused variable orig_fdb.
+
+	* mips-tdump.c (toplevel): Don't define anything in the standard
+	headers, such as open, etc.
+
+	* collect2.c (main): Don't pass -f<xxx> switches to GCC when
+	building the constructor table.
+	(write_c_file): Put extern in front of all external declarations.
+	(scan_prog_file, COFF varient): On ECOFF systems, check whether
+	the header pointer is non-NULL before using it.
+
+	* cp-lex.c (store_pending_inline): Cast obstack_copy arg to char *.
+	(copy_lang_decl): Cast bcopy args to char *.
+
+Wed May  6 13:28:58 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* i960.h, i960.c (hard_regno_mode_ok): Use unsigned int not short.
+
+	* Makefile.in (USER_H): Add va-i960.h.
+
+Wed May  6 07:31:54 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* explow.c (emit_stack_{save,restore}): New functions.
+	* expr.h: Declare them and enum save_level.
+	* calls.c (expand_call): Call emit_stack_save.
+	* expr.c (expand_builtin, case BUILT_IN_ALLOCA): Likewise.
+	* function.c (delete_handlers): Make test for insn that sets
+	a slot more general.
+	(expand_function_end): Call emit_stack_{save,restore}.
+	* stmt.c (declare_nonlocal_label): Call emit_stack_save.
+	(expand_goto_internal): Likewise.
+	(expand_goto): Likewise.
+	Copy slots so they don't get instantiated incorrectly; also
+	update use of virtual regs and frame pointer.
+	(expand_end_bindings): Call emit_stack_restore.
+	(expand_decl): Call emit_stack_save.
+	Set current_function_calls_alloca when allocating variable-sized
+	objects.
+	* rs6000.md ({save,restore}_stack_{block,function,nonlocal}): New.
+
+Tue May  5 13:17:29 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* configure (a29k-*-*, i960-*-*): New default configurations.
+
+	* i960.c, i960.h, i960.md, xm-i960.h, va-i960.h: New files.
+
+	* gstdarg.h, gvarargs.h: Include va-i960.h for i960.
+
+	* calls.c (expand_call): Call REG_PARM_STACK_SPACE once and save
+	result.  Add code to Use new macros MAYBE_REG_PARM_STACK_SPACE and
+	FINAL_REG_PARM_STACK_SPACE.
+	(store_one_arg): New parameter reg_parm_stack_space.
+	* function.c (assign_parms): Use MAYBE_REG_PARM_STACK_SPACE.
+
+	* cse.c (NONZERO_BASE_PLUS_P): Don't consider arg pointer by itself
+	to be non-zero, because it isn't on the i960.
+
+	* dbxout.c (dbxout_symbol): Use decl_function_context not
+	TREE_PERMANENT to identify function local statics.
+
+	* integrate.c (copy_rtx_and_substitute): Also remap SYMBOL_REFs
+	that point to LABEL_REFs in the constant pool.
+
+	* expr.c (expand_expr, PLUS case): Canonicalize MULT
+	when associating a constant.
+
+Tue May  5 12:56:29 1992  Torbjorn Granlund  (tege@mole.gnu.ai.mit.edu)
+
+	* pa.c (singlemove_string): Make it global.
+	* pa.md: Add high:DI and lo_sum:DI patterns.
+
+Tue May  5 12:04:56 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_array_ref): Require int index *after* promotion.
+
+	* convex.h (REG_OK_FOR_{BASE,INDEX}_P): Virtual regs that will
+	turn into stack_pointer_rtx are not valid for indexing.
+
+	* config.sub: NeXT is BSD, not SysV.
+
+	* att386.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
+	Undef before defining.
+
+	* dbxout.c (dbxout_parms): Handle invisible reference parms.
+
+Tue May  5 22:48:54 1992  Niklas Hallqvist  (niklas@appli.se)
+
+	* Makefile.in (test-protoize-simple):
+	Change tmp-protoize* to tmp-proto*.
+	(mostlyclean): Remove that temporary file.
+
+Tue May  5 09:35:30 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.c (print_operand): Handle VOIDmode CONST_DOUBLE correctly.
+
+	* reload.c (find_reloads): Recompute `code' before preferred_class.
+
+Mon May  4 00:23:29 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* svr3.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
+	Added definitions appropriate for most svr3 systems.
+
+	* protoize.c (volatile):  Define to nothing if !defined(__STDC__).
+	(setjmp, longjmp):  Declared external if not defined as pp-macro.
+	(include_defaults):  Fix type of `fname' field.
+	(compiler_file_name):  Fixed type.
+	(savestring):  Fixed type of `size' parameter.
+	(savestring2):  New function.
+	(string_list_cons):  Removed trailing blanks from parm declaration.
+	(find_file):  Moved comments out of formal parm declarations area.
+	(munge_compile_params):  Fixed type of `temp_parms'.
+	(gen_aux_info_file):  Construct new filename using `savestring2'.
+	(find_extern_def):  Suppress annoying warnings about missing
+	definitions for extern functions.
+	(edit_fn_declaration):  Declare `clean_text_p' as `volatile' not as
+	`VOLATILE'.
+	(scan_for_missed_items):  Make text of warning more obvious.
+	(edit_file):  Make text of warning shorter.
+
+	* libgcc2.c (__builtin_new):  Changed arg type to `size_t'.  Moved
+	nested declaration of malloc out to file-scope.
+	(__builtin_vec_new):  Prototype preceeding function declarations.
+	(__builtin_vec_new, __builtin_vec_delete): Changed types of non-pointer
+	arguments and local variables to `size_t'.
+	(__clear_cache):  Use type `void *' variables to store addresses.
+	(__do_global_dtors):  Use unsigned type for counters.
+	(__main):  Add explicit type to declaration of `initialized'.
+
+Mon May  4 16:16:56 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarfout.c (dwarfout_file_scope_decl): Ignore a global register
+	variable.
+
+Mon May  4 08:28:18 1992  Torbjorn Granlund  (tege@mole.gnu.ai.mit.edu)
+
+	* pa-ghpux.h, pa-hpux.h: #define HAVE_ATEXIT.
+
+	* genextract.c (print_path, main): Make the generated code use
+	`pat', not `insn', except for fatal_insn_not_found.  Remove
+	insn_code variable from generated code, and switch directly on
+	INSN_CODE (insn).
+
+	* hppa*: Rename to be unique in first 8 characters.
+	* configure: Corresponding changes.
+
+Mon May  4 00:20:39 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* reload.c (find_reloads): Compute preferred_class after
+	calling find_reloads_toplev or equivalent.
+
+	* vax.h (PRINT_OPERAND): Add codes M, h, b.
+
+	* ns32k.h (PREFERRED_RELOAD_CLASS): Change GEN_AND_MEM_REGS
+	to GENERAL_REGS.
+
+	* config.sub: Recognize we32 and 3b*.
+
+	* varasm.c (readonly_data_section): Move after data_section.
+
+	* Makefile.in (print-rtl.o): Compile also for host machine.
+	(genattrtab): Link in host's print-rtl.o.
+
+	* i386v4.h (ASM_OUTPUT_ALIGNED_LOCAL): Deleted.  Dfn in svr4.h is good.
+
+Sun May  3 21:39:22 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.h (RTX_COSTS): Add missing break.
+
+Sun May  3 19:40:50 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	From law:
+	* sparc.md (fp unit attributes): Change result ready delays to
+	match how the FP unit really works.
+
+	* sched.c (schedule_block): Don't move USE at the end of any block.
+
+	From rfg:
+	* sparc.c (handle_pragma_token):  Added new function (based on original
+	`handle_pragma_token' in i386.c).
+	* sparcv4.h (INIT_SECTION_PREAMBLE):  Definition added.
+	(PUSHSECTION_FORMAT):  Added leading tab.
+	(HANDLE_PRAGMA):  Added definition to handle #pragma weak (based on
+	original definition in i386v4.h).
+
+	From jfc:
+	* sched.c (insn_costs): New variable.
+	(insn_cost): Save cost of insn in insn_costs to avoid recomputation.
+	(sched_analyze_2): Handle UNSPEC_VOLATILE.
+	(schedule_insns): Init insn_costs.
+
+	* sparc.c (output_move_double): Correctly check for constant
+	DFmode addresses.  Assume that DFmode addresses with MEM_IN_STRUCT_P
+	set are always aligned.
+
+Sun May  3 16:52:06 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (PATH_SEPARATOR): New macro.  From Alex Zatsman.
+	(process_command): Use it when scanning a path.
+
+	* expr.c (expand_builtin): Cast icode to int for indexing.
+
+	* xm-i386dos.h: New file.
+	* configure.bat: Use that file.
+	* gcc.c (EXECUTABLE_SUFFIX): Remove special default for MSDOS.
+	(putenv): Remove conditionals for MSDOS, since HAVE_PUTENV now defined.
+
+	* c-typeck.c (build_array_ref): Promote after -Wchar-subscripts test.
+
+	* c-decl.c (builtin_function): If traditional and name is user-visible,
+	set DECL_BUILT_IN_NONANSI.
+
+	* cccp.c (PATH_SEPARATOR): Add default definition.
+	(main): Use that.
+
+Sun May  3 08:17:02 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* pyr.h (FRAME_POINTER_REGNUM): Work around pyr cpp bug.
+
+	* xm-hppa.h (NO_SYS_SIGLIST): Define.
+
+Sat May  2 15:03:08 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* callc.c (emit_call_1): Restore inhibit_defer_pop after popping args.
+
+Thu Apr 30 20:00:00 1992  DJ Delorie (dj@ctron.com)
+
+	* configure.bat: Complete rewrite to use Makefile.in.
+	* Makefile.dos: File deleted.
+
+Thu Apr 30 23:38:00 1992  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* xcoffout.h (DBX_FINISH_SYMBOL):  Use DECL_ASSEMBLER_NAME
+	instead of DECL_NAME when writing out a global symbol.
+	(Makes a big difference for C++ static class members.)
+
+Thu Apr 30 23:13:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold, comparisons): Don't call omit_one_operand in
+	a case where the operand isn't really being omitted.
+
+	* combine.c (distribute_notes, case REG_DEAD): Don't write a USE for
+	a partially-dead register if we already wrote one.
+
+Thu Apr 30 21:51:29 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* Makefile.in (enquire.o, install-common-headers): Make these work
+	when $(srcdir) is .
+
+	* c-decl.c (init_decl_processing): Use void_ftype_any as the type
+	for _exit, exit and abort.
+
+Wed Apr 29 21:42:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattrtab.c (insn_name_ptr): Define so we could link with
+	debug_rtx.
+
+	* genattrtab.c (check_attr_test, simplify_test_exp): Copy expression
+	before setting as unchanging.
+	(make_canonical): Set result as unchanging after calling
+	convert_const_symbol_ref.
+	(evaluate_eq_attr): When returning original expression, set it
+	as unchanging.
+
+Wed Apr 29 13:30:33 1992  Michael Meissner  (meissner@osf.org)
+
+	* halfpic.c (half_pic_ptr): Allocate space for the NULL byte.
+
+Wed Apr 29 06:28:35 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (src_coords_attribute):  Don't #ifdef code based on
+	DWARF_DECL_COORDINATES.
+	(name_and_src_coords_attributes):  Do #ifdef calls to `lookup_filename'
+	and `src_coords_attribute' based on DWARF_DECL_COORDINATES.  Also,
+	pop out of .debug section temporarily while calling `lookup_filename'.
+
+Wed Apr 29 02:01:03 1992  Mike Stump  (mrs@albert.gnu.ai.mit.edu)
+
+	* Complete another Cygnus <--> FSF merge.
+
+	Tue Apr 28 19:24:52 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-init.c (do_friend):  Handle overloaded and extern "C"
+	friends correctly.
+
+	Mon Apr 27 21:04:40 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-search.c (build_vbase_vtables_init):  Don't set
+	flag_this_is_variable to -2 when not doing a ctor.
+
+	* cp-class.c (build_vbase_path): Don't unconditionally set
+	code to be a PLUS_EXPR.
+
+	Mon Apr 27 14:14:08 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-decl.c (grokdeclarator):  Allow contructors to be friends.
+	Cannot find anything prohibiting it.
+
+	Mon Apr 27 13:26:20 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-init.c (do_friend):  bullet proof handling of friends,
+	fixes problem introduced on Apr 26 18:24:35.
+
+	Sun Apr 26 23:18:24 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-call.c (ideal_candidate):  Allow one to overload static
+	member functions without dumping core.
+
+	Sun Apr 26 18:44:57 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* cp-tree.c (break_out_calls): Call build1 instead of build for
+	trees with only one operand to avoid abort in build.
+
+	Sun Apr 26 18:24:35 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-init.c (do_friend):  Allow extern "C" functions to be
+	friends.
+
+	Sat Apr 25 02:57:07 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-*.[chy]:  Fix all pedantic warnings to be pedwarn.
+
+	Sat Apr 25 01:46:50 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-tree.c (break_out_calls):  Handle NULL_TREE properly.
+
+	Fri Apr 24 23:49:39 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-type2.c (store_init_value):  Provide an error message
+	about bad syntax instead of core dumping.
+
+	Fri Apr 24 16:46:03 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	Fri Apr 24 18:55:45 1992  Chip Salzenberg  (chip@tct.com)
+
+	* cp-parse.y (component_decl):  Fix small problem to take us
+	back down to 14 reduce/reduce errors.
+
+	Thu Apr 23 19:48:54 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	Wed Apr 22 22:47:15 1992  Chip Salzenberg  (chip@tct.com)
+
+	* cp-type2.c (readonly_warning_or_error):  Eliminate arbitrary
+        limit of 80 characters per warning message.
+
+	Thu Apr 23 04:14:59 1992  Mike Stump  (mrs at rtl.cygnus.com)
+
+	* cp-decl.c (grokdeclarator):  Handle const and volatile
+	member functions properly.
+
+Tue Apr 28 22:05:05 1992  Niklas Hallqvist  (niklas@appli.se)
+
+	* tower-as.h (svr3 support): Generic svr3.h included.
+	(SELECT_RTX_SECTION): m68k.h's version #undef'd in favour of svr3.h's.
+	(CPP_PREDEFINES): Overriding svr3.h version.
+	(STARTFILE_SPEC): Added crtbegin.o.
+	(ASM_OUTPUT_SOURCE_FILENAME): Added ugly section directives to get
+	rid of NCR assembler bug.
+	(ASM_OUTPUT_IDENT): #undef'd svr3.h version.
+	(NO_{DOLLAR,DOT}_IN_LABEL): Defined.
+	(ASM_LONG): Defined.
+	({INIT,FINI,CONST}_SECTION_ASM_OP): Overrides svr3.h versions.
+	(CTOR_LIST_{BEGIN,END}): New macros.
+	(BSS_SECTION_ASM_OP): New macro.
+	(ASM_OUTPUT_CONSTRUCTOR): New macro.
+	(ASM_OUTPUT_LABELREF): Redefined svr3.h version.
+
+	* tower.h (LIB_SPEC): Added -shlib support plus crtend.o.
+
+	* configure (m68k-ncr-sysv): Defined xmake_file and tmake_file.
+
+Tue Apr 28 21:27:10 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.md (floatsidf2, floatsisf2): Fix typo in last change.
+
+Tue Apr 28 18:21:02 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* objc-actions.c: Include obstack.h, etc.
+	(util_obstack, util_firstobj): New obstack, and 1st object in it.
+	(init_objc): Init those two.
+	(encode_*): Rewrite to use util_obstack,   Callers changed.
+	(handle_class_ref, handle_impent): New subroutines, broken out
+	from finish_objc so each can use alloca (instead of utlbuf).
+	(utlbuf): Variable deleted.
+
+	* c-decl.c (init_decl_processing): Treat abort and exit as ANSI.
+	-traditional no longer affects ANSI builtins; use -fno-builtin.
+
+	* configure: Insert assignment of INSTALL where old one was.
+
+Tue Apr 28 17:14:57 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* vax.md (cmpdf, cmpsf): Use tstf/tstd if second argument is zero.
+	(movsi, movhi, movqi): Patterns changed to reflect different
+	space/time tradeoffs for modern VAXes.
+	(movstricthi, movstrictqi): New patterns.
+	(extv, extzv): Use rotl/bicl sequence when possible.
+
+Tue Apr 28 10:00:25 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips-tfile.c (read_line): Make read_line act like the assembler,
+	and use ';' to separate multiple logical lines.
+
+	* mips.h (MIPS_VERSION): Set Meissner version # to 17.
+	(MASK_DEBUG_C): Swap meaning of -mdebugc.
+	(ADDITIONAL_REGISTER_NAMES): Use 'cc' for the floating point status
+	register, so user asm's can clobber it.  Allow $fp for the frame
+	pointer in addition to fp and $30, and also $sp for the stack
+	pointer in addition to sp and $29.
+
+	* mips.c (gen_int_relational): Emit faster sequence for NE.
+	(mips_asm_file_start): Don't call data_section for gcc2_compiled.
+
+	* mips.md (branch define_delay): Specify all of the preconditions
+	correctly for branch likely (mips2) support.
+	(floatsidf2): Update dslots_load_total.  Support getting the
+	integer value from memory as well as from an integer register.
+	Fix the length attribute.
+	(floatsisf2): Ditto.
+	(All set from condition code patterns): Swap meaning of -mdebugc,
+	so that if used, it means support all of the set condition code
+	patterns as if the machine can do them equally well.  If not
+	-mdebugc, call gen_int_relational to generate an appropriate set
+	of INSNs.
+
+	* decrose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1.
+	* encrose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1.
+	* i386rose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1.
+
+	* decrose.h (CPP_SPEC): If .S files, add an explicit
+	-ULANGUAGE_C to mimic the OSF GCC 1.39 behavior.
+
+Mon Apr 27 16:44:30 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* dwarf.h (AT_... values): Correct typos present in version 1.0.1
+	of the DWARF spec.  The values should be unchanged.
+
+	* dwarfout.c (data_member_location_attribute): Use INTEGER_CST.
+
+	* dwarfout.c (data_member_location_attribute): Use TYPE_MODE.
+	(bit_offset_attribute): Ditto.
+
+	* dwarfout.c (name_attribute): Add the tests back.
+
+	* m88k.h (WEAK_ASM_OP): Override svr4.h.
+
+Mon Apr 27 15:48:36 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* limits.h: Use _LIMITS_H___, not _LIMITS_H_, to protect contents.
+
+Mon Apr 27 15:15:25 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Set Meissner version # to 16.
+	(delay_type enum): Add DELAY_FCMP for specifing the
+	c.{eq,lt,le}.{d,s} delay.
+	(fpsw_register_operand): New declaration.
+	(gen_int_relational): New declaration.
+	(pc_or_label_operand): New declaration.
+	(MASK_DEBUG_C): Use -mdebugc for new relational code.
+	(REG_CLASS_FROM_LETTER): Use 'z' for fpsw register, not 's' which
+	is already used.
+	(EXTRA_CC_MODES): Add CC_REV_FPmode to handle fp comparisons,
+	which need to be reversed (!=).
+	(EXTRA_CC_NAMES): Add CC_REV_FP.
+	(SELECT_CC_MODE): Use SImode for all integer comparisons,
+	CC_REV_FP for floating point != comparisons.
+
+	* mips.c (internal_test enum): Move and rename the enumeration
+	used in gen_conditional to make the comparison RTL codes to
+	something that can be indexed out to top level.
+	(fpsw_register_operand): New function to return true if the
+	operand is the FP status register.
+	(pc_or_label_operand): New function to return true if the operand
+	is either a label_ref or the pc for if_then_else tests.
+	(mips_fill_delay_slot): Add support for DELAY_FCMP, the delay
+	after a floating point comparison is done and it can be tested.
+	(map_test_to_internal_test): New function to take a RTL code of a
+	comparison operator, and return the internal_test enumeration.
+	(gen_int_relational): New function to generate the appropriate
+	INSNS for comparing two integers for either branches, or the set
+	from condition code insns.
+	(gen_conditional_branch): Rewrite to not use the CISC condition
+	code register CC0, but instead generate the appropriate INSNs so
+	that the test can be scheduled independely of the branch.
+	(override_options): Use 'z' for the fpsw register, not 's'.  Only
+	allow the fp comparison condition codes in the fpsw register.  Do
+	not allow non float or int things in FP registers, even if
+	-mdebugh.  Don't allow ints in the fpsw.
+
+	* mips.md (various): Rewrite comparisons and branches so that we
+	do not use CC0, but instead put the comparison in a pseudo and
+	generate the appropriate branch instructions directly.  This
+	eliminates calls to the various b<xx> macros provided by the
+	assembler.  Change the type of integer comparisons from the
+	various CCxx modes used to SImode.  Make fp != use CC_REV_FPmode.
+	(mode attribute): Add FPSW mode for floating compare.
+	(fp_comp): New functional unit for comparing fp values.
+	(divmodsi4): No longer use -mdebugc to turn off divmodsi4.
+	(divsi3): Ditto.
+	(modsi3): Ditto.
+	(udivmodsi4): No longer use -mdebugc to turn off udivmodsi4.
+	(udivsi3): Ditto.
+	(umodsi3): Ditto.
+
+	* mips-gn5.h: Rename from mips-gnews5.h for MSDOS.
+	* mips-n5.h: Rename from mips-news5.h.
+	* xm-mipsbsdnews.h: Rename from xm-mipsnbsd.h.
+
+	* configure (mips-sony*): Handle the above changes.
+
+	* README-mips (whole file): Remove bogus patches, and update with
+	some common warnings about the MIPS.
+
+Mon Apr 27 12:41:21 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* unroll.c (find_splittable_givs): Don't split a giv combined with
+	a giv that was not reduced.
+
+	* c-parse.y (primary): Clear the TREE_USED flag of a block tree
+	put in a BIND_EXPR.
+	* print-tree.c (print_node): Print the block operand of a BIND_EXPR.
+
+	* flow.c (find_basic_blocks): Assume MEM source in jump insn makes
+	it an indirect jump.
+
+	* collect2.c (strip_flag, strip_file_name): New variables.
+	(main): Don't pass -s to the first ld call.  Pass it to the second
+	ld call, or else run strip.
+
+	* Makefile.in (bootstrap): Only build C compiler for stage1.
+
+	* sparc.h (GO_IF_LEGITIMATE_ADDRESS): Rewrite to accept SUBREGs.
+
+	* combine.c (force_to_mode): Correctly form mask from BITS.
+
+	* Makefile.in (bootstrap): Fix a typo (\n between b and ootstrap).
+
+Sun Apr 26 14:14:23 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* getattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
+	genextract.c, genflags.c, genoutput.c, genpeep.c, genrecog.c (main):
+	Move nested extern declaration of `read_rtx' out to file-scope.
+
+Sun Apr 26 21:41:33 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* Makefile.in (varasm.o): Includes defaults.h.
+
+Sun Apr 26 21:15:30 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* enquire.c (f_rep, f_define): Handle NO_LONG_DOUBLE_IO.
+	(f_define): Print defn of union __convert_long_double, just once,
+	with #ifndef to protect it.
+	(fake_f_define): New function.
+
+Sat Apr 25 15:04:49 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* stmt.c (expand_end_case): Test DI index against range before casesi.
+	Don't truncate before calling do_tablejump.
+	Use expand_expr to turn RANGE into rtl.
+	* expr.c (do_tablejump): Convert to Pmode after testing vs range.
+
+	* stmt.c (expand_end_case): Delete test default_label != 0; always is.
+
+	* configure (i386-ibm-aix): Set install_with_cp.
+
+Fri Apr 24 21:32:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* xm-spcv4.h: Renamrd from xm-sparcv4.h.
+	* configure: Changed accordingly.
+
+	* Makefile.in (unprotoize.o): Leave unprotoize.c around.
+
+	* c-common.c (decl_attributes): Change warnings to errors.
+
+Fri Apr 24 11:17:53 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarf.h:  Added copyleft.
+	Revised to use enumerators instead of #defines.
+	Updated to conform to version 1.0.1 of the DWARF spec.
+	Added implementation-defined fundamental type codes for GCC
+	mode-specific types.
+
+	* dwarfout.c: Include defaults.h.
+	(getpwd):  Declare as `extern'.
+	(BITFIELD_OFFSET_BITS, BITFIELD_OFFSET_UNITS,
+	BITFIELD_OFFSET_WORDS_IN_UNITS):  Unnecessary definitions deleted.
+	(ASM_BYTE_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP):  Delete
+	leading tabs from definitions.
+	(PUSHSECTION_FORMAT):  Add leading tab to definition.
+	(*_LABEL):  Changed to all start with `.L' to internalize these
+	symbols for *all* svr4 assmeblers (including sparc).
+	(ASM_OUTPUT_POP_SECTION):  Add leading tab.
+	(ASM_OUTPUT_DWARF_TAG, ASM_OUTPUT_DWARF_ATTRIBUTE,
+	ASM_OUTPUT_DWARF_STACK_OP, ASM_OUTPUT_DWARF_FUND_TYPE,
+	ASM_OUTPUT_DWARF_FMT_BYTE, ASM_OUTPUT_DWARF_TYPE_MODIFIER):  Print
+	DWARF comments only if flag_verbose_asm set.
+	(ASM_OUTPUT_ASCII):  Moved to defaults.h
+	(tag_name):  Renamed `dwarf_tag_name' to avoid possible conflicts.
+	(dwarf_tag_name):  Updated for version 1.0.1 DWARF spec.
+	(attribute_name):  Renamed `dwarf_attr_name' to avert conflicts.
+	(dwarf_attr_name):  Updated for version 1.0.1 DWARF spec.
+	(stack_op_name): Renamed `dwarf_stack_op_name' to avert conflicts.
+	(format_byte_name): Renamed `dwarf_fmt_byte_name' to avert conflicts.
+	(fundamental_type_name): Renamed `dwarf_fund_type_name' to avoid
+	possible conflicts.
+	(dwarf_fund_type_name):  Added support for implementation-defined
+	GCC mode specific fundamental types codes (to support new `mode'
+	attribute).
+	(data_member_location_attribute):  Rewritten to avoid major lossage
+	primarily for little-endian targets.
+	(location_or_const_value_attribute):  Fixed comments and removed
+	spurious code.
+	(name_attribute):  Removed test for NULL name (now done in
+	`name_and_src_coords_attributes').
+	(byte_size_attribute):  Fixed to get size from DECL_BIT_FIELD_TYPE
+	for bit-fields.
+	(bit_offset_attribute):  Rewritten to avoid major lossage primarily
+	for little-endian targets.
+	(src_coords_attribute):  GNU-specific extension added.
+	(name_and_src_coords_attributes):  New function.
+	(output_entry_point_die, output_formal_parameter_die,
+	output_global_subroutine_die, output_global_variable_die,
+	output_inline_subroutine_die, output_label_die,
+	output_local_variable_die, output_member_die,
+	output_local_subroutine_die, output_typedef_die):  Call
+	`name_and_src_coords_attributes' rather than `name_attribute' for
+	all potentially-named declarations.
+	(output_global_subroutine_die, output_inline_subroutine_die,
+	output_local_subroutine_die, dwarfout_file_scope_decl):  Use
+	DECL_ASSEMBLER_NAME rather than DECL_NAME when referencing
+	assembly level names (e.g. in AT_low_pc attributes).
+	(output_type):  Revised to produce DWARF info for C++ member functions
+	even for classes with no constructors & destructors.
+
+	* flags.h (flag_verbose_asm):  Option flag added.
+	* toplev.c (flag_verbose_asm):  Option flag added.
+
+	* defaults.h: New file.
+	* varasm.c: Include defaults.h.
+	(ASM_OUTPUT_ASCII): Deleted.
+
+	* c-common.c (decl_attributes):  Call `type_for_mode' rather than
+	`type_for_size'.  Also, `break' after a matching mode is found.
+
+	* 3b1.h (ASM_OUTPUT_ASCII):  Tab before ASCII_DATA_ASM_OP.
+	* amix.h (ASM_OUTPUT_CASE_END):  Tab before SET_ASM_OP.
+	(ASM_OUTPUT_ASCII)  Tab before BYTE_ASM_OP.
+	* i860b.h (ASM_OUTPUT_ASCII):  Tab before ASCII_DATA_ASM_OP.
+	* i860v3.h (ASM_OUTPUT_ASCII):  Tab before BYTE_ASM_OP. 
+	* sparcv4.h (*_ASM_OP): Delete the initial tabs.
+
+	* assert.h:  Modified to treat source line numbers as `unsigned'.
+
+	* Makefile.in (test-protoize): New target.
+
+	* svr4.h (WEAK_ASM_OP):  Default svr4 definition added.
+	(ASM_DECLARE_FUNCTION_SIZE):  Use `assemble_name' to output
+	generated internal label.
+
+Thu Apr 23 11:31:58 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* optabs.c (emit_libcall_block): Correct code which determines
+	whether it is safe to emit an insn setting a pseudo before the block.
+
+Thu Apr 23 18:13:08 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (sleu): Finish Apr 21 change.
+
+Thu Apr 23 14:15:05 1992  Michael Meissner  (meissner@osf.org)
+
+	* Makefile.in (enquire.o): Delete enquire.c from the current
+	directory before moving it in from the source directory, unless
+	the current directory is the same as the source directory.  This
+	occurs if the user keeps GCC under source control, like RCS.
+	(install-common-headers): Ditto for byteorder.h.
+
+Thu Apr 23 12:39:36 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* amix.h (ASM_OUTPUT_CASE_END): Add missing \.
+
+Thu Apr 23 07:14:38 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (simplify_binary_operation, case MINUS): Don't do any
+	of the simplifications for IEEE floating-point.
+
+Wed Apr 22 23:20:59 1992  Mike Stump  (mrs@albert.gnu.ai.mit.edu)
+
+	Tue Apr 21 02:21:42 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-method.c (build_overload_value): Handle function names as
+	constant expressions for template arguments.  Also, make double
+	values work again as template arguments.
+
+	Mon Apr 20 17:08:17 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-call.c (ideal_candidate):  remove incorrect error message about
+	``ambiguous request for function from distinct base classes of
+	type'' when base and parent are switched.
+
+	Mon Apr 20 14:14:35 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* Makefile.in:  Now expect 15 reduce/reduce conflicts, instead of 14.
+
+	Mon Mar 16 14:02:09 1992  Chip Salzenberg  (chip at tct.com)
+
+	* cp-parse.y (maybe_attributes, attribute_list):  clone
+	from c-parse.y.
+	cp-parse.y:  call decl_attributes between start_decl and
+	finish_decl, and after grokfield.
+
+	Mon Apr 20 09:21:00 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* cp-tree.h (break_out_calls): Declare.
+
+	Mon Apr 20 08:29:16 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-tree.c (break_out_calls): New function.
+	(break_out_cleanups): Added comment.
+
+	* cp-typeck.c (build_modify_expr): Call `break_out_calls' instead of
+	`copy_to_permanent'.
+
+	Mon Apr 20 06:29:16 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-type2.c (my_friendly_abort):  New function, please see
+	Rational there.
+
+	* cp-*.[chy]:  Change all calls from abort to my_friendly_abort.
+
+	Mon Apr 20 05:45:08 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-cvt.c (build_up_reference):  Fix a latent const problem.
+
+	Mon Apr 20 03:08:12 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-decl.c (pop_from_top_level): Deleted duplicate code in C_C_D
+	restoration.
+
+	* cp-call.c (build_method_call): Call `error_with_aggr_type' with
+	correct number of arguments.
+
+	Sun Apr 19 18:39:25 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-class.c (finish_struct): Only provide a warning about
+	non-virtual destructors if the user asks for -Wall.
+
+	Sun Apr 19 17:36:16 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-typeck.c (build_modify_expr):  Make a deep copy of lhs, as
+	expr.c expects to be able to preexpand_calls on the conditional
+	parts without insuring that it would even be legal to do so.
+
+	* cp-tree.c (make_deep_copy):  Fix comment.
+
+	Fri Apr 17 04:55:18 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-cvt.c (convert_pointer_to):  Provide the user with a meaningful
+	error message instead of a core dump when dealing with bad syntax.
+
+	* cp-typeck.c (build_binary_op):  Make error message on undefined
+	operator call more readable.
+
+	* cp-decl.c (grok_reference_init):  Handle T& = const T&
+	error messages.
+
+	Thu Apr 16 18:59:15 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-typeck.c (convert_arguments): Disable code that auto converted
+	functions and methods to pointers and left them that way without error.
+
+	Thu Apr 16 17:35:13 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	Sat Apr  4 22:28:23 1992  Gerald Baumgartner  (gb at cs.purdue.edu)
+
+	* cp-decl.c (finish_decl): Call `abstract_virtuals_error'
+	when the return type of a method is an abstract class.
+
+	* cp-type2.c (abstract_virtuals_error): Print error message
+	for an invalid method declaration.
+
+	Thu Apr 16 16:18:35 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-decl2.c (lang_decode_option): Handle import by ignoring it.
+
+Wed Apr 22 19:46:44 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (synth_id_with_class_suffix, finish_class):
+	Don't use utlbuf; alloca a buffer.
+	(forward_declare_categories): Use build_decl directly since
+	create_builtin_decl wants a string, not an id.
+
+	* Makefile.in (STAGESTUFF): Add USE_COLLECT2.
+
+	* dbxout.c (dbxout_symbol): Clean up last change.
+
+Wed Apr 22 17:06:16 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.c (gpc_reg_operand): Renamed from gen_reg_operand.
+	* rs6000.h (PREDICATE_CODES): Likewise.
+	* rs6000.md: Likewise.
+
+	* a29k.c (gpc_reg*_operand): Renamed from gen_reg*_operand.
+	* a29k.h (PREDICATE_CODES): Likewise.
+	* a29k.md: Likewise.
+
+	* romp.c (output_fpop): Extend workaround for RT FP codegen bug.
+
+Wed Apr 22 06:20:09 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* fold-const.c (fold, comparison cases): Use omit_one_operand to
+	yield a simplified result to avoid loosing a side-effect.
+
+Tue Apr 21 13:19:42 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): For TYPE_DECL, always make requisite tag
+	one way or another even if !have_used_extensions.
+
+	* configure: Specifically detect unrecognized options.
+
+Tue Apr 21 08:16:05 1992  Tom Wood  (wood  at dg-rtp.dg.com)
+ 
+	* c-convert.c (convert_to_integer): Don't distribute a truncation
+	down past an ABS_EXPR. 
+ 
+	* m88k.md (bxx insn): Choose bb0 over bb1 if the branch is likely
+	to fall-through (m88110 optimization).
+	* m88k.c (mostly_false_jump): New function.
+
+	* m88k.h (INIT_SECTION_ASM_OP): Define only for svr3 and svr4 targets.
+
+	* m88k.c (output_call): Use the insn address of the sequence.
+	* m88k.h (ADJUST_INSN_LENGTH): Account for space added at barriers
+	due to ASM_OUTPUT_ALIGN_CODE.
+
+Tue Apr 21 07:30:46 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (mark_jump_label, case MEM): New case to look for label
+	in a constant-pool entry.
+
+Tue Apr 21 00:41:39 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reg-stack.c (compare_for_stack_reg): link cc0 user and setter
+	before separating them.
+
+	* reorg.c (link_cc0_insns): Move function from here -
+	* emit-rtl.c (link_cc0_insns): to here.
+
+	* i386.h (TARGET_IEEE_FP): New macro.
+	(TARGET_SWITCHES): Add switches for ieee floating point support.
+	(EXTRA_CC_MODES,EXTRA_CC_NAMES): Add CCFPEQmode.
+	(SELECT_CC_MODE): Select CCFPEQmode for FP equality comparisons.
+	(i386_compare_gen*,i386_compare_op*): Declare new variables to
+	generate comparisons from within branch and sCC insns.
+	(RTX_COSTS): Fix argument name typo.
+
+	* i386.c (i386_compare_gen*,i386_compare_op*): Define variables here.
+	(notice_update_cc): Notice if a comparison involves FP values.
+	(output_float_compare): Add support for "unordered" compare.
+	Use output_fp_cc0_set to set flags after a compare.
+	(output_fp_cc0_set): New function.
+
+	* i386.md (tstM,cmpM): New expanders.  Don't generate RTL; just
+	save data for when cc0 user is generated.
+	(bCOND,sCOND): New expanders.  Generate the compare/test as well
+	as the bCOND or sCOND.
+
+	(tstsf,tstdf): Disable patterns if generating ieee compliant code.
+	(tstsf,tstdf,cmpsf,cmpdf): Use output_fp_cc0_set to set flags
+	after test.
+	Don't change cc_status here: that won't work with REG_CC_SETTER
+	and REG_CC_USER.
+
+	(all COMPAREs): Use CCmode as mode of a COMPARE.
+
+Mon Apr 20 11:17:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* limits.h (LONG_LONG_MIN, LONG_LONG_MAX, ULONG_LONG_MAX): New macros.
+
+	* configure: Clear out_file before the big case, like tm_file, etc.
+
+	* expr.c (expand_expr, case LABEL_DECL): Handle label from outer fcn.
+
+Mon Apr 20 10:17:49 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* x-m88kluna: Delete.
+	* x-m88kv3: Renamed from x-m88k.
+	* configure (m88k-*): Rearrange.
+
+Mon Apr 20 21:29:00 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* config-gcc.com: Generate libgcc2.list from Makefile.in
+	* make-l2.com: Use libgcc2.list; supply gcc version number to gas.
+
+	* config-gacc.com: Generate linker options files from Makefile.in
+
+	* make-cc1.com: Use said linker options files instead of static 
+	list of files.
+	* make-cc1.com: Handle errors better.
+
+Mon Apr 20 10:05:34 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.md (divmodsi4, udivmodsi4): Remove unneeded PARALLEL.  Patch
+	from Richard Kenner.
+
+Mon Apr 20 08:38:26 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* expr.c (expand_expr, case CONSTRUCTOR): For static CONSTRUCTOR,
+	require a valid memory address only if modifier does.
+
+Sun Apr 19 15:09:01 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* genemit.c (gen_insn): Mode of SCRATCH must match in clobber lists.
+
+	* sched.c (add_dependence, remove_dependence): Moved from rtl.c.
+	* rtl.c: Functions deleted here.
+
+	* Make installation of collect2 automatic.
+	* configure: Define use_collect2 for all BSD and Mach and HP/UX
+	configurations, plus the ones below, and a few others.
+	* t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips, t-next:
+	(EXTRA_PROGRAMS): Deleted.
+	* t-apollo68, t-convex, t-dpx2, t-rs6000: Files deleted.
+
+	* libgcc1.c (nongcc_SI_type): Renamed from SItype.
+
+	* recog.c (constrain_operands): Check only earlyclobbers that are REGs.
+
+	* m68k.h (TRANSFER_FROM_TRAMPOLINE): Delete comma in globalize cmd.
+
+	* m68k.md (movhi): Don't use switch_table_difference_label_flag
+	except in ports that need it.  (Again!)
+
+Sun Apr 19 14:06:59 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sched.c (sched_analyze_2): Add missing comment close.
+
+	* rtl.c (add_dependence): Make next point to last insn with
+	SCHED_GROUP_P set, not after the last insn with the bit set.
+
+Sun Apr 19 06:06:03 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genextract.c (walk_rtx): Fix typo in vector case.
+
+	* hppa.h (RTX_COSTS): Add new argument OUTER_CODE.
+
+	* Makefile.in (compare, compare3): Change $file to $$file.
+
+	* romp.h (CONST_CONSTS): Clean up formatting of definition.
+
+	* rs6000.md (extzv): Correct when we can use andi[lu].
+
+Sat Apr 18 21:56:20 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparc.md (ashldi3): Compact operand numbers.
+
+	From Jeffrey Law:
+	* sparc.md (ldd, std peepholes): New peepholes to recognize cases
+	where two ld (or st) insns could be replaced by a single ldd or std.
+	* sparc.c (registers_ok_for_ldd): New function.  Return true if the
+	given register pair is suitable for an ldd or std instruction.
+	(memory_ok_for_ldd): Likewise, but for memory locations.
+
+Sat Apr 18 17:22:32 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-lex.c (skip_white_space): Warn only for first carriage return.
+
+Sat Apr 18 10:08:45 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genemit.c (struct clobber_ent): New structure.
+	(gen_insn): See if the clobbers required to be added were seen
+	for another insn.
+	(output_add_clobbers): Write case statements for all insn codes
+	using a particular clobber pattern.
+	
+	* cse.c (mention_regs): Always retun a value.
+
+	* rs6000.md (call): Compact operand numbers.
+
+	* genextract.c: Now includes insn-config.h.
+	(struct extraction, struct code_ptr): New structures.
+	(gen_insn): Record what extractions are needed and compare with
+	those for previous insns.
+	(mark_operand_seen): Function deleted.
+	(walk_rtx): Use strings as path and just record; don't write.
+	(print_path): Use strings for paths.
+	(copystr): New function.
+	(main): Write out all extractions here.
+	* Makefile.in (genextract.o): Includes insn-config.h.
+
+	* hppa*.h: Change references from hp800* files to hppa*.
+
+	* rs6000.md (lshrdi3, ashrdi3): Fix typos.
+
+	* rs6000.md (extzv): Correctly install last change.
+
+Sat Apr 18 12:37:54 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* expmed.c (store_bit_field): Storing into a bitfield in memory
+	which is the size of a standard machine mode can be done with a
+	simple move instruction.
+
+	* c-lex.c (skip_white_space): carriage return (^M) is whitespace,
+	but warn about ^M if pedantic.
+
+	* cse.c (rtx_cost): New argument OUTER_CODE, the rtx code of the
+	expression in which the rtx argument is contained.
+	* expmed.c (init_expmed): Pass second argument to rtx_cost.
+	* optabs.c (expand_binop, expand_twoval_binop, emit_cmp_insn): Likewise.
+	* loop.c (init_loop, general_induction_var): Likewise.
+	* vax.c (vax_rtx_cost, vax_address_cost): New functions.
+	* vax.h (CONST_COSTS, RTX_COSTS, ADDRESS_COST): Call these
+	functions.
+	* romp.h (CONST_COSTS): Give constants different costs depending
+	on whether they can fit into a 2 byte instruction, a 4 byte
+	instruction, or would require insn splitting to use.
+	* i386.h (CONST_COSTS, RTX_COSTS): Move PLUS case to RTX_COSTS.
+	* m68k.h (CONST_COSTS): Constant in range -254..-136 is only cheap
+	in a move insn, not as an operand to some other instruction.
+	* config/*.h: Update machine descriptions to define CONST_COSTS
+	and RTX_COSTS macros with 3 arguments.
+
+Fri Apr 17 11:14:02 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (safe_from_earlyclobber): New function.
+	* recog.c (constrain_operands): Verify that earlyclobber
+	operands don't conflict with inputs.
+
+	* combine.c (subst, case SUBREG): Don't fold paradoxical SUBREGs
+	of constants.
+
+	* cse.c (fold_rtx, case SUBREG): Extend previous change so it
+	folds widened operations with one operand a constant.
+
+	* expr.c (safe_from_p, case BIND_EXPR): Only look at operand 1.
+
+	* cse.c (fold_rtx, case SUBREG): Don't fold paradoxical SUBREGs.
+	Instead, when we have a narrowing SUBREG, see if it is narrowing
+	the result of a widened arithmetic operation.
+
+Fri Apr 17 09:16:56 1992  Charles Hannum  (mycroft@hal.gnu.ai.mit.edu)
+
+	* Makefile.in (install-dir): Don't use '-' prefix on continuation line.
+
+Fri Apr 17 06:52:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* toplev.c (rest_of_compilation):
+	If -Wreturn-type, don't stop before jump.c.
+
+	* calls.c (expand_call): Delete unused arg MODIFIER.
+	* expr.c: Arg deleted from calls (those which had it).
+
+	* ns32k.c (print_operand_address): Handle UTEK_ASM.
+	(print_operand): Handle NO_IMMEDIATE_PREFIX_IF_SYMBOLIC.
+	Abort if must get fp number as bits but cannot do so.
+	* ns32k.h (TRAMPOLINE_TEMPLATE): Use PUT_ABSOLUTE_PREFIX.
+	* ns32k.md (call, call_value): Handle ENCORE_ASM.
+	* encore.h (PRINT_OPERAND): Just call print_operand.
+	(CALL_MEMREF_IMPLICIT): Defined.
+
+	* config.sub: encore implies bsd, not sysv.
+
+	* stmt.c (expand_expr_stmt): Handle reference of volatile BLKmode.
+
+	* vax.md (indirect_jump): Delete the extra condition.
+
+	* configure (...-hpux): Set install_with_cp.
+
+	* jump.c (delete_insn): After a label, go past other deleted labels.
+
+	* m68k.md (movhi): Don't use switch_table_difference_label_flag
+	except in ports that need it.
+
+	* stmt.c (warn_if_unused_value): Don't warn for constant after comma.
+	Don't warn for volatile decl or ref.
+
+	* c-typeck.c (build_unary_op): ++ on void * warns if -Wpointer-arith.
+
+Thu Apr 16 22:56:20 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (enum block_move_type): New enumeration for classing what
+	type of block move is used when splitting the last store off.
+	(RTX_COSTS): Don't use -mdebugd to set multiply costs to 2.
+
+	* mips.c (output_movstrsi): Take an additional argument to determine
+	whether this block move is a normal block move, or one that has been
+	split.  For the split block moves, there are two parts -- the first
+	part is everything but the last store, and the second part is the
+	last store, suitable to fill a delay slot.
+
+	* mips.md (all define_splits): Don't do any define_split if
+	-mdebugd.
+	(movstrsi_internal*): Add support to split block moves into two
+	pieces, one that is everything except for the last store, and the
+	second piece, which is the last store that can fill a delay slot.
+
+Thu Apr 16 21:52:59 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* x-rs6k-mach: New file.
+	* configure (rs6000-*-mach): Use it.
+
+Thu Apr 16 21:52:17 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* cse.c (cse_end_of_basic_block): Fix test for infinite loop.
+
+Thu Apr 16 21:50:38 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* rs6000.h (bss_section): Delete.  No longer needed.
+
+	* a29k.c (print_operand, case 'F'): Always emit insn to fill empty
+	delay slot.
+
+Thu Apr 16 18:45:41 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* cse.c (simplify_ternary_operation): Correctly sign-extend result.
+
+Thu Apr 16 18:43:55 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* objc-actions.c: Rename OBJC_NONUNIQUE_SELECTORS to
+	OBJC_SELECTORS_WITHOUT_LABELS.
+
+	* c-decl.c (duplicate_decls): Allow extern vs extern inline.
+
+	* c-parse.y (parmlist_or_identifiers_1): Use parmlist_1.
+	* c-decl.c (get_parm_info): Treat forward parm decls like nonparm
+	decls.
+
+	* m68k.md (movhi before dispatch table):
+	Set switch_table_difference_label_flag.
+	* 3b1.h, amix.h, m68ksgs.h (ASM_OUTPUT_CASE_END): Test that flag.
+	Declare the flag.
+
+	* m68k.c (output_function_prologue, print_operand_address): Add
+	HPUX_ASM conds.
+
+	* mips.c (output_block_move): If we get a case we can't handle,
+	don't print anything--just abort, because that implies a bug.
+
+	* c-decl.c (c_decode_option): -ansi sets flag_no_nonansi_builtin,
+	not flag_no_builtin.
+	(init_decl_processing): Check flag_no_nonansi_builtin for alloca, etc.
+
+	* dbxout.c (dbxout_symbol): Make pointer, not reference,
+	when variable's address is in a register.
+
+	* c-decl.c (c_decode_option): Ignore -Wimport, -Wno-import.
+
+Thu Apr 16 16:17:13 1992  Mike Stump  (mrs@mole.gnu.ai.mit.edu)
+
+	* merge in Cygnus changes...
+
+	Thu Apr 16 12:23:06 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-call.c (build_method_call): propagate const around to avoid an
+	incorrect error message.  This type of fix may now be necessary in
+	other parts of the compiler.  This solves all but one known const
+	problems.
+
+	Wed Apr 15 14:18:27 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-type2.c (readonly_warning_or_error):  because the compiler
+	is now warning about const alot more, for a release or two,
+	lets just warn about const problems, just in case it is a compiler
+	problem and not a user problem.
+	
+	* cp-cvt.c (build_up_reference): Lets get tougher on const problems
+	on COMPONENT_REFs.
+
+	Wed Apr 15 11:59:42 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* cp-decl.c (finish_function): Check for any debug info enabled,
+	not just DBX_DEBUG.
+
+	Wed Apr 15 10:03:36 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-cvt.c (build_up_reference): Propagate const and volatile
+	down into the type so error checking works better.
+
+	Tue Apr 14 11:44:32 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-decl.c (start_decl):  Shouldn't use flag_this_is_variable
+	to make what this points to const, but I don't have the heart
+	to do it right now.
+	
+	* cp-decl2.c (grokclassfn):  Don't use flag_this_is_variable
+	to make what this points to const.
+
+	* cp-typeck.c (convert_arguments):  Let build_up_reference handle
+	const errors correctly.  Removes April 10 change.
+	
+	* cp-cvt.c (build_up_reference):  Don't let people subvert const
+	when passing const argements to non-const functions.
+
+	* cp-tree.c (build_cplus_method_type): Don't use
+	flag_this_is_variable to make what this points to const.
+
+	From Wed Apr  1 12:00:59 1992  Chip Salzenberg  (chip at tct.com)
+
+        * cp-class.c (import_export_vtable): New function to set
+          TREE_PUBLIC and/or TREE_EXTERNAL on vtables.
+          (build_vtable): Use it.
+          (prepare_fresh_vtable): Use it.
+
+        * cp-decl.c (finish_decl): Don't assume that TREE_PUBLIC means
+          "exported"; it can mean "imported".  Decide with TREE_EXTERNAL.
+          (finish_function): Ditto.
+        * cp-decl2.c (write_vtable_entries): Ditto.
+          (finish_vtable_typedecl): Ditto.
+          (finish_vtable_vardecl): Ditto.
+          (finish_file): Ditto.
+
+        * cp-lex.c (set_vardecl_interface_info): Public objects always
+          have TREE_PUBLIC, whether exported or imported.
+        * cp-pt.c (instantiate_member_templates): Ditto.
+
+
+	Fri Apr 10 21:44:15 1992  Per Bothner  (bothner@cygnus.com)
+
+	* cp-method.c (build_overload_name): Mangle 'signed char'
+	as 'Sc' (i.e. differently from 'char'!).
+
+	Fri Apr 10 17:38:04 1992  Mike Stump  (mrs@cygnus.com)
+
+	* cp-typeck.c (convert_arguments): don't allow people to wipe const.
+
+	Thu Apr  9 18:28:36 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-tree.h:  Add entry for $vb and $vf so that NO_DOLLAR_IN_LABEL
+	works.
+	* cp-class.c (finish_struct):  Use the new macros from cp-tree.h.
+	* cp-tree.c (layout_basetypes):  Use the new macros from cp-tree.h.
+
+	Thu Apr  9 02:11:01 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-typeck.c (build_function_call_real): Merge in a change made to
+	the C front end into the C++ front end to handle volatile functions.
+
+	Thu Apr  9 03:45:03 1992  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-class.c (finish_struct): sanity check before calling popclass.
+	If we're already hosed due to previous parse errors (specifically,
+	we're not inside a class anymore) just report an error rather than
+	crashing in popclass (if there wasn't a previous parse error, as the
+	message suggests, we should get reports; this closes gcc/p0000525.)
+
+	Wed Apr  8 08:56:49 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Fix an eichin bug introduced seconds
+	ago.  Shame, he didn't put:
+
+	Workaround for p869:
+        1) grokdeclarator (around cp-decl.c:7462) is using popclass(1)
+        uses popclass(1) to close the pushclass(3) done by
+        build_push_scope; however, it's coming around another time and
+        popping all the way out, which leads to the core dump when
+        do_friend is called from global scope (do_friend uses
+        current_class_name to figure out whose friendship it is
+        bestowing.) Current workaround: if (friendp) don't allow
+        popping all the way out. We still need to figure out how to
+        make sure it only gets called the *right* time; we also need
+        to figure out if the correct scope is being used, but that's a
+        matter of regression testing.
+
+	into a ChangeLog entry.
+
+	Wed Apr  8 01:10:44 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-decl.c: Cleanup binding_levels_sane related code.  Deleted
+	argument, and changed to void type.  Removed extraneous asserts.
+
+	* cp-parse.y: Add fourth parameter to all finish_decl calls.
+	Defaulted the guess to 0.
+	* cp-decl.c: consistently use #if on all PARANOIDs.
+
+Wed Apr 15 14:00:14 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.md (movstrsi_internal): Add '&' constraint on clobbers.
+
+	* mips.c (output_movstrsi): If one of our temporary registers is
+	used as an address register, don't use it and emit a warning.  This
+	is a temporary measure.
+
+Wed Apr 15 09:04:22 1992  Richard M. Stallman  (rms at lyssenko)
+
+	* xm-ns32k.h (memcpy, memcmp, memset): New macro definitions.
+	* rtl.c (gcc_memset): New function.
+
+Wed Apr 15 09:03:28 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (umulsidi3): Define for m88110.
+	(unit attribute): Define.
+
+	* x-m88kdgux (INSTALL_HEADERS): Define as empty.
+
+Tue Apr 14 13:28:11 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* c-lex.c (yylex): When warn_traditional, don't abort for harmless
+	type differences.  Instead warn of possible problems on other systems.
+
+	* rtl.c (add_dependence): Skip notes when HAVE_cc0.
+	* sched.c (sched_analyze_2): Likewise.
+
+	* sparc.md (movdf-1): Delete special case for moving 0.0 to integer
+	registers; it resulted in poor code.
+	(fix_truncdfsi2+1): Add patterns to optimize float->fix and
+	float->fix->float conversions.
+	* sparc.c (output_move_double): Clean up ldd/std code.  Don't emit
+	ldd/std for obviously unaligned address even when TARGET_HOPE_ALIGN.
+	(output_fp_move_double): Call output_move_double for MEM cases.
+	It is not safe to assume double reg addresses are always aligned.
+
+Tue Apr 14 07:55:47 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* *hp800*, *hp700*: Rename to *hppa* and *hppa1.1*, respectively.
+	* config.sub: Recognize PA model numbers for PA 1.0 and 1.1.
+	Disable "hppa" with no model number.
+	* configure: Update for new PA file names and basic_machine names.
+	* README-PA-HPUX: New name for README-PA-RISC, with some corrections.
+
+Tue Apr 14 05:46:37 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* Makefile.in ("if" and "["): Romp, 4.3 BSD, and Ultirx systems
+	fail when the condition is false.  Change troublesome instances to
+	either use "case" or use '-' as a prefix to the compilation rule.
+
+Mon Apr 13 18:20:56 1992  Mike Stump  (mrs@cygnus.com)
+
+	* dwarfout.c: Add default definition for ASM_OUTPUT_ASCII
+	as that is what varasm.c does now.  This really maybe should go
+	into a file like tree.h or some machine independant file, for
+	maintainability.
+
+Mon Apr 13 18:16:32 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sun3.h, sparc.h (LINK_SPEC): Change nostdlib to !nostdlib.
+
+Mon Apr 13 07:17:36 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* rs6000.md (extzv): Generate andi[ul] when practical.
+
+Mon Apr 13 07:17:36 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (rtx_cost, case SUBREG): If modes can't be tied, make
+	expensive.
+	(cse_insn): Make extra entries when DEST is a multi-word SUBREG
+	as long as it is the same number of words as its inner REG.
+
+	* emit-rtl.c (gen_lowpart_common): Handle casting integer to
+	float and vice versa.
+
+	* emit-rtl.c (gen_lowpart_common): Rework code to truncate a
+	constant so we don't convert negative values into positive values;
+	use same code as in simplify_binary_operation in cse.
+
+Mon Apr 13 07:16:56 1992  Richard M. Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* cccp.c (handle_directive): When find quote during copying,
+	give bp as limit arg in skip_quoted_string.
+	When find \ while copying, copy next char without special handling.
+
+Mon Apr 13 06:57:18 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88kv3.h (CTOR_LIST_BEGIN): Avoid complex #if.
+
+	* tree.h (saved_insns): Make this a union holding an rtx or an int.
+	(DECL_FIELD_SIZE): New macro for overloaded uses of DECL_FRAME_SIZE.
+	* c-decl.c (finish_struct): Use DECL_FIELD_SIZE for bitfields.
+	* cp-class.c (finish_struct): Ditto.
+	* objc-actions.c (objc_copy_list, encode_field_decl): Ditto.
+	* stor-layout.c (layout_decl): Ditto.
+
+Sun Apr 12 17:46:30 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* expr.c (expand_builtin, case SQRT): Don't defer popping args on
+	function calls, as the call might be deleted.
+
+	* i386.c (print_operand): Delete references to unused codes.
+	Abort if an unrecognized code is seen.
+
+	* i386.md (bit opcode recognizers): Accept starting bit numbers
+	that are constants but not CONST_INT.
+	(QI/HI register bit test): Delete.
+	(SImode bit test): Don't accept CONST_INT starting bit number.
+
+Sun Apr 12 17:05:25 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.h (ADDITIONAL_REGISTER_NAMES): Add "cc" as alias for cr0.
+
+	* cse.c (equiv_constant): See if a MEM is foldable or has a 
+	constant equivalent.
+
+	* expr.c (store_constructor): If building a static constructor
+	into a register, start out by zeroing the register so we can
+	constant-fold the constructor to a single constant.
+	(expand_expr, case CONSTRUCTOR): Don't write constant objects
+	into memory if the target is a register.
+	(expand_expr, case *_REF): Simplify getting field or array
+	entry from a CONSTRUCTOR.
+	Don't use value of const array unless -O.
+
+Sun Apr 12 14:15:33 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* Makefile.in (compare, compare3): New targets.
+	(mostlyclean): Delete temporary files made by those targets.
+
+	* stmt.c (expand_asm_operands): Ignore `cc' as clobbered reg if name
+	not known.
+	* varasm.c (decode_reg_name): Ret -3 if `cc' not recognized.
+	(make_decl_rtl): Understand -3 as value.
+
+	* configure (i386-sequent-bsd*): Use collect2.
+
+Sun Apr 12 13:28:00 1992  Niklas Hallqvist  (niklas@appli.se)
+
+	* configure: Correctly interpret use_collect2.
+
+Sun Apr 12 10:34:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* c-typeck.c (digest_init): Use INIT to pass to convert_for_assignment
+	for a raw constructor.
+
+	* fold-const.c (fold, case COND_EXPR): Get the type right when
+	the test is folded away.
+
+	* loop.c (strength_reduce): Correct off-by-one error in INSN_LUID
+	safety check.
+
+	* stor-layout (layout_record, layout_union): When limiting the
+	effect of PCC_BITFIELD_TYPE_MATTERS to bitfields, use
+	DECL_BIT_FIELD_TYPE to determine if it was a bitfield.
+
+Sat Apr 11 19:54:00 1992  Per Bothner  (bothner@wombat.gnu.ai.mit.edu)
+
+	* config.sub:  Don't "standardize" an os of newsos* to bsd
+	(it breaks gdb/readline/configure.in, which checks for newsos*).
+
+Sat Apr 11 16:32:21 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* Makefile.in: Remove spaces after reg-stack.o deps.
+
+Sat Apr 11 16:32:15 1992  Michael Meissner  (meissner@osf.org)
+
+	* c-decl.c (init_decl_processing): Make -fno-builtin supress all
+	builtin functions in the user's name space like memcpy, strlen,
+	etc.
+
+Sat Apr 11 14:00:53 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.h (LEGITIMIZE_ADDRESS): Add missing force_reg call.
+	Jump to WIN when we do something.
+
+	* rs6000.c (non_{short,add,logical,and}_cint_operand): New functions.
+	* rs6000.h (PREDICATE_CODES): Add these predicates.
+	* rs6000.md (addsi3, andsi3, iorsi3, xorsi3, cmpsi3): Remove
+	define_expands; instead, add define_split for long constants.
+
+	* combine.c (try_combine): Try to split the pattern using
+	split_insns before trying find_split_point.
+	(find_split_point, case MEM): Try to split an invalid address that
+	is a PLUS with a CONST_INT.
+
+	* combine.c (try_combine): Correctly check if an auto-inc
+	side-effect has been duplicated.
+
+	* expr.c (expand_expr, case PARM_DECL): Return zero of proper mode
+	if no DECL_RTL.
+	
+	* tree.c (save_expr): Must do something with read-only tree that 
+	has side-effects.
+	(stabilize_reference_1): Don't ignore read-only trees.
+
+	* reload.c (find_replacement): New function.
+	* reload.h (find_replacement): Declare it.
+	* reload1.c (gen_input_reload): Use it to ensure substitutions
+	get done if we need to recreate a PLUS.
+
+Sat Apr 11 14:00:02 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* cse.c (cse_end_of_basic_block): Don't stop scanning insns if a
+	jump is found that can't be followed.
+
+	* genextract.c: Make insn_extract copy the address of
+	recog_operand and recog_operand_loc into register variables.
+
+Sat Apr 11 13:59:17 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
+
+	* c-parse.y (stmt): Parse entire parens of `for'
+	before actually starting the loop.
+
+Sat Apr 11 10:35:06 1992  Jeffrey A. Law  (law@mole.gnu.ai.mit.edu)
+
+	* caller-save.c (restore_referenced_regs): Do not call XEXP on
+	reg_equiv_address since reg_equiv_address is already an address.
+
+	* expr.c (expand_builtin, case SQRT): Note the dangers involved in
+	changing the argument test condition.
+
+	* m68k.md (sqrtdf2): New pattern to take advantage of the 68881
+	sqrt function.
+
+Fri Apr 10 18:37:08 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* hp800.c (output_function_epilogue): Output code to restore gr2 in
+	non-frame-pointer case correctly.
+
+Fri Apr 10 15:24:57 1992  Michael Meissner  (meissner@osf.org)
+
+	* decrose.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
+	provided.
+
+	* i386rose.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
+	provided.
+
+	* encrose.h (TARGET_MEM_FUNCTION): Define, memcpy/memset are
+	provided.
+
+	* mips-tfile.c (copy_object): Omit the test for zero flags, since
+	MIPS vendors are now putting bits in there.
+
+	* mips-svr4.h (HAVE_ATEXIT): Define, atexit is provided.
+	(TARGET_MEM_FUNCTIONS): Define, memcpy/memset are provided.
+
+	* mips-sysv.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
+	provided.
+
+	* mips-news5.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are
+	provided.
+	(getpagesize): Define a getpagesize that uses sysconf, just like the
+	MIPS V.4 port.
+
+	* mips.c (output_block_move): Don't emit ulw/usw if GAS is the
+	assembler, use the lwl/lwr/swl/swr building blocks instead, since
+	GAS doesn't yet support the ulw/usw macro instructions.
+
+	* configure (mips-sgi-irix4): Use config/iris4.h instead of
+	config/iris.h.
+
+	* iris4.h (new file): Just like iris.h, atexit is provided (unlike
+	IRIX revision 3).
+
+	* iris.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are provided.
+
+Fri Apr 10 11:59:02 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (cmpstr patterns): Correctly handle zero length
+	compares.  Rewrite to avoid needing scratch register.
+
+Thu Apr  9 14:05:04 1992  Michael Collison  (collison at osf.org)
+
+	* i386rose.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Fix these to
+	avoid printing NaNs, and infinity.
+
+Thu Apr  9 11:34:31 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88kluna.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
+
+Wed Apr  8 20:21:59 1992  Michael Meissner  (meissner@osf.org)
+
+	* halfpic.c (all functions): Add a hash table for the lookup instead
+	of linear search.  Don't use bits in the IDENTIFIER node, store the
+	information in the hash table.  Always rebuild the SYMBOL_REF
+	returned by half_pic_ptr, instead of storing it away, since the RTL
+	gets reused at the end of the function.
+	(half_pic_declare): New function, called when a label is laid down
+	to say that it is no longer half-pic.
+
+	* halfpic.h (half_pic_declare, HALF_PIC_DECLARE): Add function
+	defintion, and accessor macro.
+
+	* mips.h (HALF_PIC_DECLARE): Add dummy macro if not OSF/rose.
+	(ASM_DECLARE_OBJECT_NAME): Invoke HALF_PIC_DECLARE on name.
+	(ASM_DECLARE_FUNCTION_NAME): Ditto.
+	(*_SECTION_ASM_OP): Put the leading tab back in.
+
+	* mips.md (dslot attribute): 'pic' type requires a delay slot, since
+	it is really a load.
+	(movsi): Make movsi a define_expand, and if it's moving the address
+	of a half-pic item into a register, convert it into a load.
+	(movsi_internal): The old movsi define_insn renamed.
+	(movstrsi_internal): Add '=' constraint on all stores and clobbers.
+
+	* decrose.h (LINK_SPEC): If not -noshrlib or -pic-none, pass
+	-warn_nopic.  Allow user to pass -noshrlib directly.
+
+Wed Apr  8 00:11:56 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparc.h (MOVE_MAX): Set to 8 instead of 4.
+
+	* sched.c (sched_analyze_2): Don't abort if find note before a CC0
+	using insn.
+
+	* sparc.h (ADDITIONAL_REGISTERS_NAMES): Add.  Define fake reg name
+	ccr, for use in asm clobbers.
+
+	* sparc.h (TARGET_FORCE_ALIGN): Add comment explaining that it
+	is for experimental purposes only.
+	(FIRST_PARM_OFFSET): Add 4 when TARGET_FORCE_ALIGN to ensure that
+	stack is double-word aligned.
+	(FIRST_PARM_CALLER_OFFSET): Delete obsolete macro.
+
+	From Tom Wood:
+	* unroll.c (final_giv_value): Put the subtracts in the right place.
+
+	* sparc.c (compute_last_arg_offset): Delete, no longer needed.
+	(FRAME_POINTER_REQUIRED): Do not depend on frame size.
+
+Tue Apr  7 22:36:33 1992  Michael Meissner  (meissner@osf.org)
+
+	* halfpic.c (whole file): Flesh out initial half-pic implementation
+	for the OSF/1 reference ports.  This is still a work in progress.
+
+	* halfpic.h (toplevel): Add declarations for half_pic_finish and
+	half_pic_ptr.  Add macros HALF_PIC_FINISH, HALF_PIC_PTR, and
+	HALF_PIC_PREFIX.
+
+	* mips.h (call_memory_operand): Delete call_memory_operand
+	function declaration.
+	(PREDICATE_CODES): Ditto.
+	(CONSTANT_ADDRESS_P): Correctly reject half-pic addresses.
+
+	* mips.c (call_memory_operand): Delete function.
+
+	* mips.md (call* patterns): Use memory_operand instead of
+	call_memory_operand for predicates.  Use the test not register and
+	not CONSTANT_ADDRESS_P instead of call_memory_operand in the
+	define_expand body to test whether the function address needs to be
+	forced to a register.
+
+	* decrose.h (HALF_PIC_DEBUG): Define as true if -mdebugb, to debug
+	the half-pic code, just like debugging normal addressing.
+	(CPP_SPEC): Use the __<name>__ form of the language macros instead
+	of __<name>.
+	(LINK_SPEC): If -pic-lib and not -noshrlib, pass -warn_nopic.
+	(LIB_SPEC): Don't pass -L/usr/ccs/lib.
+
+	* x-decrose (CCLIBFLAGS): Pass -pic-extern when building libgcc1.a.
+	(LIBGCC2_CFLAGS): Pass -pic-extern when building libgcc2.a.
+
+Tue Apr  7 19:00:56 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* xm-m88k.h (NO_SYS_SIGLIST): Not provided by the 88open standards.
+
+	* m88k.c (output_ascii): Generalize to support ident
+	* m88k.h (ASM_OUTPUT_IDENT, ASM_OUTPUT_ASCII): Use output_ascii.
+
+	* m88k.c, m88k.md, m88k.h: Integrate all changes to support the m88110.
+
+Mon Apr  6 22:51:02 1992  John Wroclawski  (jtw@lcs.mit.edu)
+
+	* mips-tfile.c (read_seek): Fix argument order in calls to
+	fatal.
+
+Mon Apr  6 21:17:38 1992  Mike Stump  (mrs@albert.gnu.ai.mit.edu)
+
+	* merged in Cygnus sources.
+
+	Mon Apr  6 15:26:09 1992  Mike Stump  (mrs@cygnus.com)
+
+	* cp-spew.c (hack_more_ids): Reimplement.  Change from Niklas
+	Hallqvist.
+
+	Thu Apr  2 02:36:36 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-*:  Simplify DECL_NAME (TYPE_NAME into TYPE_IDENTIFIER.
+
+	* cp-call.c (build_method_call):  Fix an error message.
+
+	* cp-parse.y (LC):  Renamed to left_curly.
+	(TYPENAME_SCOPE):  Renamed to typename_scope.
+
+Mon Apr  6 14:04:49 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparc.h (TARGET_HOPE_ALIGN): Fix typo, `-fast' -> `-dalign'.
+
+	* expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P if
+	this is an indirect of the address of an array, struct, or union.
+
+	* jump.c: Delete declaration of squeeze_notes.
+	(jump_optimize): Use new return value from squeeze_notes.
+	(squeeze_notes): Handle the case where START may be a note that
+	must be moved outside the range.  Now returns the new start value.
+	* loop.c (find_and_verify_loops): Use squeeze_notes return value.
+	* stmt.c (expand_end_case): Call squeeze_notes before reorder_insns.
+	* rtl.h: Declare squeeze_notes.
+
+	* rs6000.h (PTRDIFF_TYPE): Define to int.
+
+	Mostly from tege@sics.se:
+	* sparc.c (eligible_for_epilogue_delay): Clarify comment.  Delete
+	unreachable test of leaf_function.
+	(singlemove_string): Correct test for when can use sethi alone.
+	(output_function_prologue): Declare leaf_function.  More
+	efficiently frame sizes greater than 4095. Correctly handle leaf
+	functions with frame greater than 4095.
+	(output_function_epilogue): Likewise.
+	(output_return): Likewise.
+
+Mon Apr  6 10:11:08 1992  Tim Moore  (moore@defmacro.cs.utah.edu)
+
+	* config.sub : Add hp700 cpu type.
+	* configure : Make hp700-bsd and hp700-hpux cases, with use of gas
+	an option.
+	* hp700hpuxg.h, hp800hpuxg.h : New files for using gas under hpux.
+	* hp800.h (REGISTER_NAMES): Change to use %r style register names;
+	required to name PA-RISC 1.1 fp registers.
+	* x-hp800hpux : Don't invoke the assembler to compile alloca.c.
+	* README-PA-RISC: New file.
+
+Mon Apr  6 08:00:06 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (relax_delay_slots): Don't get confused when a label
+	becomes zero (meaning end of function).
+
+Sun Apr  5 13:45:37 1992  Ron Guilmette (rfg at ncd.com)
+
+	* i860.md (floatsidf3):  Fixed to expand to a correct insn sequence.
+
+Sun Apr  5 12:33:02 1992  John F Carr  (jfc at Achates.mit.edu)
+
+	* rs6000.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CCEQmode.
+	(SELECT_CC_MODE): Select it for equality comparison of comparison.
+	* rs6000.c (scc_comparison_operator): Reject improper use of
+	CCEQmode.
+	(ccr_bit): Handle CCEQmode, where bit is always third in field.
+	(print_operand, case 'E'): New case.
+	* rs6000.md: New pattern to compare two comparisons with
+	creqv/crxor.
+	Add peephole for two consecutive scc insns.
+
+	* combine.c (subst, case FFS): (ffs (*_extend X)) -> (ffs X)
+	(make_compound_operation): Handle (and (rotate X C) M).
+
+	* flags.h (flag_cse_skip_blocks): New variable.
+	* toplev.c (flag_cse_skip_blocks): Define it here.
+	(f_options): Add it to table.
+	(main): -O2 turns it on.
+	* cse.c (invalidated_skipped_{set,block}): New functions.
+	(enum taken): New value, AROUND.
+	(cse_end_of_basic_block): New argument SKIP_BLOCKS.  If it is
+	nonzero, follow a branch around a block of code which contains
+	no labels and set status = AROUND for the jump.
+	(cse_main): Pass FLAG_CSE_SKIP_BLOCKS argument to
+	cse_end_of_basic_block.
+	(cse_basic_block): If jump status is AROUND, call scan_skipped_block
+	before following jump.
+
+Sun Apr  5 04:16:46 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* optabs.c (emit_cmp_insn): Add missing parameter type declaration.
+
+	* expr.c (expand_builtin, case SQRT): Fix typo emitting insns.
+	Reformat to look like the rest of gcc.  Use accessor macros to
+	access fields of an RTX.  Make comments match code.
+
+	* i386.md (cmpstr patterns): Handle zero length compares.
+
+Sat Apr  4 04:40:58 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_equiv_reg): Avoid passing zero to true_regnum.
+
+	* expr.c (expand_expr, case COMPONENT_REF): Handle case where we
+	are extracting a field of a constant.
+
+	* a29k.h ({TEXT,READONLY_DATA,DATA}_SECTION_ASM_OP): Put tab back.
+
+	* rs6000.c (output_epilog): Reduce number of lines generated to
+	write traceback table.
+
+	* combine.c (move_deaths): A destination is used in this insn
+	unless is it completely overwritten.
+
+Sat Apr  4 04:39:16 1992  John Carr (jfc at ATHENA.MIT.EDU)
+
+	* expmed.c (store_bit_field, extract_bit_field): Remove redundant
+	tests for MEM.
+
+	* c-common.c (binary_op_error): Handle FLOOR_DIV_EXPR, FLOOR_MOD_EXPR,
+	*ROTATE_EXPR.
+	* c-typeck.c (build_binary_op): Handle FLOOR_MOD_EXPR.
+
+Sat Apr  4 00:29:40 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (c_decode_option): `-' was missing in -Wno-redundant-decs.
+
+	* Makefile.in (USE_COLLECT2, MAYBE_USE_COLLECT2): New variables.
+	(GCC_PARTS, native, install-common): Use USE_COLLECT2.
+	(toplev.o): Use MAYBE_USE_COLLECT2.
+	* configure: Let particular cases set use_collect2
+	and have that control use of collect2 through editing Makefile.
+	Handle --with-gnu-as and --with-gnu-ld options.  Ignore --with-*.
+	--with-gnu-ld turns off use_collect2.
+	* i386rose.h (CC1PLUS_SPEC): Deleted.
+
+	* gcc.c (do_spec_1): In case 'D', strip final / from prefixes.
+
+	* c-decl.c (push_c_function_context): Add pedantic warning.
+
+	* collect2.c (main): Figure STANDARD_EXEC_PREFIX into clen.
+
+	* c-typeck.c (get_spelling): Move alloca outside fn call.
+
+Fri Apr  3 16:36:54 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* varasm.c (output_constant_def): Set MEM_IN_STRUCT_P if nec.
+
+Fri Apr  3 05:32:39 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* m88k.md (call_block_move{,_loop}): Don't write USE for regs
+	we don't set; remove unneeded CLOBBERs for call-used registers.
+
+	* caller-save.c (insert_save_restore): Abort rather than writing
+	out an insn having a null source or destination.
+
+	* explow.c (allocate_dynamic_stack_space): Don't reference
+	STACK_BOUNDARY if it isn't defined.
+
+	* explow.c (allocate_dynamic_stack_space): Don't use TARGET if it
+	isn't a pseudo reg.
+
+Fri Apr  3 01:50:57 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixinc.svr4: Don't reconvert __i386 if have _ after.
+
+	* c-decl.c (grokdeclarator): Use size_binop to get array hbound - 1.
+
+	* enquire.c: Include sys/types.h.
+
+	* c-typeck.c (check_format): Don't use type name for integer types
+	or pointers to them.
+
+	* explow.c (allocate_dynamic_stack_space): New arg KNOWN_ALIGN.
+	All callers changed.
+
+Thu Apr  2 15:24:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_type): Output just xref for var-size struct/union.
+
+	* reload.c (find_equiv_reg): In previous change, verify valtry != 0.
+
+Thu Apr  2 08:34:38 1992  Michael Meissner  (meissner@osf.org)
+
+	* iris.h (SIZE_TYPE): Make type unsigned int, not unsigned long.
+	(PTRDIFF_TYPE): Define to be 'int', not 'long int'.
+	(WCHAR_TYPE): Define to be 'unsigned char', not 'int'.
+	(WCHAR_TYPE_SIZE): Define to be 8, not 32.
+
+Thu Apr  2 06:01:07 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (fold, case COND_EXPR): Add missing test for zero.
+
+	* expr.c (expand_expr, case ARRAY_REF): Handle case of constant
+	array whose initializer is a string.
+
+	* optabs.c (emit_libcall_block): Don't move up insns that set
+	pseudos whose old values are used in previous insns.
+
+	* genattrtab.c (attr_rtx): Add some casts to int from enum rtx_code.
+
+Thu Apr  2 04:20:30 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* xm-mipsnbsd.h: New file.
+	* configure (mips-sony-bsd*): Use that.
+
+	* stmt.c (expand_end_case): Move the convert_to_mode after emit_queue.
+
+Thu Apr  2 00:49:18 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* stmt.c (expand_end_case): Fix typo.
+
+Wed Apr  1 19:01:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fold-const.c (size_int): Always switch to permanent_obstack
+	to make a node that will be saved
+
+Wed Apr  1 15:36:19 1992  Michael Meissner  (meissner@osf.org)
+
+	* xm-irix4.h (alloca.h): Don't include <alloca.h> if not using the
+	GNU compiler, since the Silicon Graphics compiler's alloca complains
+	if the result of alloca is stored in something that is not a simple
+	variable.  Just use the C version of alloca.c.
+
+Wed Apr  1 14:42:24 1992  Torbjorn Granlund  (tege@mole.gnu.ai.mit.edu)
+
+	* pyr.md (HImode compare recognizers): Don't match if subsequent
+	branch has unsigned predicate.
+
+Wed Apr  1 14:20:13 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparc.c (output_function_epilogue): Drop unused true_epilogue
+	parameter.  Delete obsolete tail-call support code, which worked
+	by passing -1 for leaf_function.
+	(tail_call_valid_p): Delete obsolete function.
+	(output_tail_call): Likewise.
+	* sparc.h (TARGET_TAIL_CALL): Delete obsolete option.
+	(FUNCTION_EPILOGUE): Fix call to output_function_epilogue.
+	* sparc.md (tail_call): Delete obsolete pattern.
+
+	* rs6000.c (output_epilogue): Output a traceback table.
+
+Wed Apr  1 06:42:54 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.h: Override ASM_OPs added to svr4.h.
+
+Wed Apr  1 03:12:44 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* emit-rtl.c (operand_subword): Swap words from const_double if nec
+
+	* ns32k.h (GO_IF_INDEXING): New arg MODE; caller changed.
+	Pass to INDEX_TERM_P.
+
+Tue Mar 31 18:10:10 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattrtab.c (check_attr_value): Fix some backwards tests.
+
+	* expr.c (move_by_pieces{,_ninsns}): Only look at MODE_INT modes.
+
+	* fold-const.c (fold, case COND_EXPR): Fix typo in last change.
+
+	* stor-layout.c (layout_record): Add missing call to size_int.
+
+	* expr.c (do_store_flag): Handle case where EXP is a TRUTH_NOT_EXPR.
+
+Tue Mar 31 17:18:20 1992  Jeffrey A. Law  (law@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Enable `sqrt'.
+	* expr.c (expand_builtin, case SQRT): By default check that the
+	argument to sqrt is in sqrt's domain.  If the argument is not in the
+	domain, then call the library function.  Skip argument checking if
+	-ffast-math is in use.
+
+	* flags.h (flag_fast_math): Declare new variable.
+	* toplev.c (f_options): Add flag_fast_math to table.
+
+Tue Mar 31 17:11:09 1992  Per Bothner  (bothner@wombat.gnu.ai.mit.edu)
+
+	* cccp.c:  Add new flag -nostdinc++ to disable searching
+	standard C++-specific include directories. This is useful
+	for building libg++.
+	* gcc.c:  Pass -nostdinc* to cpp, not just -nostdinc.
+	* cpp.texi:  Document -nostdinc++.
+
+Tue Mar 31 15:32:34 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (link_command_spec): Use %l before %X.
+
+	* svr4.h (MULTIBYTE_CHARS): Turned off.
+
+	* sun3.h, sparc.h (LINK_SPEC): Inhibit -e if -nostdlib.
+
+	* collect2.c (my_strerror): Renamed from strerror.
+
+	* reload.c (find_equiv_reg): Find constants in REG_EQUIV notes.
+
+	* m68k.h (PRINT_OPERAND_PRINT_FLOAT): Fix typo in #ifdef.
+
+	* Makefile.in (install-dir): Create include subdir.
+
+Tue Mar 31 18:03:21 1992  Thorsten Ohl  (ohl@apollo.desy.de)
+
+	* x-apollo68 (CFLAGS, LIBGCC2_CFLAGS): Defined.
+	* t-apollo68: new file, use collect2.
+	* configure: use `t-apollo68'.
+
+	* apollo68.h (ASM_SPEC): Delete -C.
+	(STRUCT_VALUE_INCOMING): Now 0.
+	(HAVE_ATEXIT): Defined.
+	(PROMOTE_PROTOTYPES): Delete #undef.
+	(USER_LABEL_PREFIX): Undef.
+	(LOCAL_LABEL_PREFIX, REGISTER_PREFIX, REGISTER_PREFIX_MD): Override.
+	(ASM_RETURN_CASE_JUMP): Defined.
+	(REGISTER_NAMES): Override.
+
+Tue Mar 31 14:59:53 1992  Tim Moore  (moore@defmacro.cs.utah.edu)
+
+	* hp800.md (movsi+4, call_value+1): Add x,y constraints for Snake
+	fp registers.
+	* hp800.h (INITIAL_FRAME_POINTER_OFFSET): Fix for Snake stack
+	alignment. 
+	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Fix for Snake fp
+	registers.
+	* hp800.c (output_function_prologue): Align stack for Snakes.
+	(output_arg_descriptor): Fix Snake typos.
+	
+	* hp700.h, hp700hpux.h : New files
+	(TARGET_DEFAULT): Emit Snake code by default.
+	* hp700hpux.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Define to work
+	around assembler syntax difference between 700 and 800 series HPUX.
+	* hp800.h (ASM_DOUBLE_ARG_DESCRIPTORS): Conditionalize on the
+	above symbol.
+
+Tue Mar 31 09:58:52 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips-sysv.h (getpagesize): When compiling the trampoline code,
+	define a macro getpagesize which uses the POSIX sysconf function.
+
+	* mips-svr4.h (getpagesize): When compiling the trampoline code,
+	define a macro getpagesize which uses the POSIX sysconf function.
+
+Mon Mar 30 19:25:48 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* loop.c (strength_reduce): In recent maybe_multiple code, only
+	apply INSN_LUID to insn when safe.
+
+Mon Mar 30 17:24:33 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.c (output_block_move): Fix typos that would generate
+	incorrect code if either the source or destination is a global or
+	static memory address.  Increment appropriate -mstats counters.
+
+	* x-iris (INSTALL): Use cp to install stuff, not install -c.
+
+Mon Mar 30 16:39:28 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* m68k.md: Use `\;', not `;', to separate insns.
+
+	* toplev.c (main): Add cast when setting debug_info_level.
+
+	* m68k.h (GLOBAL_ASM_OP): New macro.
+	(ASM_GLOBALIZE_LABEL): Use that.
+	* hp320.h, m68ksgs.h, mot3300.h (GLOBAL_ASM_OP): Override this.
+	(ASM_GLOBALIZE_LABEL): Not this.
+
+	* libgcc2.c (__builtin_saveregs) [sparc]: Define both assembler labels
+	__builtin_saveregs and ___builtin_saveregs, to handle all systems.
+
+	* m68k.h (TRANSFER_FROM_TRAMPOLINE): Add a globalize command.
+	(TRAMPOLINE_TEMPLATE): Make the JSRs really JSRs.
+	Always use precisely ___trampoline.
+
+Mon Mar 30 07:17:50 1992  Richard Kenner  (kenner@vlsi1.ultra.nyu.edu)
+
+	* reload1.c (inc_for_reload): Declare CODE consistently.
+	(constraint_accepts_reg_p): Add missing cast.
+
+	* fold-const.c (fold, case TRUTH_ANDIF_EXPR): Fix typo in last change.
+
+Mon Mar 30 01:07:33 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* rtl.h: Don't continue #if lines.
+
+Mon Mar 30 03:30:54 1992  Mike Stump  (mrs@cygnus.com)
+
+	* Merge in Cygnus cp-* sources, below are the ChangeLog entries from
+	the Cygnus ChangeLog file.  Note, I am experimenting with a slightly
+	different format, as Tiemann would like the dates to remain intact,
+	but Stallman does not want the dates out of order and would rather
+	have the entries altogether anyway.
+
+	Sun Mar 29 16:57:31 1992  Mike Stump  (mrs@rtl.cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Handle typedef before other
+	specifiers, as typedef is now more complex in c++ than in c.
+
+	Sun Mar 29 12:00:03 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-decl.c (start_function): Always set TREE_PUBLIC if DECL1 is
+	part of any interface.
+
+	* cp-cvt.c (convert_to_reference): Don't type to convert a type to
+	itself.
+	(build_type_conversion): Don't look for alternatives to default
+	type conversion except to integral and real types.  Fixes bug
+	exposed in 19 March change.
+
+	Tue Mar 24 07:53:46 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-tree.c (lvalue_p): POST{INC,DEC}REMENT_EXPR is not an lvalue.
+	* cp-typeck.c (build_modify_expr): Ditto.	
+
+	* cp-init.c (emit_base_init): If debugging, force out a line note so
+	we can step into ctors for base initializers.
+	(build_virtual_init): Note that we need to do some more work to
+	handle replicated base classes in multiple inheritance lattices.
+
+	Mon Mar 23 00:33:35 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-init.c (expand_aggr_init_1): Finish Mar 15 change concerning
+	INDIRECT_REFs that have TREE_HAS_CONSTRUCTOR set.
+
+	* cp-call.c (build_overload_call_real): Ensure FINAL_CP->EVIL is set
+	when FINAL_CP is non-NULL and we encounter an ERROR_MARK_NODE in the
+	operands we are processing.
+
+	* cp-cvt.c (convert_to_reference): Propagate ERROR_MARK_NODE from
+	failed type conversions.
+
+	Sun Mar 22 20:01:51 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-init.c (is_aggr_typedef): Don't give an error message if NAME
+	is ERROR_MARK_NODE.
+
+Sun Mar 29 09:29:10 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-gcc.com: Remove patch from March 7.
+
+	* make-l2.com: Use compiler that was just built, if available,
+	  otherwise use system compiler if it is version 2.
+
+Sun Mar 29 19:53:33 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c ({invert,swap}_tree_comparison): New functions.
+	(comparison_equiv_p): Deleted.
+	(operand_equal_for_comparison_p): New function.
+	(invert_truthvalue): Use invert_tree_comparison.
+	(fold): Use variables T1 and TEM consistently.
+	Don't mix arg[01] and TREE_OPERAND (t, [01]); they aren't
+	identical.
+	(fold, comparison cases): Use new functions to adjust comparison
+	codes; add var INVERT.
+	Convert f >= f to f == f for FP and similar.
+	Correctly compute FP <= and >= when one arg is a NaN.
+	Clean up handling of constant results.
+	(fold, case COND_EXPR): Rework considerably to catch more forms
+	of abs, min, max, and -abs and also clean up; use new function
+	operand_equal_for_comparison_p.
+
+Sun Mar 29 00:00:35 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cse.c (simplify_relational_operation): Arg ptr reg may be 0.
+
+	* gcc.c: Always define R_OK, etc. if system headers don't.
+
+	* c-parse.y (maybe_attribute): Accept `mode (m)' attribute.
+	* c-common.c (decl_attributes): Handle that attribute.
+
+	* tower.h (REGISTER_NAMES): Discard the fpa regs.
+	* tower-as.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+	Don't handle fpa regs.
+	(PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM):
+	New macros.
+	(PUT_SDB_DIM): Deleted.
+
+	* m68k.h (RTX_COSTS): Smaller multiply costs on 68040.
+
+	* stmt.c (expand_end_case): Reduce amount of specific modes
+	used in handling casesi.
+
+	* collect2.c (savestring): Copy only SIZE bytes of string.
+
+	* gstddef.h: Handle __need_size_t, __need_wchar_t, __need_ptrdiff_t,
+	and _need_null.
+
+	* c-typeck.c (digest_init): Save INIT with nops not stripped
+	to pass to convert_for_assignment.
+
+Sun Mar 29 12:27:01 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* vms.h (FUNCTION_PROLOGUE):  Redefine to add 4 bytes to local
+	storage on the stack.
+	(STARTING_FRAME_OFFSET): Redefine as -4.
+
+Sun Mar 29 19:58:57 1992  Paul Eggert  (eggert@twinsun.com)
+
+	* c-decl.c (store_parm_decls): Function prototypes now override
+	old-style definitions if argument types disagree only because of
+	promotions.
+
+Sun Mar 29 17:40:56 1992  Fred Fish  (fnf at fishpond)
+
+	* fixincludes (stdlib.h): Fix free/calloc/malloc/realloc return types.
+
+Sun Mar 29 15:12:39 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* sparc.c (sparc_type_code):  Added this new routine.
+	(tree.h):  Included to support `sparc_type_code'.
+	(output_block_move):  Cleaned up code to handle assembler-specific
+	aspects of internal labels.
+
+	* sparc.h: (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER, LEAF_REGISTERS):
+	Deleted spurious semicolons.
+	(ASM_DECLARE_RESULT):  New macro to generate the .proc directive.
+	(ASM_DECLARE_FUNCTION_NAME):  Changed to use ASM_DECLARE_RESULT.
+	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):  Changed to use
+	ASM_GENERATE_INTERNAL_LABEL when generating jump table elements.
+
+	* svr4.h (SVR4):  Don't define this symbol here.  (It was never
+	needed, and it will be used to indicate an SVR4 *host* from now on.)
+	(SKIP_ASM_OP):  Define this new macro.
+	(ASM_OUTPUT_SKIP):  Use SKIP_ASM_OP.
+	(ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):  Added
+	new definitions appropriate for most SVR4 assemblers.
+	(COMMON_ASM_OP, LOCAL_ASM_OP):  Define these new macros.
+	(ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):  Use them.
+	(ASM_OUTPUT_ALIGNED_LOCAL):  Allocate things in common rather than
+	trying for the .bss section (which may not work).
+	(ASM_DECLARE_RESULT):  Define this to do nothing (if not already
+	defained for target machine).
+	(ASM_DECLARE_FUNCTION_NAME):  Add invocation of ASM_DECLARE_RESULT.
+
+	* dwarfout.c (ASM_DWARF_POP_SECTION):  Renamed ASM_OUTPUT_POP_SECTION.
+	(PUSHSECTION_ASM_OP, POPSECTION_ASM_OP):  New macro definitions.
+	(SECTION_ASM_OP):  Deleted.  Replaced by PUSHSECTION_ASM_OP.
+	(ASM_OUTPUT_PUSH_SECTION, PUSHSECTION_FORMAT):  New macro definitions.
+	(*_SECTION):  New macro definitions for important section name strings.
+	(ASM_DWARF_*_SECTION):  Deleted all macros to change to specific
+	sections and replaced them globally with calls to the new parameterized
+	ASM_OUTPUT_PUSH_SECTION macro.
+
+Sat Mar 28 17:28:17 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Bump Meissner version # to 15.
+	(output_block_move): Add function defintion.
+	(HALF_PIC_PTR, HALF_PIC_FINISH): Provide dummy definitions.
+	(OPTIMIZATION_OPTIONS): Set flag_gnu_linker to FALSE, and
+	flag_no_cse_function to TRUE.
+	(CC1PLUS_SPEC): Delete -- it just passed -fno-gnu-binutils to
+	cc1plus.
+
+	* mips.c (block_move function): Use movstri_internal, instead of
+	emitting the moves directly.
+	(output_block_move): New function to emit the correct code for block
+	moving a constant amount of data.
+	(siginfo): Change options to ps.
+
+	* mips.md (movstrsi_internal): New block move pattern.
+	(movsi_ulw): Add an appropriate REG_EQUIV regnote.
+	(movsi_usw): Type attribute is store, not load.
+
+	* mips-gbsd.h (toplevel): Include mips-bsd.h, not mips-gbsd.h.
+
+	* mips-bsd.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit
+	BSD43 prefixes.
+
+	* mips-sysv.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit
+	System V prefixes.
+
+	* mips-svr4.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit
+	System V.4 prefixes.
+
+	* decstatn.h (TARGET_MEM_FUNCTIONS): Define.
+
+Sat Mar 28 15:12:39 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* libgcc2.c (eprintf): Make argument types comsistant with assert.h.
+	(__builtin_new, __builtin_vec_new): Declare all external functions.
+	(default_new_handler):  Use a macro for the "memory exausted" message.
+
+	* sparcv4.h:  File completely replaced (with one that works).
+
+Sat Mar 28 15:09:46 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* toplev.c (flag_gnu_linker): Default to 0 if USE_COLLECT2.
+
+	* i386.h (TARGET_SWITCHES): Add svr3-shlib.
+	(TARGET_SVR3_SHLIB): New macro.
+	* i386v.h (ASM_OUTPUT_LOCAL): Override definition here.
+
+	* Makefile.in (gcc.xtar): Update version in README.
+
+	* libgcc2.c [sparc] (__builtin_saveregs): Add optional .proc,
+	.type and .size assembler commands.
+
+	* dbxout.c (dbxout_type): New arg SHOW_ARG_TYPES.  All calls changed.
+	(dbxout_type_methods): Mostly rewritten, with Tiemann's help.
+
+	* Eliminate limit on alignment value of a variable or field.
+	* tree.h (DECL_ALIGN): Use frame_size slot.
+	(struct tree_decl): `align' slot deleted.
+	* print-tree.c (print_node): Print `align' or `frame_size', not both. 
+	* expr.c (get_pointer_alignment): Don't use DECL_ALIGN of function.
+	* c-decl.c (duplicate_decls, finish_enum): Likewise.
+	* tree.c (make_node): Likewise.
+	* c-common.c (decl_attributes): Eliminate limit of 255 on alignment.
+
+	* collect2.c: Don't include gstdarg.h or gvarargs.h.
+	Make error messages follow standards.
+	(error, fatal, fatal_perror): Don't use varargs.
+	Accept as many args as anyone tries to use.
+
+	* cp-decl2.c: Get rid of -fgnu-binutils.
+
+	* ns32k.h (INDIRECTABLE_ADDRESS_P): Deleted.
+	(GO_IF_NONINDEXED_ADDRESS): Delete dupllicate test for reg+offset.
+	(MEM_REG): Don't accept constant here.
+	(INDIRECTABLE_2_ADDRESS_P): Adapt usage of MEM_REG.
+	(GO_IF_INDEXING, GO_IF_INDEXABLE_ADDRESS): New macros.
+	(GO_IF_LEGITIMATE_ADDRESS): Use them.
+
+Sat Mar 28 20:48:20 1992  Chip Salzenberg  (chip at tct.com)
+
+	* stor-layout.c (layout_record, layout_union):
+	Limit effect of PCC_BITFIELD_TYPE_MATTERS to actual bitfields.
+	(layout_decl): Do not override a packed decl's alignment.
+
+	* c-common.c (decl_attributes): Don't expect a simple
+	attribute like "packed" to be in a LIST_NODE.
+
+	* c-decl.c (finish_struct): If a field has the "packed"
+	attribute, don't override it with type's normal alignment.
+
+Sat Mar 28 06:51:12 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (initialize_for_inline): Replace DECL_INCOMING_RTL
+	if it has an address shared with DECL_RTL, not just when the entire
+	value is shared.
+
+	* rs6000.c (input_operand): Clean up and make comments agree with
+	code; no changes to what is matched.
+
+	* loop.c (add_label_notes): Handle operands of type 'E'.
+
+	* rs6000.c (print_operand, case 'A'): Fix typo.
+
+Sat Mar 28 01:29:06 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* output.h (current_function_uses_const_pool): New declaration.
+
+	* i386.c (function_{prologue,epilogue}, simple_386_epilogue):
+	If the constant pool is used, the PIC reg will be used.	
+
+	* expr.c (expand_builtin): Add support for named pattern strlenM.
+	* expr.h (strlen_optab): New declaration.
+	* optabs.c (init_optabs): Initialize strlen_optabs.
+	* i386.md (strlensi): New pattern.
+
+Fri Mar 27 12:11:03 1992  Fred Fish  (fnf at fishpond)
+
+	* fixinc.svr4 (dbm.h):  Fix unconditional redefinition of NULL
+
+	* config.sub:  Add i486 as a distinct CPU type.  Recognize i486v4
+	as distinct from i386v4.  Change ncr3000 to i486.
+	* configure:  Add i486-ncr-sysv4.
+	* config/x-ncr3000:  New file.
+
+Fri Mar 27 18:44:45 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (twoval_comparison_p, eval_subst): New functions.
+	(fold): If an operand of a comparison is a COMPOUND_EXPR, move
+	it outside the comparison.
+	(case GT_EXPR, ...): Replace old code to fold comparisons
+	of comparisons with new code using new functions above.
+	When changing code of unsigned comparisons, set variable CODE.
+
+	* expr.c (get_inner_reference): Return BLKmode and -1 size for a
+	variable-sized object instead of aborting.
+	(do_jump, case COMPONENT_REF): If get_inner_reference returns a
+	size of -1, don't do anything special.
+	* fold-const.c (optimize_bit_field_compare, decode_field_reference):
+	Likewise.
+
+	* combine.c (reg_bitfield_target_p): Replace test with one that
+	compares the register number of X with that of a register which
+	is the target of the assignment.
+
+	* loop.h (struct_induction): New field maybe_multiple.
+	* loop.c (strength_reduce): Track when code may be executed more
+	than once per iteration; pass to record_biv.
+	Call update_giv_derive on every JUMP_INSN.
+	(record_biv): Copy new maybe_multiple arg to struct induction.
+	(record_giv): Clear maybe_multiple.
+	(update_giv_derive): If passing JUMP_INSN, look at maybe_multiple
+	in biv update.
+
+	* expr.c (expand_expr, case MODIFY_EXPR): Add missing call to
+	do_pending_stack_adjust.
+
+	* rs6000.h (OBJECT_FORMAT_COFF): Add definition.
+
+Fri Mar 27 15:58:42 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (check_format): If arg wants void *, accept any ptr.
+
+	* ns32k.md (CALL_MEMREF_IMPLICIT, MOVD_FLOAT_OK):
+	New parameters replace GAS_SYNTAX.
+	* pc532.h (CALL_MEMREF_IMPLICIT, MOVD_FLOAT_OK): Define both.
+	* sequent.h (CALL_MEMREF_IMPLICIT): Defined.
+
+	* sequent.h (INDEX_RATHER_THAN_BASE): Defined.
+	* ns32k.c (print_operand_address): Check it here.
+
+	* ns32k.c (print_operand_address): Treat all non-ints as symbolic.
+	(print_operand): Likewise.  Also fix typo, use PUT_ABSOLUTE_PREFIX,
+	and test NO_ABSOLUTE_PREFIX_IF_SYMBOLIC.
+
+	* svr4.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
+	Output newline after section op.
+	* i860v3.h (DTORS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP):
+	Delete newlines.
+
+	* Makefile.in (clean): Don't delete stage*.
+	(distclean): Do it here.
+	(extraclean): Delete config/patch*.
+
+	* Makefile.in (SYSCALLS.c): Target deleted.
+	(SYSCALLS.c.X): Create SYSCALLS.c and use it in one rule.  Delete also.
+
+	* Makefile.in (ld): New target.
+	* t-* (ld, collect2*): Targets deleted.
+	(EXTRA_PROGRAMS): Moved ld here if it was in EXTRA_PASSES.
+	(EXTRA_PASSES): Delete ld.
+
+	* gcc.c, cccp.c: Don't include sys/file.h.
+
+	* fold-const.c (operand_equal_p): Floats must match bit for bit.
+
+	* gcc.c (link_command_spec): Put back -u*.
+
+Fri Mar 27 11:33:46 1992  Simon J. Gerraty  (sjg@melb.bull.oz.au)
+
+	* configure (m68k-bull-sysv*): Added config for Bull DPX/2
+	* dpx2.h, dpx2g.h: New files.
+	* x-dpx2200, x-dpx2300, t-dpx2: New files.
+	* gstddef.h: Added _SIZET_ to the list of protection for size_t
+
+Fri Mar 27 14:47:47 1992  Paul Eggert  (eggert@twinsun.com)
+
+	* c-typeck.c (convert_arguments): -Wconversion wrongly warned when
+	passing enums, and didn't warn about int precision mismatches.
+
+	* fold-const.c (fold): If IEEE, 0-x is not x.
+
+	* cse.c (simplify_unary_operation): fabs(-0.0) is 0.0, not -0.0.
+	* fold-const.c: Replace target_minus_zero with target_negative.
+	(fold_convert): Warn when converting NaN constants to integer.
+	(fold): fabs(-0.0) is 0.0, not -0.0.  0-x may not equal -x.
+	Do not optimize X++ == C to ++X == C+1 if C is floating point,
+	because it runs afoul of rounding error.
+	* real.h (REAL_VALUE_NEGATIVE): Add.
+
+Fri Mar 27 09:19:11 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* m88k.c (emit_move_sequence): Check the size required for a zero
+	constant.
+
+	* varasm.c (const_hash, compare_constant_1, record_constant_1):
+	For constructor of an array, include the size of the array in bytes.
+
+Fri Mar 27 09:09:53 1992  Michael Meissner  (meissner@osf.org)
+
+	* t-decstatn (ALL): Remove variable.
+	* t-decrose (ALL): Ditto.
+	* t-i386rose (ALL): Ditto.
+	* t-encrose (ALL): Ditto.
+
+Fri Mar 27 17:51:32 1992  Jim Wilson  (wilson@sphagnum.cygnus.com)
+
+	* rs6000.c (first_reg_to_save): When profiling, save space for the
+	argument registers, which need to be saved around the mcount call.
+	(output_prolog): Mark the link register as live when profiling.
+	(output_function_profiler): New function.  Output code to call
+	mcount.
+	* rs6000.h (LIB_SPEC): Replace incorrect definition.  Add
+	-L/lib/profiled and -L/usr/lib/profiled when profiling, -lg when
+	debugging, and -lc always.
+	(OVERRIDE_OPTIONS): No longer zero profile_flag.
+	(FUNCTION_PROFILER): Call output_function_profiler.
+
+	* .gdbinit (complaints): Set to 20.
+	(pbs): New command to call the cc1plus print_binding_stack function.
+
+	* calls.c (expand_call): Delete obsolete references to is_builtin_new.
+
+	* Makefile.in (Makefile): Add dependence on version.c.
+
+Thu Mar 26 19:21:00 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (fixuns_truncMN2,fix_truncMdf2): Make a copy of the input
+	operand and clobber that, rather than clobbering the operand itself.
+
+Thu Mar 26 18:06:32 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* protoize.c (shortpath): Add early check of size of shortname.
+
+	* expr.c (do_jump): Adjust stack after any code that might be skipped.
+
+Thu Mar 26 06:37:35 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.c (toplevel): If NO_STAB_H is defined, include gstab.h
+	instead of stab.h.
+
+Thu Mar 26 02:21:50 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (STAGESTUFF): Add EXTRA_PROGRAMS.
+
+	* configure: Reorder mips alternatives; put mips-mips-* at end.
+
+	* sparc.h (FRAME_POINTER_REQUIRED): 0 if frame is too big.
+	* sparc.c (compute_last_frame_offset): New function.
+
+Wed Mar 25 21:17:36 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* genattrtab.c (check_attr_test): Use XSTR instead of XEXP in one
+	place.
+
+	* genextract.c (mark_operand_seen): Call xrealloc properly.
+
+Wed Mar 25 17:05:56 1992  Torbjorn Granlund  (tege at zevs.sics.se)
+
+	* hp800.c (srcsi_operand): New function.
+	* hp800.md (mulsi, divsi, udivsi, modsi, umodsi): Use srcsi_operand
+	for inputs.
+	(mulsi): Use general_operand for output.
+	(one_cmplsi2): Use register_operand for output.
+
+Wed Mar 25 15:50:12 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* m68k.md (fsgldiv pattern): If FSGLDIV_USE_S, opcode has .s, not .x.
+	* amix.h (FSGLDIV_USE_S): Defined.
+
+	* xm-rs6000.h (REAL_NM_FILE_NAME): Defined.
+
+	* x-i386sco (CCLIBFLAGS): Define as empty.
+
+Wed Mar 25 16:52:53 1992  Michael Meissner  (meissner at osf.org)
+
+	* collect2.c (OSF/rose scan_prog_file): If we are building a
+	program instead of a shared library, don't create an initializer
+	function entry.
+
+Tue Mar 24 04:00:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Version 2.1 released.
+
+	* xcoffout.h: Renamed from xcoff.h.
+	* dbxout.c, final.c, toplev.c, varasm.c, xcoffout.c: Use new name.
+	* Makefile.in: Corresponding changes.
+
+	* dbxout.c (dbxout_type): Don't check DECL_IGNORED_P.
+
+	* t-rs6000: Complete replacement, to build collect2 properly.
+
+	* Makefile.in (mostlyclean): Delete sorted indices that aren't used.
+	(extraclean): Delete patch outputs, *.d, *.Z, *.tar.
+
+	* Makefile.dos (getpwd.o): New target.
+	(OBJS, protoize, unprotoize): Add getpwd.o.
+	(SYSCALLS.c, SYSCALLS.c.X): Copy from Makefile.in.
+
+Tue Mar 24 06:26:26 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+        * cse.c (cse_insn): When deleting dead code after
+        making unconditional branch, check for end of chain.
+
+	* sched.c (update_flow_info): Add code for REG_LABEL case.
+
+	* function.c (instantiate_virtual_regs_1): Don't modify a MEM
+	without copying it unless the modified MEM is valid.
+
+	* cse.c (rtx_cost): Assign ASM_OPERANDS a high cost.
+
+Tue Mar 24 05:48:25 1992  Ken Raeburn  (raeburn@wombat.gnu.ai.mit.edu)
+
+	* cp-*: Disabled 22 March changes relating to dbxout.c; the problem
+	will be fixed properly, with more extensive reworking of the C++
+	front end, later.  This fix was buggy.
+	* dbxout.c (dbxout_type_methods): Reverted 22 March changes; if a
+	template class is passed, print a warning message and emit no info
+	about methods.
+
+Mon Mar 23 14:18:30 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cc1.com: Add getpwd.c.
+
+Mon Mar 23 12:53:02 1992  Jyrki Kuoppala  (jkp@batman.cs.hut.fi)
+
+	* pc532-min.h (HAVE_ATEXIT): Defined.
+
+	* ns32k.c (print_operand) [PC_RELATIVE]:
+	Always use output_address for MEM.
+
+	* pc532.h (BASE_REG_NEEDED): Defined.
+
+Mon Mar 23 07:28:14 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Correct error in last change; don't
+	pass STRICT_LOW_PART or ZERO_EXTRACT to reg_overlap_mentioned_p.
+
+	* sun3.h (CPP_SPEC): Delete extra brace.
+
+Mon Mar 23 02:43:56 1992  Michael Tiemann  (tiemann@mole.gnu.ai.mit.edu)
+
+	* cp-decl.c (pop_from_top_level): Take care of C_C_D.
+
+Sun Mar 22 17:24:09 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* pyr.h: Remove TARGET_INDEX.  Update other TARGET switches.
+	Fix several comments.
+	(REGNO_OK_FOR_BASE_P): Allow reg 0.
+	(REGNO_OK_FOR_INDEX_P): Reformulate.
+	(REG_OK_FOR_INDEX_P): Disallow reg 0.
+
+Sun Mar 22 15:10:49 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips-tfile.c (mark_stabs): Make function defintion agree with
+	prototype.
+
+	* mips.md (cpu, branch_likely attributes): Make these attributes
+	const.
+	(all functional units): Restore functional units that look at the
+	-mcpu= switch for scheduling now that genattrtab uses less memory.
+
+Sun Mar 22 13:57:51 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (convert_for_assignment):
+	Only explicit 0 converts to pointer.
+
+	* Makefile.in (doc): Don't depend on gplus.info.
+	(gplus.info): Target deleted.
+
+	* c-decl.c (store_parm_decls): Call build_type_copy with just one arg.
+
+	* cccp.c (do_include): Use entire filename when checking for repeat.
+	Use lookup_include.
+	(lookup_include): New function.
+
+	* protoize.c (find_extern_def): Store ??? one char at a time.
+
+	* sparc.h (ASM_OUTPUT_FLOAT): Fix typo.
+
+	* fold-const.c (operand_equal_p): Reject NaNs and infinities.
+
+	* varasm.c (immed_real_const): Distinguish minus zero from zero.
+
+	* sparc.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
+	Use `inf' for infinities.  Use hex for minus-zero.
+
+	* objc-actions.c (build_selector_translation_table):
+	Don't make a duplicate decl here for _OBJC_SELECTOR_REFERENCES.
+	Just call finish_decl to store the initial value.
+	Call push_obstack_nochange to balance with finish_decl.
+	Use selector_type for declaring individual selector names.
+
+Sun Mar 22 13:11:32 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* loop.c (update_giv_derive): Correctly handle the case where
+	more than one biv update occurs after a giv is defined.
+
+	* cse.c (rehash_using_reg): Add missing arg to call to exp_equiv_p.
+
+	* expmed.c (expand_mult_add): Add missing arg to call to type_for_mode.
+
+	* reorg.c (fill_slots_from_thread): In the case where have a reg-reg
+	copy and will substitute our destination for our source in the
+	following insn, correctly check for it modifying our destination.
+	
+Sun Mar 22 09:20:16 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-typeck.c (unary_complex_lvalue): Don't complain about taking
+	the ``address'' of a bound static method or member.
+
+	* cp-init.c (resolve_offset_ref): Fix bug in handling of static
+	members and member functions.
+
+	* cp-decl2.c (finish_file): If CURRENT_CLASS_TYPE is non-NULL on
+	entry to this function, punt.
+
+	* cp-parse.y (template_parm): Use CLASS_TYPE_NODE instead of
+	CLASS_TYPE value.
+
+	* cp-cvt.c (build_type_conversion): Add another add-hoc rule to find
+	unsigned->int conversion (if conversion to long does not exist).
+
+	* cp-method.c (build_overload_name): Don't call `array_type_nelts'
+	if the TYPE_DOMAIN of an array type is NULL_TREE.
+
+	* cp-init.c (build_offset_ref): Set up and use DECL even in case
+	where NAME resolves to a method.
+
+	* cp-call.c (ideal_candidate): Half of Jan 28 change was missing.
+	Now PARMS are not converted in place if BASETYPE is NULL.
+
+	* cp-typeck.c (build_component_ref): Don't return a TYPE_DECL.
+
+	* cp-type2.c (build_functional_cast): If CURRENT_FUNCTION_DECL is
+	NULL, don't wrap EXPR_AS_CTOR in a NEW_EXPR.  This make it possible
+	to parse default initializers that involve constructor calls.
+	* cp-typeck.c (convert_for_initialization): Handle this change.
+	* cp-method.c (dump_init): Grok INDIRECT_REFs that have
+	TREE_HAS_CONSTRUCTOR set.
+
+	* cp-decl.c (push_overloaded_decl): Don't use the
+	DECL_ASSEMBLER_NAME for GLOB as the TREE_PURPOSE of the new GLOB.
+	Use ORIG_NAME instead.
+
+	* cp-decl.c (grokvardecl): If FIELD has incomplete type, complete it
+	with TYPE.
+
+	* cp-decl2.c (flag_this_is_variable): Define the value -2 to mean an
+	object of known type is being constructed.
+	* cp-decl.c (resolves_to_fixed_type_p): Test FLAG_THIS_IS_VARIABLE
+	for the value -2 instead of testing DECL_CONSTRUCTOR_P in case we
+	are looking at `current_class_decl'.
+	* cp-search.c (init_vbase_pointers): Set FLAG_THIS_IS_VARIABLE to -2
+	instead of 0.
+	(build_vbase_vtables_init): Ditto.
+	* cp-*.c: All tests of FLAG_THIS_IS_VARIABLE changed to reflect the
+	new semantics.
+
+	* cp-typeck.c (comptypes): Don't use IS_AGGR_TYPE_2; test explicitly
+	that both are RECORD_TYPE.
+	(build_binary_op_nodefault): Ditto.
+	(convert_for_assignment): Ditto.
+	* cp-cvt.c (convert_to_pointer): Ditto.
+	(convert_to_pointer_force): Ditto.
+	* cp-call.c (convert_harshness): Ditto.
+
+	* cp-search.c (get_first_matching_virtual): Fix typo.
+
+	* cp-tree.c (layout_basetypes): When warning about certain
+	inheritance relationships, only print "virtual" when the
+	inheritance is virtual.
+
+Sun Mar 22 01:28:41 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	Fix dbx info for methods of template classes:
+	* cp-decl.c (make_type_decl): New function.  Creates a TYPE_DECL
+	node and assigns as its DECL_ASSEMBLER_NAME the encoded form of the
+	type name as it will be used in assembler output.  All calls to
+	build_decl(TYPE_DECL,...) changed to call this.
+	* dbxout.c (dbxout_type_methods): Instead of skipping digits and
+	assuming the human-readable type name follows in the assembler names
+	for methods, use DECL_ASSEMBLER_NAME of the type.
+	Handle the special DECL_NAME that is made for templates.
+	* cp-lex.c (build_lang_field_decl): Set DECL_ASSEMBLER_NAME
+	correctly if new decl is a TYPE_DECL.
+	(build_lang_decl): Ditto.
+	* cp-decl.c (pushdecl): Use DECL_ASSEMBLER_NAME only for
+	FUNCTION_DECL and VAR_DECL nodes; all others use DECL_NAME.
+	* cp-tree.h (make_type_decl): Declare it.
+
+	* cp-pt.c (overload_template_name, undo_template_name_overload):
+	Revert 4 March change.
+
+	* cp-decl2.c: No longer define NEW_OVERLOAD_SCHEME.
+	(grokfield): Use new encoding scheme always.
+
+	* cp-pt.c (overload_template_name): Deleted extra assignment to
+	IDENTIFIER_LOCAL_VALUE slot.
+
+	* cp-method.c (dump_aggr_type): Use DECL_CONTEXT rather than
+	DECL_CLASS_CONTEXT.
+
+	* cp-pt.c (instantiate_class_template): Move some common code from
+	two branches to before branch point.
+
+	* cp-method.c (dump_aggr_type): Don't discard last character of
+	context string; it's not whitespace.
+
+Sun Mar 22 15:58:48 1992  Per Bothner  (bothner@rtl.cygnus.com)
+
+	* cp-tree.h: Add more enum->int casts needed by some compilers.
+
+Sun Mar 22 20:40:25 1992  Mike Stump  (mrs@cygnus.com)
+
+	* cp-typeck.c (build_modify_expr): Handle preincrement and
+	predecrement as valid lvals.
+
+	* gplus.gperf: Finish off changing ASM to ASM_KEYWORD.
+	* cp-hash.h: Rebuilt.
+
+Sat Mar 21 15:43:04 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_c_cast): Don't warn if convert explicit 0 to ptr.
+
+	* local-alloc.c (wipe_dead_reg): If insn has multiple sets and
+	the reg appears in a destination, extend life to end of insn.
+	* global-alloc.c (global_conflicts): Analogous change.
+	(mark_reg_conflicts): New function.
+	* combine.c (try_combine): If I2 has multiple dests, make sure
+	we don't change one of them to overlap anything used within another.
+
+	* configure (pyramid): Commented out.
+
+	* toplev.c (main): Handle -gen-aux-info, with argument.
+	(compile_file): Assume aux_info_file_name already computed.
+	Don't make it local here.
+	* protoize.c (munge_compile_params): Produce -aux-info.
+	Set aux_info_file_name_index.
+	(gen_aux_info_file): Produce and store the aux-info file name.
+	(input_file_name_index): Renamed from filename_index.
+	(aux_info_file_name_index): New var.
+	* Makefile.in (SYSCALLS.c.X): Use -aux-info.
+	* gcc.c, hp800.h, next.h, sparc.h, sun2.h, sun3.h, svr4.h:
+	(WORD_SWITCH_TAKES_ARG): Handle -aux-info.
+	* gcc.c (default_compilers): Pass -aux-info to cc1*.
+
+	* configure (mips-*-sysv*): Renamed from mips-*-sysv and moved down.
+
+	* gcc.c (execute): Undo Mar 12 change.
+
+	* configure (i386-*-bsd*): New alternative.
+	* i386bsd.h: New file.
+
+Sat Mar 21 15:14:08 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* sparc.c (output_move_double):  Check for XEXP (op2, 0) being a
+	LOW_SUM, rather than checking op2.  Handle both ldd and std there.
+
+Sat  Mar 21 14:14:10 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* vms.h (CPP_PREDEFINES): Do not define __GNU__.
+
+Sat Mar 21 21:35:37 1992  Jyrki Kuoppala  (jkp@batman.cs.hut.fi)
+
+	* ns32k.md (call_value): Added a missing "{".
+
+	* ns32k.c (print_operand): Fixed typo X -> x, FILE -> file.
+
+Sat Mar 21 11:11:04 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Bump Meissner version # to 14.
+	(CPP_PREDEFINES): Always define SYSTYPE_BSD43.
+	(CPP_SPEC): Don't define it here.
+	(ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS assembler,
+	and only pass -nocpp by default unless .s files are assembled for
+	MIPS compatibility.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to MIPS linker.
+	(MD_STARTFILE_PREFIX): Define to be /usr/lib/cmplrs/cc/ if not
+	already defined.
+	(NM_FLAGS): Define as appropriate for most MIPS systems.
+	(PREFERRED_DEBUGGING_TYPE): If -ggdb prefer stabs over the normal
+	ECOFF debug format, but -g selects ECOFF.
+	(DEFAULT_GDB_EXTENSIONS): Define as 1.
+	(DOLLARS_IN_IDENTIFIERS): Don't define if already defined.
+
+	* mips.c (mips_output_filename): If emitting encapsulated stabs,
+	emit #@stabs immediately after the first .file, so that the @stabs
+	is the second symbol.  GDB 4.4 only checks symbol #2 to see whether
+	it is encapsulated stabs, or ECOFF.
+
+	* mips.md (subdi define_splits): Use ltu instead of lt.
+	(branch_zero_true): Generate correct code when not optimizing, and
+	an always true/false branch is generated.
+	(branch_zero_false): Ditto.
+
+	* mips-bsd.h (CPP_PREDEFINES): Always define SYSTYPE_BSD43.
+	(CPP_SPEC): Don't define it here.  Remove -Z{BSD43,SYSV} support.
+	Don't pass -I in here.
+	(SYSTEM_INCLUDE_DIR): Define to be /bsd43/usr/include.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.  Remove
+	-Z{BSD43,SYSV} support.  Always pass -systype /bsd43/ to the linker.
+
+	* mips-sysv.h (CPP_PREDEFINES): Always define SYSTYPE_SYSV.
+	(CPP_SPEC): Don't define it here.  Remove -Z{BSD43,SYSV} support.
+	Don't pass -I in here.
+	(SYSTEM_INCLUDE_DIR): Define to be /sysv/usr/include.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.  Remove
+	-Z{BSD43,SYSV} support.  Always pass -systype /sysv/ to the linker.
+	(MD_STARTFILE_PREFIX): Remove, this is now defined in mips.h.
+
+	* mips-news.h (CPP_SPEC): Don't pass -I in here.
+	(SYSTEM_INCLUDE_DIR): Define to be /usr/include2.0.
+	(ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS assembler,
+	and only pass -nocpp by default unless .s files are assembled for
+	MIPS compatibility.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.
+
+	* mips-news5.h (CPP_PREDEFINES): Define SYSTYPE_SYSV.
+	(CPP_SPEC): Don't define it here.  Remove -Z{BSD43,SYSV} support.
+	Don't pass -I here.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.
+
+	* iris.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS
+	assembler, and only pass -nocpp by default unless .s files are
+	assembled for MIPS compatibility.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker.
+
+	* iris.h (DOLLARS_IN_IDENTIFIERS): Define as 0, for iris assembler.
+	(NO_DOLLAR_IN_LABEL): Define, to force static constructors to use a
+	period instead of a dollar sign.
+
+	* decstatn.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to
+	MIPS assembler, and only pass -nocpp by default unless .s files are
+	assembled for MIPS compatibility.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the MIPS linker.
+
+	* decsrose.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to
+	MIPS assembler, and only pass -nocpp by default unless .s files are
+	assembled for MIPS compatibility.
+	(LINK_SPEC): Pass -mips1/-mips2/-mips3 to the MIPS linker.
+
+	* Makefile.in (collect2.o): Define macros where the standard places
+	binaries are installed, so that if it is invoked outside of gcc, it
+	has a better chance of finding the correct version of the tools to
+	invoke.
+
+	* mips-tdump.c (toplevel): Declare things void * on Silicon Graphics.
+
+	* mips-tfile.c (toplevel): Declare things void * on Silicon
+	Graphics.
+	(stabs_seen): Move static variable to file scope.
+	(mark_stabs): New function to put out the @stabs symbol for GDB to
+	switch to encapsulated stabs.
+	(pseudo_ops): Call mark_stabs if #@stabs found.
+	(parse_stabs_common): Call mark_stabs if needed to add @stabs.
+
+	* sdbout.c (sdbout_dequeue_anonymous_types): Don't core dump if
+	TREE_VALUE is null.
+
+	* decstabs.h (new file): DECstation w/encapsulated stabs.
+	* irisgdb.h (new file): SGI iris w/encapsulated stabs.
+	* mips-gbsd.h (new file): Mips BSD43 w/encapsulated stabs.
+	* mips-gdb.h (new file): Mips w/encapsulated stabs.
+	* mips-gnews.h (new file): Sony NEWS w/encapsulated stabs.
+	* mips-gnews5.h (new file): Sony NEWS 5.0 w/encapsulated stabs.
+	* mips-gsvr4.h (new file): Mips SV.4 w/encapsulated stabs.
+	* mips-gsysv.h (new file): Mips SV.3 w/encapsulated stabs.
+	* mips-svr4.h (new file): Mips System V.4.
+	* x-iris (new file): Specify that iris needs alloca.o since it's
+	alloca is buggy.
+
+	* dbxout.c (toplevel): If NO_STAB_H is defined, include gstab.h just
+	like if USG is defined.
+	* final.c (toplevel): Ditto.
+	* mips-tfile.c (toplevel): Ditto.
+	* xcoffout.c (toplevel): Ditto.
+
+	* xm-mips.h (NO_STAB_H): Define, except on OSF/1.
+
+Fri Mar 20 23:51:54 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* reg-stack.c (subst_asm_stack_regs): A REG_UNUSED note never
+	applies to an input reg, even if that reg is tied to an output.
+
+	* reg-stack.c (record_asm_reg_life): Use XVECLEN only on a PARALLEL.
+	(subst_asm_stack_regs): Likewise.
+
+Fri Mar 20 18:57:43 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Bump Meissner version # to 13.
+	(mips_declare_object): Declare new function.
+	(ASM_OUTPUT_LABEL): Remove cruft from when collect spit out assembly
+	language instead of C code.
+	(ASM_GLOBALIZE_LABEL): Ditto.
+	(ASM_OUTPUT_INT): Ditto.
+	(ASM_OUTPUT_INT_CONST): Remove, no longer used.
+	(ASM_OUTPUT_PTR_INT_SUM): Ditto.
+	(ASM_OUTPUT_LABEL): Don't set that we've seen an identifier here.
+	(ASM_DECLARE_OBJECT_NAME): New macro, call mips_declare_object to
+	emit the label, and mark that no .extern is needed for the name.
+	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Call mips_declare_object.
+
+	* mips.c (mips_declare_object): New function to output the stuff
+	needed for global variables, bss variables, and static bss
+	variables.
+
+Fri Mar 20 14:13:32 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cp-xref.c (GNU_xref_file): Get rid of arbitrary limit--malloc nmbuf.
+
+	* cp-parse.y (scoped_id): Error if spec'd type is undefined.
+
+	* m68k.c (output_function_epilogue): Output at least a nop.
+
+	* xm-hp320.h (USG): Defined.
+
+	* m68k.c (output_function_prologue, output_function_epilogue):
+	Change %I to %0I.
+	(print_operand): Likewise.
+
+	* varasm.c (data_section): Add forward decl.
+
+	* m68k.c (print_operand): Make %! print fpcr.
+	* crds.h, hp320.h, mot3300.h, news.h, tower-as.h (PRINT_OPERAND):
+	Likewise.
+	* m68k.md (fix_trunc*): Use %!.
+
+	* toplev.c (compile_file): Optionally call setvbuf for output file.
+
+	* loop.c (move_movables): Fix typo.
+
+Fri Mar 20 17:42:12 1992  Paul Eggert  (eggert@twinsun.com)
+
+	* Makefile.in (SYSCALLS.c): Use `cat' to create this file, instead
+	of having it consist of `#include' directives.
+	(mostlyclean): Delete SYSCALLS.c.
+	* SYSCALLS.c: File deleted.
+
+	* getpwd.c (new file): Get and cache working directory, using PWD
+	if it works and getcwd otherwise.
+	* Makefile.in (OBJS, protoize): add getpwd.o
+	* cp-xref.c (GNU_xref_file): Likewise.
+	* dbxout.c (dbxout_init): Likewise.
+	* dwarfout.c (output_compile_unit_die): Likewise.
+	* protoize.c (main): Likewise.
+
+Fri Mar 20 12:58:57 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (location_or_const_value_attribute):  Fixed to use
+	DECL_INCOMING_RTL as the "location" for formal parameter variables.
+
+Fri Mar 20 13:26:16 1992  Michael Collison  (collison@osf.org)
+
+	* i386rose.h (INIT_SECTION_ASM_OP): OSF doesn't support a true
+	initialization section.
+
+Fri Mar 20 07:23:15 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (set zero_extract patterns): Use the + constraint.
+
+	* crtstuff.c (__do_global_ctors_aux): Declare it.
+
+	* m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the PIC register fixed,
+	but not call used.
+    
+	* m88k.c (m88k_builtin_saveregs): Get a properly aligned block.
+
+	* m88k.md (cpu attribute): Use const form.
+
+	* m88k.h, m88k.c, m88kdgux.h (uses of *_ASM_OP): Add tabs.
+
+Fri Mar 20 05:46:26 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expmed.c (emit_store_flag): Need to prevent SUBTARGET from being
+	OP0 in one more case.
+
+	* loop.c (add_label_notes): New function.
+	(move_movables): Use it when hoisting a `move_insn' movable
+	to ensure we create any required REG_LABEL notes.
+
+	* hp800.h (CONDITIONAL_REGISTER_USAGE): Make reg 27 a global_reg
+	for now.
+
+	* combine.c (make_field_assignment): Use correct mode when shifting
+	the source of the assignment.
+
+	* fold-const.c (invert_truthvalue): Correct error in last change.
+
+Thu Mar 19 18:59:24 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* stmt.c (expand_end_case): Convert do_tablejump arg to Pmode.
+
+Thu Mar 19 16:54:15 1992  Michael Meissner  (meissner@osf.org)
+
+	* collect2.c (main): Only pass -fxxx and -mxxx options to gcc when
+	building constructors.
+
+Thu Mar 19 16:44:21 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* fold-const.c (invert_truthvalue): Correctly check for floating
+	comparison.
+
+Thu Mar 19 14:42:49 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* function.c (expand_main_function): Do so if INVOKE__main is defined.
+	* libgcc2.c (__main): Provide if INVOKE__main is defined.
+	* crtstuff.c (__do_global_ctors_aux): Renamed from __do_global_ctors.
+	(__do_global_ctors): Simple non-static function that invokes
+	__do_global_ctors_aux.
+
+	* crtstuff.c ({CTOR,DTOR}_LIST_{BEGIN,END}): Allow alternate way
+	to represent and define __{CTOR,DTOR}_LIST__.
+	* i386v.h, aix386.h (CTOR_LIST_{BEGIN,END}): Use these to push
+	instead of the funny definition of CTORS_SECTION_ASM_OP.
+	* svr3.h (CTORS_SECTION_ASM_OP): Use the .init section.
+
+	* m88kv3.h (CTOR_LIST_BEGIN): Emit code to .init to push a zero.
+	(CTOR_LIST_END): Do nothing.
+	(ASM_OUTPUT_CONSTRUCTOR): Emit code to .init to push the address.
+	(DTOR_LIST_{BEGIN,END}): Output a block of four words.
+	(ASM_OUTPUT_DESTRUCTOR): Output the address and three words of -1.
+	(DO_GLOBAL_DTORS_BODY): Ignore all values of -1.
+
+	* real.h (REAL_VALUE_ISNAN): Define.
+	* fold-const.c (target_isnan): New function.
+	* sun3.h, sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE}): Use REAL_VALUE_ISNAN.
+
+	* sun3.h: Delete extra #endif.
+
+Thu Mar 19 14:25:50 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* hp800.c (output_move_double): Don't check for CONST_DOUBLE
+	when classifying operand types, CONSTANT_P now includes it.
+	Use split_double to assign operand vectors for CNSTOP.
+
+Thu Mar 19 13:59:16 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* hp320.h (SPACE_AFTER_L_OPTION): Defined.
+	(LIB_SPEC): Defined. 
+
+	* toplev.c (compile_file): Output aux_info_file in source file's dir.
+
+Wed Mar 18 17:42:12 1992  Paul Eggert  (eggert@twinsun.com)
+
+	* c-aux-info.c (gen_aux_info_record): Don't put the absolute path
+	name into the output file: it's useless, expensive, and often wrong.
+	Use "." instead.
+	* protoize.c (is_syscalls_file): Look for SYSCALLS.c only at the
+	end of the file name.
+	(abspath): Remove useless test of '\0' versus '/'.  Add apollo fix.
+	(shortpath): Stop when replacement filename is longer than the
+	original; this avoids buffer overrun.  Do not pretend that
+	`a/b/c' is a path prefix of `a/b/cd'.
+	(gen_aux_info_file): Report errors when compilation fails.
+	Do not use stdio in child process.
+	Don't say `exit(errno)'; errno might be too large.
+	(process_aux_info_file): Increment error count if aux info file cannot
+	be generated.  Allow the invocation filename to be relative;
+	for now, it will always be ".".
+	(do_processing): Replace strlen (x) with sizeof (x) - 1.
+
+Thu Mar 19 13:31:24 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* cse.c (simplify_binary_operation, PLUS and MINUS cases): Use
+	arg0s and arg1s instead of arg0 and arg1, so that resulting values
+	will be sign extended.
+
+	* sched.c (sched_analyze_1): Don't call sched_analyze_2 at the end.
+	This code was never executed, and is wrong.
+	(sched_analyze_2): Convert from if statements to a switch.
+	Add support for PRE_DEC/PRE_INC/POST_DEC/POST_INC; pass them to
+	sched_analyze_1 because they are writes.
+	(sched_analyze_insn): Delete special case code to handle REG_INC
+	notes, obsoleted by change above.
+
+	* sparc.c (output_block_move): Rewrite to more efficiently handle
+	constant length strings whose length is not a multiple of their
+	alignment.  Also, the length of strings handled without a loop now
+	is a multiple of their alignment, instead of fixed size.
+
+	* objc-actions.c (build_selector_translation_table): Add cast for
+	array index from enum to int to satisfy old compiler.
+
+	* c-parse.gperf: Change ASM to ASM_KEYWORD.
+	* gplus.gperf: Likewise.
+
+	* Makefile.in (install-man): Delete duplicate lines.
+
+Thu Mar 19 02:32:06 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (init_decl_processing): Disable `sqrt'.
+
+Thu Mar 19 01:09:16 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.c (output_move_double): Properly check for signedness in a
+	const_double.
+
+Wed Mar 18 18:51:37 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (link_command_spec) [not LINK_LIBGCC_SPECIAL]: Put back -s.
+
+	* config.sub (i486): Accept as CPU type.
+
+	* collect2.c (do_wait): Handle NO_SYS_SIGLIST.
+	* xm-hp320.h (NO_SYS_SIGLIST): Defined.
+
+Wed Mar 18 15:58:31 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* crtstuff.c, dwarfout.c, svr3.h, svr4.h (*_ASM_OP): Remove tabs
+	and newlines.
+	* dwarfout.c, svr3.h, svr4.h
+	(ASM_OUTPUT_*, ASM_DECLARE_*, ASM_DWARF_*): Put tabs here when needed.
+
+Wed Mar 18 17:26:44 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* svr4.h (MULTIBYTE_CHARS):  Added definition.
+
+Wed Mar 18 17:36:30 1992  Michael Meissner  (meissner@osf.org)
+
+	* gcc.c (collect_obstack): New static obstack to build the
+	environment variables to pass to collect, so that it can reliably
+	find the compiler passes.
+	(putenv): New function to add a variable to the environment.
+	Stubbed out for MSDOS and VMS at present, or if HAVE_PUTENV is
+	defined.
+	(putenv_from_paths): New function to take a path list, and build
+	the corresponding environment variable for it.
+	(main): Pass argv[0] to collect through the environment variable
+	COLLECT_GCC.  Rebuild the COMPILER_PATH and LIBRARY_PATH
+	environment variables to include all prefixes specified with -B,
+	-b, and -V.  Construct COLLECT_GCC_OPTIONS environment variable to
+	consist of all of the options passed to gcc, except for the -B,
+	-b, and -V options.
+
+	* collect2.c (main): Correctly size the number of arguments passed
+	to the compiler when building the constructor lists to account for
+	any options passed through the environment variable
+	COLLECT_GCC_OPTIONS.  If the environment variable COLLECT_GCC
+	specifies a full pathname, use that for the pathname to invoke gcc
+	with.  Print the name "collect2" in lowercase if -v.
+
+	* xm-mips.h (HAVE_PUTENV): Define if OSF/1.
+
+Wed Mar 18 07:27:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* hp800.c (actual_fsize): Remove duplicate declaration.
+	(profile_flag): Remove definition; defined in flags.h.
+	(hp_profile_labelno, local_fsize, save_fregs): Move declarations to
+	top of file.
+
+	* hp800.h (OPTIMIZATION_OPTIONS): Do same thing as Sparc.
+
+	* combine.c (reg_bitfield_target_p): Use rtx_equal_p instead of
+	assuming the actual rtx is used.
+
+Wed Mar 18 00:20:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gstddef.h: Handle _GCC_PTRDIFF_T, _GCC_SIZE_T, _GCC_WCHAR_T.
+	* fixincludes: Use those macros in inserted conditionals.
+
+	* gstddef.h: Handle _T_SIZE_ and _T_PTRDIFF_, like _T_WCHAR_.
+
+	* sun3.h (CPP_SPEC): Delete the alternative for fpa as default.
+	Define symbols with __ as well as without.
+
+	* hp320.h (LINK_LIBGCC_SPECIAL, RELATIVE_PREFIX_NOT_LINKDIR):
+	Define unless USE_GAS.
+
+Tue Mar 17 17:19:07 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixincludes (making directories): Always use find.
+
+	* c-decl.c (pushdecl): Don't warn if define nonansi builtin as static,
+	or if define ANSI builtin as inline static.
+
+	* hp800hpux.h (LINK_LIBGCC_SPECIAL, RELATIVE_PREFIX_NOT_LINKDIR): New.
+
+	* fixinc.svr4: Special changes for Sony MIPS-NEWS.
+
+Tue Mar 17 15:12:57 1992  Tim Moore  (moore@defmacro.cs.utah.edu)
+
+	* hp800.h (INITIAL_FRAME_POINTER_OFFSET): Get sign right, include
+	fixed area.
+
+Tue Mar 17 14:06:01 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (all.indirect): Renamed from all-internal.
+
+	* t-mips (ALL): Deleted.
+
+Tue Mar 17 10:35:18 1992  Michael Meissner  (meissner@osf.org)
+
+	* halfpic.c (half_pic_address_p): Fix typo in last change.
+
+	* x-decrose (CLIB): Add -lbsd, since vfork moved to libbsd.a.
+	* x-encrose (CLIB): Ditto.
+	* x-i386rose (CLIB): Ditto.
+
+Tue Mar 17 07:02:29 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* mips.md (movdi): FP_REGS don't allow DImode, so remove them
+	from the constraints.
+
+	* mips.md (unaligned moves): Use UNSPEC to distinguish SETs that are
+	unaligned from those that aren't.
+
+	* combine.c (try_combine): Update LOG_LINKS correctly when we split a
+	PARALLEL that loads from memory both as a full-word and sign-extended.
+
+Tue Mar 17 21:23:10 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* vax.c (split_quadword_operands): Fix typo.
+
+	* make-cc1.com: Add xcoffout.c.
+
+Mon Mar 16 17:12:26 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* configure (mips-dec-ultrix*): Use x-decstatn.
+	* x-decstatn (CLIB): Delete.
+
+	* expr.c (move_by_pieces_1): Add negative ints--don't subtract ints.
+
+	* next.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Turned off.
+	* t-next (EXTRA_PROGRAMS, ld): Use collect2.
+	* configure (m68k-next-*): Use t-next.
+
+	* mips-bsd.h (TARGET_MEM_FUNCTIONS): Defined.
+
+Mon Mar 16 14:04:08 1992  Tim Moore  (moore@defmacro.cs.utah.edu)
+
+	* hp800.md (movsi + 10, movsi + 11): Add '*' to constraints.
+	(fix_truncsfsi2, fix_truncdfsi2): Add an alternative to put result
+	directly in a general register.
+	* hp800.h (ASM_DECLARE_FUNCTION_NAME): If function is not
+	TREE_PUBLIC, don't do the argument descriptor magic.
+	(EXPAND_BUILTIN_SAVEREGS): call hppa_builtin_saveregs.
+	(LEGITIMIZE_ADDRESS): Don't legitimize CONST addresses.
+	(TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Put tabs back in.
+	* xm-hp800.h (S_ISDIR): Define for BSD.
+
+	* hp800.c (hppa_builtin_saveregs): New function.
+	* va-hp800.h : Rewrite.
+
+
+Sun Mar 15 23:38:39 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (really_start_method): Dynamically allocate `buf'.
+
+	* sparc.h (TARGET_HOPE_ALIGN): Renamed from TARGET_ALIGN.
+	* sparc.c (output_move_double, output_fp_move_double): Use new name.
+	* sparc.h (TARGET_FORCE_ALIGN): New flag.
+	(FUNCTION_ARG_BOUNDARY): Defined.
+	(FUNCTION_ARG, FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE):
+	(FUNCTION_ARG_PARTIAL_NREGS): Handle TARGET_FORCE_ALIGN.
+	(ROUND_REG): New subroutine macro.
+
+	* sparc.h (CC1_SPEC): Don't try to recognize -dalign.
+
+	* hp320.h (ASM_OUTPUT_ASCII): Put tab here.
+	(ASCII_DATA_ASM_OP): Not here.
+	* mot3300.h: Likewise.
+
+	* Makefile.in (mostlyclean): Don't delete .s or .i files.
+	(extraclean): Do that here.
+
+	* a29k.h, fx80.h, gmicro.h, i860v3.h, i860v4.h (*_ASM_OP): Remove tabs.
+	* m88kv4.h, m88kdgux.h, mips.h, romp.h, rs6000.h: Likewise.
+	* sun386.h, tower-as: Likewise.
+	* arm.h, hp800.h (*_ASM_OP): Remove extra tabs and newlines.
+	* m68ksgs.h (*_ASM_OP): Remove tabs.
+	(ASM_OUTPUT_*): Put the tabs here when appropriate.
+	* m68kv4.h, m88k.h, next.h: Likewise.
+
+Sun Mar 15 18:37:49 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (inc_for_reload): Rework to try to do addition in
+	INCLOC rather than assuming when it can be done; this fixes a bug
+	on hp800 and generates better code on some CISC machines.
+
+Sun Mar 15 15:12:39 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* crtstuff.c:  If defined, invoke INIT_SECTION_PREAMBLE.
+
+	* xm-sparcv4.h, x-sparcv4:  New files.
+	* configure (sparc-*-sysv4*):  Use them.
+
+Sun Mar 15 16:41:33 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* sparc.md (subdi3): Fix unterminated comment.
+
+Sun Mar 15 04:08:59 1992  Torbjorn Granlund  (tege at zevs.sics.se)
+
+	* hp800.c (output_block_move): Major rewrite.
+	* hp800.md (movstrsi): Rewrite to match new output_block_move.  FAIL
+	if the actual operands are better handled by a library call.
+	(movstrsi recognizer): Rewrite.
+
+	* sparc.md (movstrsi): FAIL for all blocks with unknown size.
+
+Sat Mar 14 19:06:02 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* c-decl.c (builtin_function): Don't declare static.
+
+Sat Mar 14 15:57:53 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* expr.c (get_pointer_alignment): Convert bytes to bits
+	when handling PLUS_EXPR.
+
+	* cp-search.c (push_stack_level): Declare tp as char *.
+
+	* mips.c (mips_asm_file_end): Use TREE_ASM_WRITTEN to avoid
+	duplicate .extern commands.
+
+	* mips-tdump.c: Include fcntl.h.
+	* mips-tfile.c (open, fstat): Declarations deleted.
+
+	* xm-mipsnews.h: New file.
+	* mips-news5.h: New file.  Needs papers from Ron Cole.
+	* configure (mips-sony-sysv*): New alternative.
+
+Sat Mar 14 07:11:14 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* integrate.c (initialize_for_inline): If DECL_INCOMING_RTL is
+	the same object as DECL_RTL, store copy in both places.
+
+Sat Mar 14 10:12:39 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-spew.c (yylex): Fix some fencepost errors found by Chip
+	Salzenberg.
+
+	* cp-init.c (is_aggr_typedef): Now calls `error' instead of `fatal'
+	if NAME is non-AGGR type.
+
+	* cp-class.c (duplicate_tag_error): Set CLASSTYPE_VBASE_SIZE.
+
+Sat Mar 14 00:28:57 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (do_spec_1): Don't copy closing delim in %(...) or %[...].
+	(read_specs): Don't ignore newline that ends a comment.
+	(handle_braces): Properly terminate scan for %*.
+	(validate_all_switches): Scan any extra specs from specs file.
+
+	* x-iris: File deleted.
+
+	* cccp.c (output_line_command): Avoid outputting line number 0.
+
+	* final.c (asm_fprintf): Handle %O.
+	* m68k.c: Insert %O before `move' in MOTOROLA calls to asm_fprintf.
+
+Fri Mar 13 20:17:40 1992  Mike Stump  (mrs@cygnus.com)
+
+	* cp-typeck.c, cp-type2.c, cp-tree.c, cp-spew.c, cp-search.c,
+	cp-parse.y, cp-init.c, cp-decl.c, cp-cvt.c, cp-class.c, cp-call.c:
+	Merged in updated cp-* files for gcc-2.1.
+
+	Thu Mar 12 02:29:26 1992  Mike Stump  (mrs@cygnus.com)
+
+	* cp-type2.c (build_functional_cast): remove incorrect error message.
+
+Fri Mar 13 14:54:23 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (get_arg_type_list) [not NEXT_OBJC_RUNTIME]:
+	1st arg always an object.
+	(synth_module_prologue): Don't use parser interface, just build nodes.
+	Use `void *' to avoid problems with TAG_SUPER vs _TAG_SUPER.
+	(TAG_SUPER, _msg_id, _msgSuper_id): Deleted.
+	(objc_getClass_id, objc_getMetaClass_id): Deleted.
+	(selector_type): Renamed from _selector_type.
+	(forward_declare_categories, build_objc_symtab_template):
+	Don't use parser interface, just build nodes.
+	(create_builtin_decl): New function.
+
+	* hp800hpux.h (LIB_SPEC): New definition.
+
+	* arm.h (TARGET_WHEN_DEBUGGING): Name corrected.
+
+	* protoize.c (abspath): Make abs_buffer a little longer.
+
+	* encore.h (NO_ABSOLUTE_PREFIX_IF_SYMBOLIC): Defined.
+	(EXTERNAL_PREFIX, IMMEDIATE_PREFIX): Defined.
+	(TARGET_DEFAULT): Changed to 9.
+	(ENCORE_ASM): Defined.
+
+	* sequent.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Deleted.
+	(IMMEDIATE_PREFIX): Define as 0.
+	(SEQUENT_ASM): Defined.
+	* ns32k.c (print_operand): Output f.p. as ints if SEQUENT_ASM.
+	Output doubles using 0f, not 0d, if ENCORE_ASM.
+
+	* configure: If no configuration matches, print error and exit.
+	(m68k-sun-sunos*): Renamed from m68k-sun-sunos4*.
+
+	* configure (copy): New variable.
+	If hard link fails, make a copy.
+
+	* mips.c (mips_asm_file_end): Don't set flags in identifiers.
+	Just output every identifier found in extern_head.
+
+	* configure (sparc-tti-*): Renamed from sparc-unicom-*.
+	(m68k-tti-*): Replaced.
+	(m68k-tti2-*): Deleted
+
+	* config.sub (pbd): Alias for sparc-tti, not sparc-unicom.
+	(pbb): New machine alias.
+	(*-tti): Implies os=-sysv3.
+	(-oss*): Alias for -sysv3.
+
+Fri Mar 13 17:20:52 1992  david d [zoo] zuhn  (zoo at lynx.spa.umn.edu)
+
+	* x-mips: add -mld.
+
+Fri Mar 13 14:48:05 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* hp800.h (REGISTER_NAMES): Name register 112, the shift amount
+	register, as "SAR".  It was left out.
+
+Fri Mar 13 04:08:53 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386isc.h (STARTFILE_SPEC): Use crt1, not crt0.
+
+	* x-i386sco (CC,OLDCC): Don't define `i386' here.
+	(RCCFLAGS): Define it here, along with other SCO symbols.
+	(XCFLAGS): Use that.  New variable.
+	(CLIB): Use -lPW to get alloca.
+
+Fri Mar 13 14:11:41 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* Changes to enable use of sqrt builtin functions.
+	* c-decl.c (init_decl_processing): Enable BUILT_IN_FSQRT for 
+	__builtin_sqrt.  Also enable for sqrt if not traditional.
+	* cp-decl.c (init_decl_processing): Enable BUILT_IN_FSQRT for
+	__builtin_sqrt.
+	* expr.c (expand_builtin, case BUILT_IN_FSQRT): New case.  Call
+	expand_unop to expand the operation.  If that fails break and
+	emit a call to the library sqrt function.
+	* optabs.c (init_optabs): Initialize new optabs for sqrt functions.
+	* expr.h (sqrt_optab): Declare here so that expr.c can see it.
+
+Fri Mar 13 08:56:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cse.c (delete_dead_from_cse): Fix error in last change.
+
+	* a29k.h (PCC_BITFIELD_TYPE_MATTERS): Define as 1.
+
+	* reorg.c (fill_slots_from_thread): Add missing arg in call to
+	try_split call that was recently added.
+
+	* fold-const.c (invert_truthvalue, case COMPOUND_EXPR): New case.
+
+Fri Mar 13 01:02:56 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* collect2.c (ordinary scan_prog_file): Don't count | in sym name.
+
+	* ns32k.md (movsf): Remove #if 0 around #ifndef GAS_SYNTAX.
+
+	* pc532.h (GAS_SYNTAX): Defined.
+
+Thu Mar 12 00:10:23 1992  Stefan Petri  (petri@jupiter.ibr.cs.tu-bs.de)
+
+	* configure (pyramid): Re-enable.
+
+	* pyr.h (STRUCTURE_SIZE_BOUNDARY): Restore definition from gcc-1.40.
+	(PCC_BITFIELD_TYPE_MATTERS): Define as 1 instead of empty.
+
+	* pyr.h (STATIC_CHAIN_INCOMING_REGNUM): Added.
+
+	* pyr.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT,
+	INITIALIZE_TRAMPOLINE): Added, inspired by convex.h
+
+	* pyr.h (INITIAL_FRAME_POINTER_OFFSET): New definition.
+
+	* pyr.md (indirect_jump): New pattern.
+
+	* libgcc2.c [L_trampoline]: Don't include gstddef.h in this case.
+	(__enable_execute_stack): Cloned definition for pyramid
+	from that for convex.
+
+Thu Mar 12 13:23:05 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* collect2.c (FREAD, FWRITE): #undef if USG.
+
+	* x-mipsv: New file.
+	* configure (mips-*-sysv): Use it.
+
+	* cccp.c (skip_to_end_of_comment): New arg NOWARN.  Callers changed.
+	(do_xifdef, do_endif): Pass 1 for NOWARN.
+
+	* i386.h, hp800.h (ENCODE_SECTION_INFO): Handle CONSTRUCTOR node.
+	* i386.h (ENCODE_SECTION_INFO): Only decls can be global.
+
+	* cccp.c (warn_import): New variable.
+	(do_include): Test that.
+	(main): Handle -Wimport.
+
+	* hp800hpux.h (DBX_DEBUGGING_INFO): #undef it.
+	* x-hp800hpux: New file.
+	* configure (hp800-hp-hpux*): Use it.
+
+	* config.sub: Make triton alias for sysv3.
+
+	* collect2.c: If CROSS_COMPILE, #undef the special OBJECT_FORMAT_*.
+
+Thu Mar 12 10:35:50 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* gcc.c (default_compilers):  Use .i suffix (instead of .cpp) for all
+	preprocessor output files.
+	(execute):  Print commands used to invoke passes if -save-temps.
+
+	* Makefile.in (mostlyclean): Delete *.i, not *.cpp.
+	Don't delete *.co.
+
+Thu Mar 12 07:13:33 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* xcoff.h (DBX_FINISH_SYMBOL): When writing function name, strip off
+	any storage class at the end.
+
+Thu Mar 12 05:16:49 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* config.sub (-triton*): Delete this OS (it's sysv3).
+	* configure (m88k-dolphin-sysv3): Rename alternative.
+	* xm-m88kdolph.h: Delete.  Use xm-m88kv3.h instead.
+	* x-m88kdolph: New file.
+	
+Thu Mar 12 00:19:14 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (movstrsi recognizers): Fix reversed operands.
+
+Thu Mar 12 00:01:11 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (main):
+	Don't require machine_suffix for md_startfile_prefix or md_exec_prefix.
+
+	* toplev.c (main): Force flag_no_inline if not optimizing.
+
+	* dbxout.c (dbxout_type): Ignored names don't count in case UNION_TYPE.
+
+	* cp-decl.c (pushtag): Push on ->tags and make TYPE_STUB_DECL
+	even if type has no tag name.
+	* cp-class.c (finish_struct): Always call rest_of_type_compilation.
+
+	* cse.c (simplify_unary_operation): For SQRT, do nothing.
+
+	* byteorder.h: Test __i860_big_endian__.
+
+	* ns32k.c (print_operand_address): Test NO_ABSOLUTE_PREFIX_IF_SYMBOLIC.
+	Test BASE_REG_NEEDED inside indirect address too.
+	* sequent.h (NO_ABSOLUTE_PREFIX_IF_SYMBOLIC): Defined.
+	(SEQUENT_ADDRESS_BUG, SEQUENT_BASE_REGS): #if 0.
+
+Wed Mar 11 22:55:38 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (push_parm_decl): Clear immediate_size_expand temporarily.
+	* stor-layout.c (get_pending_sizes): Fix up SAVE_EXPR_CONTEXT.
+	(variable_size): No longer static.
+	* c-decl.c (grokdeclarator): Call variable_size, not save_expr.
+	Rename local `variable_size' to `size_varies'.
+
+Wed Mar 11 18:53:23 1992  Chip Salzenberg  (chip@tct.com)
+
+	* collect2.c (OBJECT_FORMAT_COFF, OBJECT_FORMAT_ROSE):
+	(OBJECT_FORMAT_NONE): Three alternative strategies for finding inits.
+	OBJECT_FORMAT_COFF is completely new.
+	(is_ctor_dtor): New function.
+	[OBJECT_FORMAT_NONE, OBJECT_FORMAT_ROSE] (scan_prog_file):
+	Use is_ctor_dtor.
+
+	* x-rs6000 (CLIB): Add -lld.
+	* t-rs6000: New file.
+	* configure (rs6000...): Use that file.
+
+Wed Mar 11 17:31:13 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* reload1.c (inc_for_reload): Call gen_add2_insn with negated
+	constant instead of gen_sub2_insn.
+
+Wed Mar 11 17:30:35 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (build_binary_op): For shifts, always use op0 type.
+
+	* stmt.c (expand_end_bindings):
+	Load virtual_incoming_args_rtx via a pseudo reg.
+
+	* math-68881 (pow): Add missing parens; typo in fp constant.
+
+	* i386isc.h (LIB_SPEC): Add -lg.
+
+	* libgcc2.c (__CTOR_LIST__, __DTOR_LIST__):
+	Don't define if CTOR_LISTS_DEFINED_EXTERNALLY.
+	(__builtin_saveregs): Handle NO_UNDERSCORES for sparc.
+
+	* pbb.h, pbd.h: New files from Mike Bloom.
+	* configure (m68k-tti2-*): Turned back on.
+
+	* c++: Add a colon command in case system doesn't handle #!/bin/sh.
+
+Mon Mar 11 19:54:43 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (integer truncMN2): Delete patterns.  Not needed on i386.
+
+Wed Mar 11 16:58:56 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* m88kv3.h (STARTFILE_SPEC, LIB_SPEC): Search for crt{begin,end}.o
+	(DO_GLOBAL_CTORS_BODY, CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
+	DTORS_SECTION_ASM_OP): Implement new svr3 scheme.
+
+Wed Mar 11 16:24:03 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fold-const.c (fold): When correcting constant result of GE, LE, NE,
+	make sure we really have a constant result.
+
+	* ns32k.md (call, call_value): Support GAS_SYNTAX and GNX_V3 like 1.40.
+
+	* c-decl.c (pushdecl): Properly use prev implicit decl in warning.
+
+Wed Mar 11 16:05:20 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* Makefile.in (OBJS): Add xcoffout.o.
+	(dbxout.o, final.o, toplev.o, varasm.o): Add xcoff.h dependency.
+	(xcoffout.o): Add rule to build.
+
+	* xcoffout.c: Change names of rs6000_*_section_name variables to
+	xcoff_*_section_name, and move definitions of them here from
+	rs6000.c.
+	* xcoff.h: Likewise, move declarations here from rs6000.h.
+	* rs6000.c: Delete definitions of rs6000_*_section_name variables.
+	* rs6000.h: Delete declarations of rs6000_*_section_name variables.
+
+	* rs6000.c (output_epilog): Add comment to note lack of traceback
+	table support.
+	* rs6000.h: Refine comment explaining ASM_SPEC definition.
+	(XCOFF_DEBUGGING_INFO): Define.
+	(DBX_CONTIN_LENGTH, DBX_NO_XREFS): Move to xcoff.h.
+	(ASM_FILE_START): When -g, emit private_data_section.
+	(ASM_DECLARE_FUNCTION_NAME): When -g, output .lglobl for static
+	functions.  Also, output .function debug info.
+	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Add bss_section call.
+	
+	* dbxout.c: Include xcoff.h when XCOFF_DEBUGGING_INFO is defined.
+	Define default values for DBX_DECL_STABS_CODE,
+	DBX_STATIC_CONST_VAR_CODE, DBX_REGPARM_STABS_CODE, and
+	DBX_REGPARM_STABS_LETTER.  These exist to be overriden for xcoff.
+	Include entire file if either DBX_DEBUGGING_INFO or
+	XCOFF_DEBUGGING_INFO is defined.
+	(dbxout_type): Add early exit if DBX_TYPE_DEFINED, used for xcoff.
+	(dbxout_symbol): Use DBX_DECL_STABS_CODE instead of N_LSYM for
+	tags and typedefs.  Use DBX_STATIC_CONST_VAR_CODE instead of N_FUN
+	for static const variables.  Add DBX_STATIC_BLOCK_START and
+	DBX_STATIC_BLOCK_END around output of stab info, for xcoff use.
+	(dbxout_finish_symbol): Use DBX_FINISH_SYMBOL instead if defined.
+	(dbxout_syms, dbxout_parms): No longer static, referenced from
+	xcoffout.c.
+	(dbxout_parms): Use DBX_REGPARM_STABS_CODE instead of N_RSYM.  Use
+	DBX_REGPARM_STABS_LETTER instead of 'P'.
+	(dbxout_reg_parms): No longer static.
+	* final.c: Also include gstab.h if XCOFF_DEBUGGING_INFO defined.
+	Include xcoff.h if XCOFF_DEBUGGING_INFO defined.
+	(final_start_function): Call xcoffout_output_first_source_line
+	when XCOFF_DEBUG.  Set next_block_index if XCOFF_DEBUG.
+	(final_end_function): Call xcoffout_end_function if XCOFF_DEBUG.
+	Call xcoff_end_epilogue if XCOFF_DEBUG.
+	(final_scan_insn): Call xcoffout_begin_function,
+	xcoffout_begin_block, and xcoffout_end_block if XCOFF_DEBUG.
+	(output_source_line): Also call dbxout_source_file if XCOFF_DEBUG.
+	* flags.h: Define XCOFF_DEBUG.  Also declare
+	use_gdb_dbx_extensions if XCOFF_DEBUGGING_INFO.
+	* toplev.c: Also declare use_gdb_dbx_extensions if
+	XCOFF_DEBUGGING_INFO.  Include xcoff.h in XCOFF_DEBUGGING_INFO.
+	(compile_file): Also call dbxout_init, and dbxout_finish if
+	XCOFF_DEBUG.
+	(rest_of_decl_compilation): Also call dbxout_symbol if
+	XCOFF_DEBUG.
+	(rest_of_type_compilation): Also call dbxout_symbol if
+	XCOFF_DEBUG.
+	(main): Add support for recognizing -g when XCOFF_DEBUGGING_INFO.
+	* varasm.c: Include xcoff.h if XCOFF_DEBUGGING_INFO.
+	(assemble_variable): Also call dbxout_symbol when XCOFF_DEBUG.
+	Change all returns to goto finish.  At finish label,
+	call dbxout_symbol if XCOFF_DEBUG.
+
+	* dbxstclass.h: New file.  Define XCOFF specific storage classes.
+	* xcoff.h: New file, for XCOFF support.  Included by xcoffout.c,
+	dbxout.c, final.c, toplev.c, and varasm.c.
+	* xcoffout.c: New file for XCOFF support.  Most of the support is
+	implemented by dbxout.c, this just includes stuff that can not be
+	easily performed within dbxout.c.
+
+	* toplev.c (struct W_options): Add entry for warn_inline, so user
+	can turn this warning on.
+
+Wed Mar 11 15:11:42 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* optabs.c (init_optabs): Fix typo (Imode instead of TImode) in
+	HAVE_subti3 case.
+
+Wed Mar 11 13:10:20 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* sparc.h (REG_ALLOC_ORDER): Make %g3 more desirable.
+
+Wed Mar 11 12:35:12 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixincludes (egrep cmd): Delete misplaced `#e[nl]'.
+
+	* jump.c (jump_optimize): Try to fix last change.
+
+	* expmed.c (init_expmed): Use big, ugly factor in mult_is_very_cheap.
+
+Wed Mar 11 08:00:18 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* toplev.c (rest_of_compilation): Use sdbout_types to clear the
+	anonymous types queue if any.
+	* sdbout.c: Correct spelling of sdbout_dequeue_anonymous_types.
+
+	* genattrtab.c (attr_string): Don't assume a terminating null.
+
+Wed Mar 11 07:05:38 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_as_needed): Delete erroneous test of
+	basic_block_needs.
+
+	* stmt.c (expand_end_case): Know that we will obtain a constant
+	if we were passed a COMPOUND_EXPR whose second operand is constant.
+	Fold the MINUS_EXPR we make for casesi.
+
+	* reorg.c (update_block_from_store): Deleted.
+	(update_block): Always leave USE; don't try to update live regs.
+
+	* explow.c (copy_to_suggested_reg): Add new arg for mode to use.
+	* expmed.c (expand_divmod): Pass new arg to copy_to_suggested_reg.
+
+	* reload1.c (set_label_offsets, reload_as_needed): Consistently
+	ignore non-eliminables when computing num_not_at_initial_offset.
+
+	* rs6000.md (subsi3): Remove unnecessary call to force_reg.
+
+	* rs6000.c (output_epilog): Separate setting LR from loading
+	it from memory in some cases.
+	Branch to FP restore routine instead of calling it.
+
+	* flow.c (propagate_block): CC0 is not live when we delete a dead
+	insn.
+	* cse.c (delete_dead_from_cse): An insn setting CC0 is not live
+	if the next insn doesn't reference CC0.
+
+	* cse.c (cse_insn): If we see a narrow AND with a constant, check if
+	we have seen a wider AND.
+
+	* combine.c (can_combine_p): Allow SUBREG of non-tiable regs if we
+	are going to do is copy it to CC0.
+
+	* reload.c (find_secondary_reload): If X is a pseudo with an
+	equivalent MEM, use the MEM to see if a secondary reload is needed.
+	Don't call REG_CLASS_FROM_LETTER for 'r'.
+	* reload1.c (emit_reload_insns): Handle reloading pseudos
+	with equivalent MEM when we have secondary reloads; use the MEM
+	when required.
+
+	* romp.md (reload_outsi): Pattern should be a single PARALLEL
+	whose second component is a CLOBBER.
+
+Wed Mar 11 03:11:26 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (find_a_file, do_spec_1): Always obey require_machine_suffix.
+	(machine_explicit): Var deleted.
+
+Tue Mar 10 23:12:24 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* m68k.md (68000 special shifts): No longer accept a shift count 
+	of 16.  Delete support for shifts by 16 places.
+	(shift by 16 bits): New patterns which apply to all 68k models.
+	* m68k.h (RTX_COSTS): Shifts by 16 are cheap.
+
+Tue Mar 10 20:37:31 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* dwarfout.c (location_or_const_value_attribute):
+	Reenable changes disabled on Feb 21.
+	* function.c (instantiate_decls): Likewise.
+
+	* sdbout.c (sdbout_symbol): Handle (mem (const...)).
+	* dbxout.c (dbxout_symbol): Likewise.
+
+	* xm-i386isc.h: New file.
+	* configure (i386-*-isc*): Use it.
+
+	* hp320.h (MD_STARTFILE_PREFIX): Deleted.
+
+	* m68k.h (RTX_COSTS): If MULT is a shift, jump to shift case.
+
+	* sun3.h (TARGET_MEM_FUNCTIONS): Defined.
+
+	* toplev.c (rest_of_compilation): Call sdbout_dequeue_anonymous_types
+	even if we don't output assembler code.
+
+	* jump.c (jump_optimize): In `if (foo) bar; else break;' optimization,
+	include in range1 and range2 any line numbers at the beginning.
+
+	* c-typeck.c (spelling_length): Initialize `size'.
+	(PUSH_SPELLING): `spelling_size' is measured in elements.
+	(get_spelling): Use xmalloc if there is no buffer yet.
+
+Tue Mar 10 20:25:56 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* integrate.c (save_for_inline_copying):
+	Set up LABEL_NAME of label copies.
+
+	* sparc.md: Clean up attribute settings.  Add default length of 2
+	for insns of type multi.  Make sure all insns have correct type and
+	length attribute values.
+
+Tue Mar 10 19:13:19 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (warn_parentheses): Default is 0.
+	(c_decode_option): -Wall implies -Wparentheses.
+
+Tue Mar 10 17:49:51 1992  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
+
+	* hp800.md (shNadd recognizers): Put the MULT first, to obey insn
+	canonicalization rules.
+
+	* hp800.md (subsi3): Don't handle constants for operand 2, but
+	do handle them for operand 1, for the subi insn.
+
+	* hp800.md (compare into ordinary reg): Use "arith11_operand", not
+	"arith_operand" for operand 2.  Use `I', not `J' as constraint.
+	Don't change the constant in the output code (i.e. undo Mar 10
+	change).
+	* hp800.c (arith11_operand): New predicate function.  Fix comment.
+
+	hp800.md (mulsi3): Don't handle CONST_INT specifically, rely on
+	machine independent code.
+	* hp800.h (RTX_COST): Define.
+	* hp800.c (ABS, mul_operands, emit_mul_by_constant) Remove.
+	(mul_by_constant_aux, test_factor_and_output): Remove.
+
+	* hp800.md (addsi3): Use "register_operand" for operand 1, not
+	"arith_operand".
+
+	* hp800.md: Clean up spacing and comments in a few places.
+
+	* hp800.c (output_move_double): Handle auto increment and auto
+	decrement.  Remove unused enums.  Test for either operand being a
+	REGOP instead if RNDOP, since we require at least one operand to
+	be a register.  Pass the MEM address to find_addr_reg, not the
+	entire MEM rtx (in two places).
+
+	* hp800.h (WORDS_BIG_ENDIAN): Fix typo in comment.
+	(RTX_COST): Return cost of a PLUS, to indirectly give the right
+	cost for the shNadd insns.  Adjust the cost for division.
+
+Tue Mar 10 15:57:24 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* sparc.md: Add pattern for optimizing bitfield compares.  This
+	pattern was accidently lost when other (now-obsolete) bitfield
+	patterns were removed.
+
+	* sparc.c (arith32_operand): Deleted.
+	* sparc.md (movstrsi): Now uses nonmemory_operand for length.
+
+	* sparc.c (output_arc_profiler): Emit insns from first to last
+	instead of last to first, since it is much clearer.  Eliminate
+	profiler_target, since it resulted in illegal rtx sharing.
+
+	* sparc.c (legitimize_pic_address): Make -fPIC work again, re the
+	Feb 27 cse.c LO_SUM fix.  Put addresses inside UNSPEC when loading
+	them to ensure that cse won't mistakenly optimize them.
+	* sparc.md: Two new patterns, to match (HIGH (UNSPEC (..))) and
+	(LO_SUM (reg) (UNSPEC (..))) as generated above.
+
+Tue Mar 10 14:58:19 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* mips-news.h (ASM_SPEC): Move %{G*} outside of -mgas conditional.
+	* nws3250v4.h, xm-nws3250v4.h, x-nws3250v4: New files.  From cph.
+
+	* i860.c (sfmode_constant_to_ulong): Fix typo in last change.
+
+	* expr.c (store_expr): Initialize `label'.
+
+	* 3b1.h (HAVE_ATEXIT): #undef this.
+
+	* hp800.md (compare into ordinary reg): Make large ints "negative".
+
+	* hp800hpux.h: New file.
+	* configure (hp800-*-bsd*): Renamed from hp800-*-*.
+	(hp800-*-hpux*): New configuration.
+
+Tue Mar 10 11:03:47 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* expmed.c (init_expmed): Make the lea pattern in the canonical way.
+
+Tue Mar 10 10:32:30 1992  Tom Wood  (wood@hal)
+
+	* m88k.h (ASM_OUTPUT_{COMMON,LOCAL}): Compute size consistently.
+
+Tue Mar 10 07:41:09 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* recog.c (constrain_operands, case 'E'): Fix typo.
+
+	* function.c (setjmp_protect): Don't put vars from inline functions
+	on the stack.
+
+	* c-typeck.c (process_init_constructor): Don't use host integers for
+	bounds and index computation; use trees instead.
+	If specifying index in array with unset bounds, assume lower bound
+	of zero and check specified index against zero.
+
+	* tree.h (mode_for_size): Don't declare here.
+	* machmode.h (mode_for_size): Declare here instead.
+
+	* reorg.c (fill_slots_from_thread): Try to split THREAD immediately
+	so we don't get confused if it gets split later.
+
+	* reorg.c (fill_slots_from_thread): Don't take add from loop
+	head if the increment amount depends on the target register, since
+	we can't undo the operation.
+
+Mon Mar  9 12:18:04 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* unroll.c (final_biv_value): Fail if the biv is not MODE_INT.
+
+	* combine.c (distribute_notes, case REG_DEAD): Call rtx_equal_p
+	to verify that it was the set that modified the register, and
+	not a clobber.
+
+Sun Mar  8 22:20:24 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* c-parse.y,c-lex.c,cp-hash.h,cp-parse.y,cp-spew.c,objc-parse.y:
+	Rename `ASM' to `ASM_KEYWORD' to avoid trouble with SCO
+	<sys/signal.h>.
+
+Sun Mar  8 23:16:37 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* expr.c (move_by_pieces, move_by_pieces_ninsns): Remove March 4 and
+	March 5 changes.  Set max_size to MOVE_MAX + 1 instead.
+
+Sun Mar  8 17:08:57 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* expr.c (do_tablejump): New arg MODE.
+	* stmt.c (expand_end_case): Pass that arg.
+
+	* c-decl.c (pushtag): Push even anonymous types on tags list.
+	(parmlist_tags_warning): Handle anonymous types in the list.
+
+Sun Mar  8 15:08:58 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386mach.h (perform_fixdfsi): Rename from *_fix_trundfsi2.
+	Restore float control word correctly.
+	* i386rose.h (perform_fixdfsi): Likewise.
+
+	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Allow float constants,
+	even if -msoft-float is used: reg-stack.c may emit an insn to load
+	the function value register with 0.0.
+
+	* i386.md (bit test insns): Don't allow memory operands as the
+	first argument of the zero_extract.
+
+	* i386isc.h (RETURN_POPS_ARGS): Comment this out: ISC uses the
+	standard definition.
+
+	* i386sco.h (STARTFILE_SPEC): Use crtbegin.o.
+	(ENDFILE_SPEC): Use crtend.o.
+	(CPP_SPEC): #undef before defining.
+	(RETURN_POPS_ARGS): Caller pops args on SCO.
+
+Sun Mar  8 14:25:16 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* configure: Fatal error if srcdir has already been configured.
+	Remove periods from error messages.
+
+	* 3b1.h, mot3300.h (ASM_OUTPUT_OPCODE): Change swap to swap.w.
+	(SGS_SWAP_W): Deleted.
+	* m68ksgs.h (ASM_OUTPUT_OPCODE): If SGS_SWAP_W, change swap to swap.w.
+	* m68k.md: Delete all SGS_SWAP_W conditionals.
+
+	* m68k.md (shift using swap, dbra patterns): Change clrw to clr%.w.
+
+	* hp800.h (output_global_address): Use `-' for PLUS of neg integer.
+	Clean up spacing and braces in several places in file.
+
+	* byteorder.h (htons): Use unsigned int for arg type.
+
+Sun Mar  8 07:36:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.c (print_operand, case 'A'): New case.
+	* rs6000.md (sri): New %A to use "sli" for count of zero to work
+	around bug in RS/6000 assembler.
+
+	* config.sub (os): Add "aos" to basic list, no longer the same
+	as "bsd";  "acis" is an alternate for "aos".
+	(romp): No longer has a default system.
+	* configure (romp-*-aos*): Renamed from romp-*-bsd*; BSD means 
+	real BSD (4.3 Tahoe+), AOS means IBM system.
+
+	* Makefile.in (crtbegin.o, crtend.o): Use -o for output instead of
+	putting in crtstuff.o and renaming to desired name.
+
+	* reload1.c (reload): Re-check eliminability of registers on each
+	reload pass.
+
+	* jump.c (mark_jump_label): Make multiple REG_LABEL notes if
+	more than one label is mentioned in an insn.
+
+	* integrate.c (copy_rtx_and_substitute): Properly initialize
+	const_equiv_map for the equivalents of AP and FP.
+
+	* rs6000.h (TARGET_MEM_FUNCTION): Define.
+
+Sun Mar  8 00:05:47 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (store_parm_decls): Copy function type before changing it.
+	* tree.c (build_type_copy): New subroutine.
+
+	* t-next (LIBGCC1): Assigned, instead of LIBGCC.
+
+	* m68k.h (SHIFT_COUNT_TRUNCATED): Deleted.
+
+Sat Mar  7 23:47:57 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (xorsi3,xorhi3): Don't emit a byte opcode with an SImode
+	operand.
+
+Sat Mar  7 22:49:21 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-typeck.c (convert_arguments): -Wconversion warning
+	if argument is passed as float.
+	For fixed arguments, warn if type passed doesn't match
+	what default_conversion produces.
+
+	* gcc.c (cross_compile): New variable, 1 if cross-compiling.
+	(read_specs): Read it from specs.
+	(process_command): Dump it to specs.
+
+	* gcc.c (process_command): Don't use MD prefixes and
+	standard_startfile_prefix* here.
+	(main): Use them here, if not cross-compiling.
+
+Sat Mar  7 18:13:45 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (reload_as_needed): Eliminate regs in (use (mem ..))
+	and (clobber (mem ...)) insns.
+
+	* combine.c (distribute_notes): Fix minor bug in handling of
+	multi-register values when only one part is used.
+
+	* optabs.c, expr.c: Always call emit_library_call with no_queue == 1.
+
+	* function.c (fix_lexical_addr): Correctly set BASE in non-separate
+	AP case.
+
+Sat Mar  7 15:39:57 1992  Jyrki Kuoppala  (jkp@batman.cs.hut.fi)
+
+	* ns32k.h (TRANSFER_FROM_TRAMPOLINE): changed "ret" to "ret 0"
+
+Sat Mar  7 15:41:46 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+	* fixincludes: Don't do special fixes on signal.h, which were only
+	needed because of #endif comment fixes.
+
+Sat Mar  7 15:11:50 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* m68k.h (ASM_OUTPUT_ALIGN): Don't crash if LOG is more than 1.
+
+	* varasm.c (decode_reg_name): Make various prefixes optional
+	whether or not they are in REGISTER_NAMES.
+	(strip_reg_name): New subroutine.
+
+	* i386.c: Fatal error if EXTRA_CONSTRAINT is defined.
+
+	* collect2.c [USG] (R_OK, W_OK, X_OK): Define them if missing.
+
+	* x-hp320g (RANLIB, RANLIB_TEST): Defined.
+
+	* Makefile.in (EXTRA_PROGRAMS): New variable is list of programs.
+	(native): Build them.  Don't build EXTRA_PARTS.
+	(rest.encap): Build EXTRA_PARTS.
+	(GCC_PARTS): Include EXTRA_PROGRAMS.
+	(install-common): Build EXTRA_PROGRAMS.
+	* t-convex (EXTRA_PROGRAMS): Define instead of EXTRA_PARTS.
+
+	* Makefile.in (distclean): Don't delete backups, etc.
+	(extraclean): New target--delete those things here.
+	(gcc.xtar): Use extraclean.
+	(cleanconfig): Deleted.
+	(realclean): Depend on distclean.
+
+Sat Mar  7 14:54:29 1992  Tom Wood  (wood@dg-rtp.dg.com)
+
+	* genattrtab (attr_printf): Provide alternate based on HAVE_VPRINTF.
+
+Sat Mar  7 14:25:58 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* hp800.c (secondary_reload_class): Change `=' to `==' in `if'.
+
+Sat Mar  7 13:25:17 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cccp.c (do_line): Fix typo.
+
+	* configure (decoding args): Delete excess fi.
+
+Sat Mar  7 09:29:41 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (CONST_COSTS): Complete last change.
+
+	* mips.md (movsi_ulw, movsi_usw): Complete last change.
+
+Sat Mar  7 07:28:03 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* config.sub (*-dolphin, -triton*): New vendor/OS.
+	* configure (m88k-dolphin-trition): New alternative.
+	* m88kdolph.h: New file.
+	* xm-m88kdolph.h: New file.
+
+Sat Mar  7 10:07:44 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-l2.com: Do not allow the user to run this with gcc 1.nn.
+
+	* make-gcc.com: Use the new compiler to build libgcc2.c (through 
+	  make-l2.com).
+
+Sat Mar  7 05:36:16 1992  K. Richard Pixley  (pixley@nutrimat.gnu.ai.mit.edu)
+
+	* Makefile.in: added the exec_prefix variable for installing host
+	  dependent programs and libraries.
+
+Sat Mar  7 00:09:50 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* genextract.c (mybzero): New fn.  Used instead of bzero.
+
+	* Makefile.in (all): Indirect to all-internal.
+	(all-internal): New rule, following where cross-make gets inserted.
+
+	* vms.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined.
+
+	* protoize.c: Don't declare fork or vfork.
+
+	* i860.c (sfmode_constant_to_ulong): Use REAL_VALUE_FROM_CONST_DOUBLE.
+
+	* gcc.c (handle_braces): Verify actual suffix length matches
+	desired.
+
+	* hp800.h (GO_IF_LEGITIMATE_ADDRESS): Add parens for clarity.
+
+	* c-typeck.c (pointer_int_sum): Handle intop which is sum or diff
+	of arguments with different types.
+
+	* c-typeck.c (PUSH_SPELLING): If no buffer yet, use xmalloc.
+
+	* m68k.c (output_dbcc_and_branch): Use \n\t between pair of insns.
+
+	* sparc.h (TARGET_MEM_FUNCTIONS): Defined.
+
+Fri Mar  6 18:48:03 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't call ON_EXIT here.
+	* crtstuff.c, libgcc2.c (__do_global_ctors): Call it here.
+
+	* i386sco.h (HAVE_ATEXIT): Defined.
+
+	* collect2.c (my_exit, main): Avoid dereferencing 0.
+
+	* stmt.c (expand_decl_init): Don't alter TREE_USED of the variable.
+
+Fri Mar  6 18:24:39 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* mot3300.h (SIZE_TYPE): Define as "unsigned int".
+
+	* combine.c (make_extraction): STRICT_ALIGNMENT is now non-zero if
+	true, instead of relying on whether it is defined or not.
+	* c-typeck.c, cp-typeck.c (build_c_cast): Likewise.
+	* stor-layout.c (layout_type) Likewise.
+	* expr.h (MUST_PASS_INSTACK_BAD_ALIGN): Likewise.
+	* expr.c: Set default value of SLOW_UNALIGNED_ACCESS to zero.
+	(move_by_pieces, move_by_pieces_ninsns, emit_push_insn):
+	SLOW_UNALIGNED_ACCESS and STRICT_ALIGNMENT now true if non-zero.
+	* function.c (assign_stack_local, assign_outer_stack_local):
+	Remove turned-off code using STRICT_ALIGNMENT.
+	* config/*.h: Change representation of STRICT_ALIGNMENT and
+	SLOW_UNALIGNED_ACCESS.
+	* gmicro.h (SLOW_UNALIGNED_ACCESS): Set to 1.
+
+	* Makefile.in (cleanconfig): Remove obsolete reference to
+	file aux-output2.c.
+
+	* c-lex.c (yylex): Don't make out-of-range shift for very wide chars.
+
+Fri Mar  6 18:07:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* toplev.c (compile_file): No -Wunused warnings for static vars.
+
+	* collect2.c (main): Don't handle -B, -b, -V, -m or -f.
+	collect2 gets only the options that ld would get.
+	Process COLLECT_GCC_OPTIONS envvar.
+	(savestring): New function.
+
+	* genattrtab.c: Revert to previous version
+	because the new one uses vsprintf and it isn't trivial
+	to avoid it.
+
+Fri Mar  6 17:26:09 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.md (<O5> expressions): Don't rely on the assembler being able
+	to handle constant expressions (Dolphin Triton88 can't).
+
+	* genattrtab.c: Add a hash table mechanism to share RTL and strings.
+	(attr_hash_add_rtx, attr_hash_add_string): New functions.
+	(attr_rtx): New function to generate a shared RTL.
+	(attr_printf, attr_printf): New functions to generate a shared string.
+	
+	* genattrtab.c: Extend the treatment of DEFINE_ATTR to allow a CONST
+	expression as the default value, indicating a constant attribute.
+	(struct attr_desc): Add `is_const' field.
+	(check_attr_test): Add `is_const' parameter.  Disallow use of insn
+	attributes and MATCH_OPERAND in a constant expression; allow
+	SYMBOL_REF in a constant expression.  All callers updated.
+	(chech_attr_value): Allow a SYMBOL_REF as a constant expression.
+	(convert_const_symbol_ref): New function that converts a constant
+	SYMBOL_REF to a COND that explictly tests each value.
+	(make_canonical): Use `convert_const_symbol_ref' for constant
+	SYMBOL_REF expressions.
+	(make_length_attrs, find_attr, make_internal_attr): Mark `is_const'
+	as false.
+	(gen_attr): Get rid of a top-level CONST node and mark `is_const' true.
+	(walk_attr_value): Use of a constant SYMBOL_REF does not set
+	`must_extract' or `must_constrain'.
+	(write_attr_get): Deal with constant attributes.
+
+Fri Mar  6 16:14:27 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cccp.c (main, path_include) [__MSDOS__]: Handle MSDOS syntax in path.
+
+	* expr.c (store_expr): Fix bugs in last change.
+
+	* objc-actions.c (receiver_is_class_object): Fix typos.
+
+	* ecoff-cmp: File deleted.
+
+	* config.sub (3b1): Convert to m68000, not m68k.
+
+	* cccp.c (do_line): Handle "syetem header" indicator flag `3'.
+
+	* t-i386isc: New file.
+	* configure (i386-*-isc*): Use the new file.
+	* i386isc.h (LIB_SPEC, ENDFILE_SPEC): Use crtbegin.o/crtend.o.
+
+Fri Mar  6 14:37:25 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* expmed.c (expand_dec): Fix comment.
+
+Fri Mar  6 09:49:54 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.c (emit_move_sequence): Check reload_in_progress in
+	addition to reload_completed.
+
+	* m88k.md (cpu attribute): Fix.
+
+Fri Mar  6 06:24:08 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (CONST_COSTS): Fix eliminate_constant_term calling
+	sequence.
+
+	* mips.c (simple_memory_operand): Move offset variable for calling
+	eliminate_constant_term into a local block by the call.
+	(mips_address_cost): Ditto.
+
+	* mips.md (movsi_ulw, movsi_usw): Fix eliminate_constant_term
+	calling sequence.
+
+Fri Mar  6 00:30:10 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixincludes: Don't fix comments on #endif, #else.
+	It made the egrep string too long.
+
+	* expr.c (store_expr): Handle size mismatch copying from string cst.
+
+Thu Mar  5 22:11:03 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* objc-actions.c (receiver_is_class_object): Clean up syntax.
+
+	* sun386.h (ASM_GENERATE_INTERNAL_LABEL): Start with a star.
+
+	* reload1.c (reload): Change `=' to `==' in `if'
+	inside REGISTER_CONSTRAINTS conditional.
+
+Thu Mar  5 21:29:33 1992  Michael Tiemann  (tiemann@mole.gnu.ai.mit.edu)
+
+	* cp-parse.y (yyprint): Make declarations declare __inline
+	consistently.
+
+Thu Mar  5 18:34:32 1992  Jeffrey A. Law  (law@mole.gnu.ai.mit.edu)
+
+	* m68k.md (dbra patterns): Fix NO_ADDSUB_Q ifdef conditionals.
+	Fix location of comment regarding use of REG_NOTES in dbra insns.
+
+Thu Mar  5 18:30:55 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (libgcc.a): If $(LIBGCC1) is empty, ignore it.
+	* cross-make (LIBGCC1): Make definition empty.
+
+Thu Mar  5 17:48:38 1992  Torbjorn Granlund  (tege@wombat.gnu.ai.mit.edu)
+
+	* reload.c (find_reloads): Correctly detect different operand
+	constraint alternatives (by changing subscription from 0 to loop
+	variable i).
+
+Thu Mar  5 16:58:38 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* Makefile.in (libsubdir): Rename $(libdir)/gcc gcc-lib.
+	* gcc.c (STANDARD_EXEC_PREFIX): Ditto.
+
+	* c-typeck.c: Implement a spelling stack to store and print
+	compoment names for error messages.
+
+	(push_{string,member_name,array_bounds}): New functions.
+	(SPELLING_DEPTH, RESTORE_SPELLING_DEPTH, SAVE_SPELLING_DEPTH): New
+	macros to save and restore the spelling stack.
+	(digest_init, process_init_constructor): Use these.
+
+	(spelling_length, print_spelling): New functions.
+	(error_init, pedwarn_init): Use them.
+
+	(get_spelling): New function.
+	(convert_for_assignment): Use `get_spelling' to interpret messages
+	that are based on the spelling stack.
+	(process_init_constructor): Pass `&initialization_message'.
+
+Thu Mar  5 15:22:22 1992  Jim Wilson  (wilson@wookumz.gnu.ai.mit.edu)
+
+	* expr.c (init_expr): Initialize forced_labels to zero.
+	(save_expr_status): Saved forced_labels away and initilize to
+	zero.
+	(restore_expr_status): Restore value of forced_labels.
+	* function.h (struct function): Add forced_labels field.
+	* integrate.c (function_cannot_inline_p): Reject function with
+	nonzero forced_labels.
+
+Thu Mar  5 15:08:47 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* regclass.c (fix_register): Use decode_reg_name.
+	* stmt.c (expand_asm_operands): Ditto.
+	* varasm.c (decode_reg_name): Ignore a leading '#'.
+
+	For RMS:
+	* cp-call.c (build_method_call): Delete now redundant tests of
+	TREE_EXTERNAL before calls to assemble_external.
+	* cp-init.c (build_virtual_init, build_builtin_call): Ditto.
+	* cp-method.c (hack_identifier): Ditto.
+	* cp-typeck.c (build_component_ref, build_function_call_real): Ditto.
+	* c-parse.y (primary): Ditto.
+
+Thu Mar  5 13:49:29 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* expr.c (move_by_pieces_ninsns): Finish Mar. 4 change.  Do not
+	choose a mode which has a size greater than MOVE_MAX.
+
+	* m68k.c: Change all occurances of "mov." to "move%.l" so that
+	ASM_OUTPUT_OPCODE can choose the right syntax.
+	* m68k.md: Change "mov." to "move." in comments for consistency.
+
+Thu Mar  5 10:04:52 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* stmt.c (warn_if_unused_value): Handle NON_LVALUE_EXPR.
+
+	* limits.h (_LIMITS_H_): Correct misspellings.
+
+	* Makefile.in ("if" and "["): Romp, 4.3 BSD, and Ultirx systems
+	fail when the condition is false.  Change troublesome instances to
+	either use "case" or use '-' as a prefix to the compilation rule.
+
+Thu Mar  5 09:08:11 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (lshrdi3): Add earlyclobber to first alternative.
+
+	* explow.c (stabilize): Copy RTX_UNCHANGING_P and MEM_VOLATILE_P.
+
+Thu Mar  5 06:05:31 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-parse.y (.pushlevel): Stack and unstack STMT_DECL_MSG.
+
+	* cp-parse.y (unary_expr): Add EXTENSION support.
+	({maybe_label,label}_decls, label_decl): Define these rules as from
+	c-parse.y.
+	* cp-decl.c ({lookup,shadow,define}_label): Update from c-decl.c.
+	* gplus.gperf: Add EXTENSION and LABEL.
+	* cp-hash.h: Remade using gperf.
+
+Wed Mar  4 21:38:41 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* expr.c (move_by_pieces): Do not choose a mode which has a size
+	greater than MOVE_MAX.
+
+Wed Mar  4 23:24:25 1992  Per Bothner  (bothner@cygnus.com)
+
+	* cp-class.c, cp-decl.c, cp-decl2.c, cp-init.c, cp-lex.c,
+	cp-method.c, cp-typeck.c:  Casts from enum to int that
+	are necessary (not alas not quite sufficient) to get
+	cc1plus to compile using system cc on Sony NewsOS 3.2
+	(presumably Portable C Compiler).
+
+Wed Mar  4 22:05:39 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-type2.c (build_functional_cast): Fix typo in code searching
+	down type lattice looking for constructor.
+
+Wed Mar  4 16:52:21 1992  Jim Wilson  (wilson@cygnus.com)
+
+	* gstdarg.h: Include va-sparc.h on sparc systems.  Delete now
+	obsolete `#ifndef __sparc__'.
+	* va-sparc.h (va_start): Provide alternate definition when
+	included via stdarg.h.  Delete obsolete comment.
+	(va_arg): Add missing set of parentheses.
+
+Wed Mar  4 15:21:20 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+	* fixincludes: Make egrep pattern more general.  Check for
+	additional special case problems in Ultrix, News-OS, and IRIX.
+
+Wed Mar  4 15:15:45 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.c (function_epilogue): Don't make a special case for
+	current_function_returns_struct: this is done via
+	current_function_pops_args.
+
+	* sun386.h (DATA_SECTION_ASSM_OP): Fix typo in undef.
+
+Wed Mar  4 14:21:37 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+	* fixincludes, fixinc.svr4: Only change #else and #endif at the
+	beginnings of lines, aside from whitespace, so it doesn't change
+	them within comments. 
+
+Wed Mar  4 09:48:21 1992  Michael Tiemann  (tiemann@mole.gnu.ai.mit.edu)
+
+	* cp-method.c (build_decl_overload): Braino in handling of DELETE
+	(NEW was handled correctly).
+
+Wed Mar  4 09:14:57 1992  Jeffrey A. Law  (law@wombat.gnu.ai.mit.edu)
+
+	* Makefile.in (install-man): Install the g++ manual page.
+
+	* m68k.md (dbCC peepholes): Two new peepholes to recognize cases
+	where a compare/branch can be done (for free) as part of a dbCC
+	insn.  This turns jCC;dbf into dbCC;jCC (the jCC is now outside the
+	inner part of the loop).
+
+	* m68k.c (valid_dbcc_comparison_p): New function which returns TRUE
+	if the given comparison is a valid comparison operator for the dbCC
+	instruction.
+	(output_dbcc_and_branch): New function to output a dbCC;jCC
+	instruction sequence (including possible counter adjustments in
+	SImode)
+
+Wed Mar  4 04:32:11 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-dem.c (optable): Add entry for `operator='.
+
+	* cp-decl.c (finish_function): Emit a jump to RETURN_LABEL if
+	CLEANUP_LABEL is non-zero.  (Suggested by niklas@appli.se)
+
+Wed Mar  4 04:28:10 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* libgcc1.c (perform_lesf2): Condition tested was backwards.
+
+Wed Mar  4 03:11:48 1992  Ken Raeburn  (Raeburn@Cygnus.COM)
+
+	* cp-pt.c (overload_template_name): Extra pushlevel isn't needed;
+	omit it.
+	(undo_template_name_overload): Don't pop the level that isn't pushed
+	any more.
+
+	* cp-class.c (pushclass): Don't bother processing unnamed tags.
+	(popclass): Likewise.
+
+	* cp-init.c (build_vec_delete): If pointer is null, don't do
+	anything.
+
+	* cp-parse.y (member_init): Accept base class names that are
+	template type names.
+
+	* cp-decl.c (start_decl): Don't prepend decl of `this' to arg lists
+	of methods of uninstantiated types.
+
+	* cp-pt.c (instantiate_template): If no text has been saved away,
+	don't try to parse it; an external reference will result.
+
+	* cp-parse.y (yyprint): Declare this at head of file.
+
+	* cp-pt.c (instantiate_class_template): If the template specified
+	hasn't been defined, don't reject the instantiation; make it a
+	normal undefined type.
+
+	* cp-parse.y (template_def): Try to recover from errors more
+	gracefully.
+
+Tue Mar  3 15:37:35 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* protoize.c (munge_compile_params): Compute the maximum number of
+	params (`temp_parms' length) safely.
+
+	* dwarfout.c (const_value_attribute): Punt quasi-constant values.
+	(location_or_const_value_attribute): Ditto.
+
+	* Makefile.in (install-common): Install the cross compilation
+	driver program even when $(tooldir)/bin doesn't exist.
+
+Tue Mar  3 14:39:55 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.h (enum reg_class): Undo Jan 17 change that deleted class BREG.
+	(REG_CLASS_NAMES,REG_CLASS_CONTENTS,REGNO_REG_CLASS): Likewise.
+	(REG_CLASS_FROM_LETTER): Likewise.
+	* i386.c (regclass_map): Likewise.
+
+	* svr4.h (LINK_SPEC): Don't do -z or -t here: it's already in
+	link_command_spec.  But do handle -G.
+
+	* i386.md (casesi): Rewrite pattern to reflect the way to emitted
+	code actually works.
+
+Tue Mar  3 09:59:15 1992  Jeffrey A. Law  (law@super.super.org)
+
+	* m68k.md (dbra pattern in HImode): New pattern to match
+	decrement_and_branch insns when the loop counter is decremented in
+	HImode.
+
+Tue Mar  3 07:57:18 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.md (doz patterns): Add missing `I' constraint.
+
+	* reorg.c (mark_target_live_regs): A CALL_INSN livens all global regs.
+
+	* vax.h (EXTRA_CONSTRAINT): New macro to select non-mode-dependent
+	MEM operands.
+	* vax.md (jlbc/jlbs): Use jbc/jbs if mode-dependent memory.
+	* vax.c (reg_or_nxmem_operand): Function deleted.
+
+	* expr.c (do_store_flag): Swap comparison code when putting
+	constant arg second.
+
+	* m68k.md (addhi3): Convert, e.g., 65535 to -1 before seeing if
+	we can use subqw.
+	(addqi3): Similarly for QImode constants
+
+	* local-alloc (optimize_reg_copy_1): Renamed from optimize_reg_copy.
+	(optimize_reg_copy_2): New function.
+	(update_equiv_regs): Call optimize_reg_copy_[12].
+
+	* combine.c (make_compound_operation, case AND): Turn SUBREG case
+	back on now that bug in i386.md has been fixed.
+	(simplify_comparison, case ASHIFT): If shifting low-order bit to
+	sign bit and doing equality comparison, convert to AND with low-order
+	bit (inequality case was already handled).
+	Also remove redundant test of CONST_OP in an earlier case.
+
+	* sun2o4.h (LINK_SPEC): No longer need -Bstatic with -g.
+
+	* m68k.c, m68k.h: Avoid %X% for most upper-case X since it means
+	something special to SCCS.
+
+	* rs6000.md (type): Add new type, mtlr.
+	(function_unit branch): Add delay from mtlr to br.
+	(movsi): When moving to lr, type is "mtlr".
+
+	* unroll.c (reg_dead_after_loop): Check for infinite loop by
+	counting JUMP_INSNs we follow.
+	Use GET_RTX_CLASS, reg_referenced_p, and single_set.
+
+	* expr.c (expand_increment): Set op0_is_copy when we are referencing
+	the low-order part of some value in a register.
+
+	* combine.c (force_to_mode): New arg REG; pass in recursive call.
+	If X has the same value as REG, use REG.
+	(make_field_assignment): Handle case when DEST and part of source
+	aren't the same, but are equal; pass destination to force_to_mode.
+
+	* m68k.md (addhi3): Generate addqw, subqw, or addw for
+	STRICT_LOW_PART versions the same way we handle the normal case.
+	(addqi3): Similarly for addqb, subqb, and addb.
+
+	* genattrtab.c (write_test_expr, case MOD): Double `%' in printf call.
+	(write_eligible_delay): Internal attribute "*delay_type" is always
+	used literally; it has no suffix or prefix.
+	
+	* m68k.md, vax.md (sob): Rewrite inequality versions so that they
+	have a PLUS inside the comparison; combine cannot remove the PLUS
+	due to overflow considerations.
+
+Tue Mar  3 07:56:30 1992  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
+
+	* vms.h (L__main): Remove #include <stdio.h>
+
+	* make-gcc.com: Call make-l2.com.
+
+Tue Mar  3 05:37:08 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* stor-layout.c (layout_type): Handle OFFSET_TYPE.
+	* cp-tree.c (build_member_type): Deleted.
+	* cp-typeck.c, cp-decl.c, cp-init.c: All callers of
+	`build_member_type' now call `build_offset_type'.
+	* cp-typeck.c (convert_arguments): An argument that's an OFFSET_REF
+	must be resolved by `resolve_offset_ref'.  The OFFSET_REF case in
+	expand_expr does not do the right thing for G++ yet.
+
+	* cp-decl.c (grokdeclarator): Take CONSTP and VOLATILEP into account
+	when building METHOD_TYPEs.
+	(start_function): Ditto.
+
+	* cp-method.c (build_decl_overload): Change interface to take DNAME
+	instead of NAME.  Also, special-case handling of the default
+	operator new and operator delete for the std. signatures.
+	* cp-*.c: All callers changed.
+
+	* cp-class.c (build_vtable_entry): Rewrite built-in limit check to
+	work on platforms where SIZETYPE is unsigned.
+
+Mon Mar  2 08:49:16 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.c (m88k_debugger_offset): Delete warning.
+
+	* m88k.h (OVERRIDE_OPTIONS): Set `m88k_cpu' based on `target_flags'.
+
+	* m88k.md (cmpsi insn): Delete alternative that complements the
+	compare string for a swapped compare (it's wrong and unnecessary).
+	(cpu attribute): Define.
+
+	From Jyrki Kuoppala:
+	* pc532.h, pc532-mach.h, pc532-min.h, xm-ps532-min.h: New files.
+	* configure (ns32k-pc532-mach*, ns32k-pc532-minix*): New alternatives.
+
+	* dbxout.c (dbxout_type): Don't invoke dbxout_type_methods if
+	there are none.
+
+	* vax.c (print_operand_address): Allow REG+TERM.
+
+	* c-typeck.c (process_init_constructor): Reuse space for error
+	message strings.
+
+Mon Mar  2 02:54:48 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* seq386gas.h: New file, for Sequent using 386 & GAS.
+
+	* xm-i386sco.h: New file.
+
+	* optabs.c (ldexp): New function.  Used if host ldexp is broken.
+
+	* configure (i386-sequent-bsd*): Use seq386gas.h if --gas.
+	(i386-*-sco*): The host file is now xm-i386sco.h.
+
+	* i386.md (SImode and HImode logical compare): If we are only
+	testing one byte of a mem, use a byte test opcode.
+	(bit test patterns): Likewise when emitting test opcodes.
+
+Sun Mar  1 14:47:31 1992  Torbjorn Granlund  (tege@hal.gnu.ai.mit.edu)
+
+	* longlong.h (_IBMR2 udiv_qrnnd): Switch off due to overflow problems.
+
+Sun Mar  1 11:19:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (force_to_mode): New function.
+	(make_field_assignment): Rework code that handles fixed-position
+	fields to make it both much more general and much simpler.
+
+	* m68k.md: Add missing insns for using byte operations with
+	STRICT_LOW_PART; add was missing commutative equivalent and
+	most operations other than add and subtract were missing.
+
+	* varasm.c (assemble_start_function): Add missing arg to call to
+	dbxout_begin_function.
+
+	* fold-const.c (const_binop): Make minor source change to work
+	around bug in IBM RT PC compiler.
+
+Sun Mar  1 05:01:34 1992  Michael Tiemann  (tiemann@rtl.cygnus.com)
+
+	* cp-typeck.c (build_modify_expr): When wrapping NEWRHS in a
+	SAVE_EXPR, call `break_out_cleanups' first.
+
+Sat Feb 29 23:19:20 1992  Jim Wilson  (wilson@cygnus.com)
+
+	* reload.c (find_reloads): Reset preferred_class to NO_REGS after
+	substituting a reg_equiv_address for a pseudo reg.
+
+	* unroll.c (precondition_loop_p): Fix misplaced paren when checking
+	for MODE_FLOAT rtx.
+
+Sat Feb 29 13:59:54 1992  Michael Tiemann  (tiemann@cygnus.com)
+
+	* cp-typeck.c (build_modify_expr): To complete 24 Feb change,
+	COND_EXPRs must evaluate LHS in conditional slot if LHS has side
+	effects.  Otherwise the SAVE_EXPRs in lhs will only be evaluated
+	once, even though they are referenced on both branches of the
+	conditional.
+
+Sat Feb 29 13:32:35 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
+
+	* README.X11: Add warning to not use gas when compiling PIC code.
+
+	* fixincludes: Allow TAB as well as SPC before symbols to change.
+	Don't change "sun" if it's part of a multiword name that contains
+	underscores.
+	Make intermediate dir, if needed, when doing special-case fixes.
+	Use previously fixed file, if it exists, as source for all special
+	fixes.  Do less copying when making special fixes.
+	Ignore errors when chmod'ing a file that might not exist.
+	* fixinc.svr4: Preserve whitespace around "#" when fixing #else and
+	#endif.
+	Allow TAB as well as SPC before symbols to change.
+	Combine "sun" cases as in fixincludes.
+
+Sat Feb 29 11:10:55 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.md (movstrsi): Print opcode as "movsl" so that seq386.h can
+	change it into smovl.
+
+Sat Feb 29 09:15:51 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (expand_function_end): Allocate rtl that points to
+	trampoline permanently.
+
+	* reload1.c (gen_input_reload): If one operand of a PLUS is a MEM,
+	move it into a reg and add the other (makes code agree with comments).
+
+	* explow.c (eliminate_constant_term): Rework so it does not directly
+	add integer values; call simplify_binary_operation instead.
+	Second arg is now pointer to rtx, not int.
+	Assume constant is always second operand of PLUS.
+	(memory_address): Pass rtx pointer to eliminate_constant_term.
+	* halfpic.c (half_pic_address_p): Likewise.
+	* mips.c (simple_memory_operand, mips_address_cost): Likewise.
+	(mips_debugger_offset): Likewise.
+	* expr.c (expand_expr, case PLUS_EXPR): Likewise.
+	Don't add INTVALs; use simplify_binary_operation instead.
+	Remove obsolete OLD_INDEXING code.
+	Put a MULT in the first operand of the PLUS.
+
+	* combine.c (combinable_i3pat): Don't combine if I3DEST is a hard
+	reg in a non-valid mode.
+
+Sat Feb 29 09:14:19 1992  Eric Youngdale (youngdale@v6550c.nrl.navy.mil)
+
+	* vms.h (ASM_OUTPUT_COMMON): Use SIZE instead of ROUNDED bytes.
+	(DO_GLOBAL_CTORS_BODY): Do not call fflush(stdout).
+
+	* gcc.texi: Update GLOBAL[DEF,REF,VALUE] documentation.
+
+	* make-l2.com: Remove call to test_gcc2.
+
+Sat Feb 29 02:52:59 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cccp.c (main): Rename envvars to CPLUS_INCLUDE_PATH and
+	OBJCPLUS_INCLUDE_PATH.
+
+	* m68k.h (TRANSFER_FROM_TRAMPOLINE): Use `move', not `mov'.
+
+Fri Feb 28 19:39:09 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
+
+	* fixincludes: Don't change symbols that already start with `_'
+	into `__symbol__'.  Merge all of the sun* substitutions so they
+	don't fight each other.
+	Comment out junk after #elses and #endifs, to prevent warnings
+	when -pedantic is given.
+
+Fri Feb 28 13:42:05 1992  Jim Wilson  (wilson@cygnus.com)
+
+	* sched.c (schedule_insns): Don't update value of reg_live_length
+	when it is negative, because negative values are special.  Earlier
+	fix Dec 17 disabled the fprintf call, but not the assignment.
+
+	* unroll.c (copy_loop_body): After incrementing the base reg for a
+	split DEST_ADDR giv, must subtract the const_adjust from the base
+	reg to get its true current value.
+
+	* loop.c (maybe_eliminate_biv_1): When handling COMPARE, verify
+	that mult_val is positive, which makes the code match the comment,
+	and surrounding code.
+
+	* sparc.c (legitimize_pic_address): Always test reload_completed
+	in addition to reload_in_progress.
+
+	* sched.c (schedule_block): Don't reorder any USE insns at the end
+	of a function.  Exclude them all from scheduling.
+
+	* c-typeck.c (build_array_ref): Check for when `ar' is an
+	error_mark_node and don't emit a second error message for that node.
+
+	* Makefile.in: Correct misc typos in comments or spacing.
+	(mostlyclean): Update names of files to delete.
+
+	* Makefile.in (install-man): Also install cccp man page.
+	(uninstall): Also delete cccp man page.  Don't delete protoize and
+	unprotoize man pages twice.
+
+	* Makefile.in (libgcc2.a): Delete unnecessary -fstrength-reduce -O
+	flags on gcc command lines, superseded by LIBGCC2_CFLAGS.
+
+	* Makefile.in (config.status): Verify that file does not exist
+	before printing an error and failing.  Prevents problem with Sun's
+	KEEP_STATE feature.
+
+Fri Feb 28 05:15:58 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* stmt.c (expand_computed_goto): Call emit_queue.
+
+	* function.c (assign_parms): Don't generate convert whose operand
+	is register that is not valid in its mode.
+
+	* reload.c (find_reloads_toplev): Don't do anything with paradoxical
+	SUBREGs if BYTE_LOADS_ZERO_EXTEND.
+
+Thu Feb 27 09:59:09 1992  Jeffrey A Law  (law at b115.super.org)
+
+	* toplev.c (main): Enable caller-saves for all machines at
+	optimization levels of -O2 or higher.
+	* mips.h (OPTIMIZATION_OPTIONS): toplev.c will turn on
+	caller-saves at -O2 now.  Do not do it here.
+	* sparc.h (OPTIMIZATION_OPTIONS): Likewise
+
+Thu Feb 27 06:47:31 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* cp-call.c: Move some extern declarations to file level.
+
+	* emit-rtl.c (init_emit_once): Cast VOIDmode to int in array index.
+
+	* reorg.c (mark_target_live_regs): Don't make recursive call if
+	function being compiled has infinite loop.
+
+	* cse.c (fold_rtx, case 'o'): New case to support folding LO_SUM.
+
+	* global-alloc.c (global_alloc): When calling reload, pass the
+	result of get_insns instead of basic_block_head[0].
+
+	* c-typeck.c (process_init_constructor): Don't check array index
+	against limits if array bounds weren't specified.
+
+	* gcc.c (link_command_spec): Put back -s.
+
+	* gcc.c (find_a_file): Add missing paren in init of file_suffix.
+
+	* i386sun.h (LIB_SPEC): Insert missing blank.
+
+	* sun386.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Add #undef.
+
+	* sparc.h (LINK_SPEC): Correct comment.
+
+	* sun3.h, i386sun.h (LINK_SPEC): Don't force -Bstatic if -g.
+
+	* mips-news.h (ASM_SPEC): Add missing "}".
+
+	* Makefile.in (install-native): Don't include install-proto.
+	(.y.c): Suppress default rule for using Yacc.
+
+	* combine.c (apply_distributive_law, case SUBREG): Check that word
+	numbers are the same.
+	Don't change a single-word operation into a multi-word operation.
+	Put all checks on SUBREGs in one place.
+	(gen_lowpart_for_combine): Use correct word number when making
+	explicit SUBREG.
+
+	* README.SCO: Obsolete file deleted.
+
+Wed Feb 26 21:23:02 1992  Jim Wilson  (wilson@cygnus.com)
+
+	* sparc.md (DImode sethi): Correctly handle CONST_DOUBLE, was
+	wrong endian.
+	(DImode lo_sum): Don't output CONST_DOUBLES as 64 bit constants,
+	just output the low 32 bits.
+
+	* unroll.c (find_splittable_givs): For combined address givs, save
+	the increment amount in add_val.
+	(copy_loop_body): For combined address givs, increment by the
+	amount calculated by find_splittable_givs, not by the amount that
+	the giv it was combined with gets incremented by.
+
+	* expr.c (clear_pending_stack_adjust): Check flag_no_inline, not
+	optimize, to determine whether functions declared inline will be
+	inlined.
+
+	* dbxout.c: Delete all #ifndef DBX_DEBUGGING_INFO stubs.  None of
+	them are needed.
+
+	* hp800.c, hp800.h: Fix typos in comments.
+
+Wed Feb 26 02:39:52 1992  Michael Tiemann  (tiemann at rtl.cygnus.com)
+
+	* cp-call.c (build_method_call): If conversion of INSTANCE_PTR
+	yields error_mark_node, return error_mark_node immediately.
+
+Tue Feb 25 23:40:01 1992  Mike Stump  (mrs at cygnus.com)
+
+	* tree.c (array_type_nelts): Fix documentation, really nelts-1
+	* cp-tree.c cp-tree.h cp-init.c (expand_vec_init): Fixed
+	multi-dimensional array inits.
+
+Mon Feb 24 00:03:23 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-tree.c (build_cplus_new): Set TREE_SIDE_EFFECTS bit on
+	NEW_EXPR.
+
+	* cp-typeck.c (build_modify_expr): Handle WITH_CLEANUP_EXPRs
+	specially when they appear in expressions (not initializations).
+	Also handle COND_EXPRs on the right-hand-side specially (in case one
+	of the COND_EXPR's branches is a WITH_CLEANUP_EXPR).
+
+Sun Feb 23 15:11:27 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl2.c (finish_anon_union): Make RTL for ANON_UNION_DECL based
+	on MAIN_DECL.
+
+	* cp-decl.c (lookup_tag): Deal with the fact that `clear_anon_tags'
+	may have been run.
+
+	* cp-decl.c (cplus_expand_expr_stmt): Give line number for usage
+	whcih incurs warning message.
+
+Sat Feb 22 20:49:45 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (init_decl_processing,auto_function): New approach to
+	defining the default functions `operator new' and `operator delete'.
+	* cp-init.c (init_init_processing): Rest of changes here.
+	* libgcc2.c (_builtin_{new,delete,New}): Gone.
+	* libgcc2.c (_new_handler): New name for section that defines the
+	default new handler.
+
+Sat Feb 22 02:09:55 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Version 2.0 released.
+
+	* gcc.c (do_spec_1): Handle SPACE_AFTER_L_OPTION.
+	* hp320.h (SPACE_AFTER_L_OPTION): Defined.
+	Note: for 2.1, try making a space there on all systems.
+
+	* i386mach.h (perform_*): New macros, copied from i386rose.h.
+
+	* Makefile.in (distclean): New target.
+	(realclean): Avoid duplication with self or with distclean.
+	(gcc.xtar.Z): Depend on gcc.xtar.
+	(gcc.xtar): Fixes in copying files.
+
+	* expr.c (do_store_flag): Don't correct CODE before where it is set.
+
+	* cp-parse.y (stmt): Pass pushcase_range all the args it wants.
+
+Fri Feb 21 18:14:52 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (distribute_notes): Correctly handle the case of a
+	REG_DEAD note for a multi-word hard register when not all of
+	the words are used.
+
+Fri Feb 21 16:47:32 1992  Michael Meissner  (meissner@osf.org)
+
+	* mips.h (MIPS_VERSION): Change Meissner version # to 12.
+	(half_pic support): Move the halfpic support to halfpic.h which is
+	included in the decrose case, and nop the support in other MIPS
+	platforms.
+	(OPTIMIZATION_OPTIONS): Move setting caller-saves to -O2.
+	(OBJECT_FORMAT_COFF, EXTENDED_COFF): Define unless OSF/rose.
+	(INITIAL_FRAME_POINTER_OFFSET): Always recalculate the frame size,
+	don't rely on cached values.
+
+	* mips.c (half_pic support): Move the halfpic support to halfpic.c,
+	which is only compiled for OSF/rose.
+	(expand_block_move): Use copy_addr_to_reg instead of copy_to_reg in
+	case either the source or destination is an integer constant
+	converted to an appropriate pointer type.
+	(mips_debugger_offset): Use a local variable to hold function
+	result.
+
+	* decrose.h (toplevel): Include halfpic.h for halfpic support.
+	(PTRDIFF_TYPE): Change to 'int' to match current include files.
+	(WCHAR_TYPE): Change to 'unsigned int' to match include files.
+	(INIT_SECTION_ASM_OP): Delete, since the OSF/rose assembler doesn't
+	support a true initialization section.
+
+	* encrose.h (PTRDIFF_TYPE): Change to 'int' to match current include
+	files.
+	(WCHAR_TYPE): Change to 'unsigned int' to match include files.
+
+	* t-decrose (EXTRA_OBJS): Define as halfpic.o to provide halfpic
+	support.
+	(CONFIG2_H): Treat halfpic.h as another config file.
+	(halfpic.o): Add dependencies.
+
+	* halfpic.h (new file): Common include file for systems needing the
+	OSF/rose half-pic shared library support.
+
+	* halfpic.c (new file): Common support file for systems needing the
+	OSF/rose half-pic shared library support.  Currently these are stub
+	functions.
+
+Fri Feb 21 16:07:02 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-parse.y (get_current_declspecs): New function
+	(needed for naming sections).
+
+Fri Feb 21 01:34:08 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* dwarfout.c (location_or_const_value_attribute): Use DECL_RTL again.
+	Seems to be safer for the moment.
+	* function.c (instantiate_decls): Don't instantiate DECL_INCOMING_RTL.
+
+	* dwarfout.c (output_mem_loc_descriptor): Handle CONST like SYMBOL_REF.
+
+	* collect2.c (errno): Declare if not macro.
+
+	* dbxout.c [MIPS]: Include gstab.h, not stab.h.
+
+	* dbxout.c (dbxout_symbol): No longer flush leading _ for C++ syms.
+
+	* cp-parse.y (.hush_warning): Set $$.
+
+	* gstdarg.h: Handle _HIDDEN_VA_LIST as in gvarargs.h.
+
+Thu Feb 20 07:41:29 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* vax.c (reg_or_nxmem_operand): New function.
+	(split_quadword_operands): Add missing return type (void).
+	* vax.md (jlbc/jbc/jlbs/jbs): Handle QImode operands properly.
+
+	* caller-save.c (set_reg_live): Use mode of SUBREG to see how many
+	hard regs are written.
+
+	* combine.c (simplify_shift_const, case IOR, AND, XOR): Perform
+	logic computation in RESULT_MODE, not mode of VAROP.
+
+Wed Feb 19 18:32:05 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* hp320.h (PRINT_OPERAND): Support codes '$' and '&'.
+
+	* reload1.c (reload): Add cast of enum in index.
+
+	* vms.h (CPP_PREDEFINES): Define __GNUC__ as 2.
+
+Wed Feb 19 21:43:36 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (output_mem_loc_descriptor):  Deleted useless blank line.
+	(output_mem_loc_descriptor) Added code to handle CONSTs in DECL_RTL
+	expressions.
+	(dwarfout_finish):  Added code to put a null string at the end of
+	the terminating .debug_macinfo section.
+
+Tue Feb 18 18:34:13 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* cccp.c (main): Fix typo in comment or spacing.
+	* dbxout.c (dbxout_block): Likewise.
+	* expr.c (convert_move): Likewise.
+	* reload1.c (emit_reload_insn): Likewise.
+	* rtl.h (REG_NOTES): Likewise.
+	* sun4o3.h: Likewise.
+	* ultrix.h (CPP_PREDEFINES): Likewise.
+	* toplev.c (flag_no_common): Likewise.
+	* stmt.c (layout_type): Likewise.
+	* gcc.c (is_linker_dir, lookup_compiler): Likewise.
+
+	* sched.c (schedule_block): Comment code handling USE insns as
+	obsolete.
+
+Tue Feb 18 14:44:49 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c++: Run gcc in same dir as c++ was in, if exists there.
+	Use `exec' to run it.
+	New var `havefiles'; special message if no input files specified.
+	Pass through any unrecognized options.
+
+	* g++: Now a link to c++.
+
+Tue Feb 18 04:54:52 1992  david d [zoo] zuhn  (zoo at lynx.spa.umn.edu)
+
+	* protoize.c (main): added support for -p flag, to specify which
+	gcc is the one to call for -fgen-aux-info support.
+
+Tue Feb 18 07:29:23 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (try_combine): Don't clobber OTHER_INSN's PATTERN if
+	we aren't able to change the insn.
+
+	* romp.md (bit_insv): Add missing CLOBBER when making pattern to
+	match mftb; likewise for the DEFINE_INSN.
+
+Tue Feb 18 01:03:41 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* rs6000.h (bss_section): Set `in_section' correctly.
+
+	* expmed.c (synth_mult): Count second shift for alg_compound.
+	Count extra shift for lea case.
+	* m68k.h (RTX_COSTS): Reduce cost of multiply.
+
+	* function.c (instantiate_decls): Instantiate DECL_INCOMING_RTL.
+
+Mon Feb 17 19:17:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* a29k.md (divmodsi4, udivmodsi4): Don't use reg 180 explicitly.
+	Instead use 'q' constraint letter.
+
+Mon Feb 17 16:15:02 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* global-alloc.c (global_alloc): Always call `reload'.
+
+Mon Feb 17 10:38:38 1992  Jim Wilson  (wilson at sphagnum.cygnus.com)
+
+	* a29k.md (movdi define_split): Use DImode in operand_subword
+	calls, not DFmode.
+
+Mon Feb 17 08:20:33 1992  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
+
+	* varasm.c (assemble_external): Check that DECL is some sort of
+	_DECL before referencing its DECL_RTL.
+
+Sun Feb 16 13:05:36 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-call.c (build_method_call): Add call to `assemble_external' in
+	case this is the first use of FUNCTION.
+	* cp-class.c (build_vfn_ref): Ditto for VTBL.
+	* cp-decl2.c (write_vtable_entries): Ditto for FN.
+	* cp-init.c (build_offset_ref): Ditto for T.
+	* cp-typeck.c (build_function_call_real): Ditto for FUNCTION.
+	* cp-method.c (hack_identifier): Ditto for VALUE.  Also remove
+	action that made call to `assemble_external' when !TREE_USED (VALUE).
+
+	* cp-lex.c (do_identifier): Remove call to `assemble_external' when
+	implicitly declaring ID.
+
+	* cp-parse.y (primary): Simplify the rules for calling
+	`assemble_external'.
+
+	* cp-decl.c (finish_function): For destructors, don't call
+	expand_expr_stmt if EXPRSTMT is VOID_ZERO_NODE.
+
+	* cp-typeck.c (default_conversion): Parallel Jan 21 change in
+	c-typeck.c.
+
+Sun Dec 16 23:31:54 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (fundamental_type_code):  Deleted gunk for handling
+	OFFSET_TYPEs. (They are *not* fundamental types).
+	(fundamental_type_code):  Fixed typo.
+	(location_attribute, const_value_attribute):  Changed to take one
+	rtx parameter rather than one tree parameter.
+	(location_or_const_value_attribute):  Changed to use DECL_INCOMING_RTL
+	rather than DECL_RTL for formal parameters.  Also changed calls to
+	location_attribute and const_value_attribute to provide the rtl
+	parameter.
+	(fund_type_attribute):  Changed to accept an actual fundamental type
+	code as a parameter directly.  Also changed all calls correspondingly.
+	(type_attribute):  Separated tests for ERROR_MARK and for VOID_TYPE
+	and added comments.
+	(output_unspecified_parameters_die):  Changed to take one tree param
+	and to generate *both* an AT_name and an AT_type attribute when the
+	input parameter represents of function definition.  Also adjusted
+	all calls correspondingly.
+
+Sun Feb 16 00:54:10 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* fixincludes: Add #ifndef around size_t declaration in types.h.
+
+	* varasm.c (assemble_external): Do nothing if arg isn't a decl.
+
+	* Makefile.in (cp-parse.c): Update "expect" msg.
+
+	* next.h (CPP_SPEC): Rename -bsd to -strict-bsd.
+
+	* Makefile.in (mostlyclean): Add ld, mips-tfile, mips-tdump.
+
+	* protoize.c (directory_specified_p): Don't match files in subdirs.
+
+	* xm-rs6k-m.h: Renamed from xm-rs6000-mach.h.
+	* configure (rs6000-*-mach*): Changed accordingly.
+
+	* collect2.c (handler): No error msg here.  Just resend signal.
+	(write_c_file): Arg to write_list... is pointer.
+	(do_wait): Fix typo.
+	(scan_prog_file for non-OSF): Preserve all underscores.
+
+	* Makefile.in (install-collect2): Install gcc in libsubdir.
+
+Sat Feb 15 15:26:03 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* varasm.c (decode_reg_name): Empty string is not a reg number.
+
+	* fold-const.c (merge_component_references): NE tests against
+	mismatched constants forces 1, not 0, as value.
+
+	* i386gas.h (ASM_OUTPUT_OPCODE): Convert repz to repe.
+
+	* collect2.c: Get rid of PROTO macro; use non-prototype decls.
+	Don't include gstddef.h (had conflicts).  Use gstdarg.h, not stdarg.h.
+	(xcalloc, xmalloc): Add casts.
+	(do_wait): Avoid macros WTERMSIG, WEXITSTATUS missing on some machines.
+
+	* cp-typeck.c (default_conversion): Don't use initial value if BLKmode.
+
+	* objc-actions.c (finish_objc): Fix typos in last change.
+
+	* c-aux-info.c, dbxout.c, cccp.c (errno): Declare, if not a macro.
+
+	* i386.md (QI bit test recognizer): Split into separate patterns
+	for memory and register args.  Make a scratch reg for memory.
+
+Fri Feb 14 23:39:58 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* tree.c (get_identifier): Improve -Wid-clash message.
+
+Fri Feb 14 16:22:48 1992  Michael Collison  (collison at osf.org)
+
+	* i386rose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
+	LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
+	(INIT_SECTION_ASM_OP): Define as .init.
+	(CC1PLUS_SPEC): Define it.
+	(LINK_LIBGCC_SPECIAL): Define this to work around linker bug.
+
+Fri Feb 14 00:38:15 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (protoize.o, unprotoize.o): g++-include is under libdir.
+
+	* Makefile.in (enquire.o): Make the command one long line.
+
+	* gcc.c (do_spec_1): Omit relative prefixes from -L'ing
+	only if RELATIVE_PREFIX_NOT_LINKDIR is defined.
+	* rs6000.h (RELATIVE_PREFIX_NOT_LINKDIR): Defined.
+
+	* varasm.c (assemble_external): Test TREE_EXTERNAL.
+
+	* jump.c (follow_jumps): If can't find chain end, return orig label
+
+	* mot3300.h (PRINT_OPERAND): Always print 16 hex digits for a double.
+
+	* objc-actions.c (build_module_descriptor) [NEXT_OBJC_RUNTIME]: Ret 0.
+	(finish_objc): Value 0 from build_module_descriptor means no ctor.
+	When referencing a class_name symbol, don't output a .globl for it.
+	(finish_objc): Put artificial refs in text section.
+
+	* cccp.c (pedwarn_with_file_and_line): Handle -w, -W.
+
+Fri Feb 14 07:44:08 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.c (notice_update_cc): sCOND opcodes don't change the flags.
+	Don't record test or compares involving stack-like regs, since
+	final can't omits tests or compares involving such regs correctly.
+
+	* i386.c (seq,sne,beq,bne): These opcodes use the state of
+	cc_status from before the curren insn.
+
+	* reg-stack.c (stack_reg_mentioned_p): Don't make static.
+
+Fri Feb 14 06:27:48 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* jump.c (jump_optimize): Disable "if (...) {... x = C;} if (x) ..."
+	optimization; there doesn't seem to be a way to fix it.
+
+Thu Feb 13 18:06:06 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* seq386.h (ASM_OUTPUT_OPCODE): New macro. Change "movs" into
+	"smov" at the start of a string move mnemonic - Sequent as(1)
+	doesn't handle the former.
+
+Thu Feb 13 17:21:26 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* c-decl.c (finish_struct): Use pedwarn for pedantic warning.
+	(grokdeclarator): Likewise.
+	* c-parse.y (component_decl_list2): Likewise.
+
+Thu Feb 13 22:11:36 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* combine.c (make_extraction): Default modes to byte and register
+	size, as appopriate, when the bitfield insn doesn't exist.
+
+	* a29kunix.h (LINK_SPEC): Pass default option file to gld.
+	(LINK_LIBGCC_SPECIAL): Define to work around gld bug.
+
+	* explow.c (copy_to_suggested_reg): Try getting mode from TARGET.
+
+	* rs6000.h (ASM_FILE_END): New macro.
+	(EXTRA_SECTIONS): New section read_only_private_data.
+	(EXTRA_SECTION_FUNCTIONS): New function read_only_private_data_section.
+	(SELECT_RTX_SECTION): Always make non-toc data private, read-only.
+	(SELECT_SECTION): Put read-only data in appropriate sections.
+
+	*  jump.c (jump_optimize): Place branch in correct place when
+	optimizing "if (...) {... x = C;} if (x) ...".
+	(redirect_jump): Ensure jump's UID is within range of jump chain.
+
+	* a29k.c (output_prologue): Correctly set LR1 when more than 64
+	registers are needed.
+
+Wed Feb 12 22:22:46 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-cccp.com: Define link as a local symbol to avoid 
+	possible conflict with a user defined global symbol.
+
+	* make-cc1.com: Likewise.
+
+Thu Feb 13 11:05:07 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.c (make_temp_file): Store created filename into a static
+	file-scope variable, not an auto.
+	(mips_asm_file_end): Use the appropriate filename in printing
+	errors.
+
+Thu Feb 13 01:15:00 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cccp.c (skip_if_group): Skip comments after the #.
+
+	* cccp.c (macarg): Don't assume stringify will compress spaces.
+	(macroexpand): In stringify, compress space only outside tokens.
+
+	* cexp.y (exp1): Use pedwarn for comma in #if.
+
+	* cp-decl.c (push_binding_level, pop_binding_level):
+	Change `inline' to `__inline'.
+
+	* combine.c (make_compound_operation): Undo previous change.
+
+Wed Feb 12 18:47:47 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* function.c (instantiate_virtual_regs_1, case IF_THEN_ELSE):
+	Don't special case; allow all operands to be processed.  The last
+	two operands are nontrivial on the Vax.
+
+Wed Feb 12 18:58:48 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gcc.c (do_spec_1): Only absolute prefixes turn into -L's.
+	(link_command_spec): Handle LINK_LIBGCC_SPECIAL.
+
+Wed Feb 12 18:38:29 1992  Chris Smith  (csmith at convex.com)
+
+	* convex.h (DEFAULT_CALLER_SAVES): define again, bug is fixed.
+	* convex.h (BRANCH_COST): Define as 0, so we won't use complex
+	alternatives to branches (whose expansions contain branches
+	on convex).
+
+Wed Feb 12 17:23:57 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* config.sub: Accept just `hppa' for machine.
+
+	* Makefile.in (Install-collect2): New target.
+
+Wed Feb 12 13:55:24 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (relax_delay_slots): Don't convert jump to return here.
+
+	* configure (a29k-ultra-*): Deleted.
+	(a29k-*-bsd*): Merged with a29k-ultra-*.
+	(romp-*-mach*): Fixed typo in xmake_file name.
+	* xm-a29kunix.h: Renamed from xm-a29k-ult.h.
+	* x-a29kunix: New file.
+
+	* reload.c (find_reloads): Don't use class from preference if it
+	is a single-register class.
+
+Wed Feb 12 13:03:16 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN): Pack code tightly
+	when compiling crtstuff.c (flag_inhibit_size_directive).
+
+Wed Feb 12 10:34:09 1992  Michael Meissner  (meissner at osf.org)
+
+	* decrose.h (*_SPEC): Compress some whitespace in the specs.  Also,
+	simpify which LANGUAGE_xxx names are defined, to be the ones uses by
+	the system(s).
+	* decstatn.h (*_SPEC): Likewise.
+	* iris.h (*_SPEC): Likewise.
+	* mips.h (*_SPEC): Likewise.
+	* mips-bsd.h (*_SPEC): Likewise.
+	* mips-news.h (*_SPEC): Likewise.
+	* mips-sysv.h (*_SPEC): Likewise.
+
+Wed Feb 12 10:34:09 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* caller-save.c (insert_save_restore): Properly check for insns that
+	reference CC0.
+
+Wed Feb 12 03:17:00 1992  Chris Smith  (csmith at convex.com)
+
+	* convex.h (DEFAULT_CALLER_SAVES): don't define, to sidestep a bug.
+	* convex.md (ffssi2): Comment out.
+
+Wed Feb 12 00:08:42 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* make-libgcc2.com: Do not save .s file.
+
+	* vms.h: Wrap #include <stdio.h> in #ifdef L__main/endif
+
+Tue Feb 11 21:58:42 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* libgcc2.c (DO_GLOBAL_DTORS_BODY): New macro.
+
+	* make-l2.com: New file to build libgcc2 on VMS.
+
+	* vms.h (DO_GLOBAL_CTORS_BODY): Replacement definition.
+
+	* vms.h (DO_GLOBAL_DTORS_BODY): Likewise.
+
+	* make-cccp.com: Define bison and rename as local symbols to avoid 
+	possible conflict with user defined global symbols.
+
+Tue Feb 11 22:17:32 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* sched.c (attach_deaths): Don't treat PIC offset table register
+	specially; flow.c doesn't.
+
+	* combine.c (make_compound_operation, case AND): We can have
+	a (and (subreg (lshiftrt ..) ..) ..); handle same as without SUBREG.
+ 
+	* Makefile.in (HOST_CLIB, HOST_ALLOCA, HOST_MALLOC, HOST_OBSTACK): New
+	variables to override.
+	(USE_HOST_*, HOST_LIBDEPS): Use HOST_PREFIX and new variables.
+	(HOST_LIBS): Use HOST_CLIB.
+
+Tue Feb 11 21:32:07 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (install-common-headers): Copy byteorder.h to
+	compilation dir.
+
+	* config.sub: Allow unicos as operating system.
+
+	* m88kv4.h (INIT_SECTION_ASM_OP): Add #progbits.
+
+	* vax.h (DYNAMIC_CHAIN_ADDRESS): New macro.
+
+	* c++: Propagate quoted args properly.
+
+Tue Feb 11 16:35:01 1992  Jim Wilson  (wilson at cygnus.com)
+
+	* fixincludes: Define TERM to `unknown', to ensure that it is
+	valid.  Otherwise, ex may fail.
+	* fixinc.svr4: Likewise.
+
+Tue Feb 11 18:04:32 1992  Michael Meissner  (meissner at osf.org)
+
+	* decrose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
+	LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
+	Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS.
+	* decstatn.h (CPP_SPEC): Likewise.
+	* iris.h (CPP_SPEC): Likewise.
+	* mips-bsd.h (CPP_SPEC): Likewise.
+	* mips-news.h (CPP_SPEC): Likewise.
+	* mips-sysv.h (CPP_SPEC): Likewise.
+
+	* decstatn.h (CPP_PREDEFINES): Eliminate __<name> versions, since
+	gcc will do these automatically.  Eliminate LANGUAGE_C, since it is
+	handled in CPP_SPEC.
+
+Tue Feb 11 15:38:27 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* flow.c (find_basic_blocks): Don't delete labels used in non-jumps.
+
+	* vms.h (DO_GLOBAL_CTORS_BODY): Modify the return address
+	only the first time __main is called.
+
+	* fixinc.svr4: Change headers to test __STRICT_ANSI__ instead of
+	testing __STDC__ != 0.
+
+	* fixinc.svr4 (mman.h): Fix backward __STDC__ conditional.
+	Don't add declarations of munmap and mprotect.
+
+	* varasm.c (output_constant): Allow empty constructor for any type.
+
+	* dwarfout.c (ASM_OUTPUT_DWARF_DATA8): Just one definition;
+	test WORDS_BIG_ENDIAN "at run time".
+
+Tue Feb 11 09:00:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload.c (find_reloads): Don't substitute in MATCH_DUPs if we
+	are not generating replacements.
+
+Tue Feb 11 08:45:14 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88kv4.h ({CTORS,DTORS}_SECTION_ASM_OP): Fix typo.
+
+Mon Feb 10 22:34:47 1992  Chris Smith  (csmith at convex.com)
+
+	* convex.h(HARD_REGNO_NREGS): define correctly for 64-bit regs
+
+Mon Feb 10 21:50:23 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (MIPS_VERSION): Change Meissner version # to 11.
+	(CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
+	LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
+	Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS.
+	(FP_DBX_FIRST): Change the test so that stabs in ECOFF uses the
+	value 38, in addition to stabs in GAS.
+
+	* mips.md (all function units): Make the function units simpler, and
+	not depend on the cpu type, to work around a memory hungry
+	genattrtab, which attempts to grow the data segment to than 32
+	megabytes.
+
+Mon Feb 10 16:34:11 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* convex.h (REAL_VALUE_TRUNCATE): Obsolete definition deleted.
+
+	* config.sub (convex-*): These are BSD, not sysv.
+
+	* dbxout.c (have_used_extensions): New var.
+	(dbxout_type, dbxout_type_fields, dbxout_symbol):
+	Set have_used_extensions when use an extension.
+	(dbxout_symbol): Don't use `Tt' extension unless extensions
+	have been used.
+
+Mon Feb 10 12:28:59 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* xm-a29k-ult.h: Fix typo in placement of copyright notice.
+
+Mon Feb 10 05:36:45 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_type): Don't use GDB extensions if they are empty.
+
+Mon Feb 10 00:10:20 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-class.c (finish_struct): Use DECL_CHAIN, not TREE_CHAIN to walk
+	through the list of methods identified by a visibility declaration.
+
+	* cp-cvt.c (convert_pointer_to): No longer need to abort if BINFO is
+	not a TREE_VEC or AGGR_TYPE node.
+
+	* cp-parse.y (stmt): Improve error handling for try/except.
+
+	* cp-class.c (add_method): If we create RTL for a copy of METHOD,
+	copy the RTL to METHOD's DECL_RTL slot.
+
+	* cp-method.c (dump_type): Print `const' and/or `volatile' for
+	VOID_TYPE and REAL_TYPEs, too.
+
+Sun Feb  9 21:07:45 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* varasm.c (assemble_integer): Pass third arg in recursive calls.
+	Act appropriately if word-by-word loop doesn't finish.
+
+	* Makefile.in (bootstrap*): Don't override value of ALLOCA.
+
+	* dbxout.c (dbxout_symbol, dbxout_parms): Do leaf function remap
+	only if LEAF_REG_REMAP and only in leaf functions.
+
+Sun Feb  9 16:46:27 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-init.c (maybe_adjust_addr_for_delete): Build final COND_EXPR
+	with TREE_TYPE (addr).
+
+Sun Feb  9 14:20:49 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* rs6000.h (rs6000_{bss,private_data,read_only}_section_name):
+	Add declarations.
+	(rs6000_text_section_asm_op): Deleted.
+	(ASM_FILE_START): Initialize section names and enter bss section once.
+	(EXTRA_SECTIONS): Add `private_data' and `bss';
+	delete `global_variable'..
+	(read_only_data_section): Don't form name here.
+	(global_variable_section): Deleted.
+	(private_data_section, bss_section): New functions.
+	(ASM_DECLARE_FUNCTION_NAME): Don't write function name with [PR].
+	(ASM_OUTPUT_POLL_PROLOGUE): No longer needed.
+	(SELECT_{RTX_,}SECTION): Just calls data_section or
+	private_data_section.
+	(ASM_OUTPUT_LOCAL): Put in bss section.
+	(TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Now a constant.
+	* rs6000.c (rs6000_text_section_asm_op): Deleted.
+	(rs6000_{bss,private_data,read_only}_section_name): Add definitions.
+	(rs6000_gen_section_name): New function.
+
+Sun Feb  9 08:29:21 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.h (REGNO_REG_CLASS): Use a lookup table: AIX can't handle
+	complex tertiary expressions.
+	(GO_IF_LEGITIMATE_ADDRESS): Simplify slightly for the AIX
+	compiler.
+
+	* i386.c (regclass_map): New variable.  Lookup array for
+	REGNO_REG_CLASS.
+
+Sat Feb  8 01:20:33 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cp-parse.y (yyprint): Test __GNUC__, not __GNU__.
+	Use __inline, like everywhere else.
+
+	* a29k.h, romp.h (OVERRIDE_OPTIONS): Deleted.
+	(OPTIMIZATION_OPTIONS): Defined, instead.
+	* rs6000.h (OPTIMIZATION_OPTIONS): New macro.
+	(OVERRIDE_OPTIONS): Don't change optimization.
+
+	* final.c (leaf_renumber_regs_insn): No longer static.
+	* dbxout.c (dbxout_symbol, dbxout_parms): Call that.
+
+	* c-decl.c (lookup_name): Do nothing special if type is error mark.
+	(grokdeclarator): Ignore putative type name whose type is error mark.
+	* c-parse.y (primary): If var type is error mark, return error mark.
+
+	* c-typeck.c (build_array_ref): Return early if arg is error mark.
+
+	* Makefile.in (test-protoize): Rule deleted.
+
+	* stmt.c (emit_case_nodes): Handle just-left-subtree case
+	like just-right-subtree--delete mysterious code that tests cost_table.
+
+	* varasm.c (decode_reg_name): Accept decimal number as reg name.
+
+	* c-decl.c (finish_decl): If pop_obstacks goes to perm obstack,
+	call permanent_allocation.
+
+	* gcc.c (link_command_spec): Use -lgcc, not libgcc.a.
+
+Fri Feb  7 16:56:17 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
+
+	* rs6000.h (DOLLARS_IN_IDENTIFIERS): Define to zero, because the
+	assembler does not accept dollar signs.
+
+Fri Feb  7 15:36:40 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (mostlyclean): Fix name of tmp-proto.1.
+
+	* configure: Delete excess space in assignment to srcdir.
+
+	* cp-decl2.c (DOLLARS_IN_IDENTIFIERS): Default now 1, as in C.
+
+	* i386gas.h (ASM_OUTPUT_LOOP_ALIGN): New macro.
+	(ASM_OUTPUT_ALIGN_CODE): Use 16-byte boundary on 486.
+
+	* m68k.h (TRANSFER_FROM_TRAMPOLINE): Use operands for the memrefs
+	to avoid dependence on assembler syntax.
+
+Fri Feb  7 10:26:32 1992  Michael Meissner  (meissner at osf.org)
+
+	* Makefile.in (EXTRA_OBJS): New variable for extra object files
+	needed when linking cc1, cc1plus, and cc1objc.
+
+Fri Feb  7 07:34:03 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reload1.c (set_label_offsets, reload_as_needed): Recompute
+	num_not_at_initial_offset when we pick up offsets from offsets_at.
+
+	* unroll.c (unroll_loop): Copy initial and final values to avoid
+	sharing.
+	
+	* cse.c (simplify_relational_operation): Complete last change by
+	correctly handling <= and >=.
+
+Thu Feb  6 23:57:02 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* cp-decl.c (grokdeclarator): Invert sense of warning about
+	initialized extern vars, since in C++, const has funny semantics.
+
+Thu Feb  6 15:12:02 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cse.c (simplify_relational_operation): Test properly for floating
+	equality; don't deduce this from < and >.
+
+	* xm-mips.h (alloca): Don't define or declare if MIPS_OVERRIDE_ALLOCA.
+	* xm-irix4.h (MIPS_OVERRIDE_ALLOCA): Defined.
+
+	* m68k.h (TRANSFER_FROM_TRAMPOLINE): Use explicit reg var
+	to avoid dependence on register name syntax.
+
+	* mot3300.h (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM):
+	New macros.
+	(PUT_SDB_DIM): Deleted.
+	(PRINT_OPERAND): Handle %$ and %&.
+	(ASM_OUTPUT_OPCODE): Handle f%$move and f%&move.
+
+	* gstdarg.h: If not __GNUC__, use system's stdarg.h.
+
+Thu Feb  6 22:36:36 1992    (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+	* vms.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
+
+Thu Feb  6 13:32:37 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.h (MIPS_VERSION): Set Meissner version # to 10.
+	(flag_half_pic, mips_branch_likely): New global variables.
+	(call_memory_operand): New function declaration.
+	(half_pic_encode_section_info): Likewise.
+	(mips_constant_address_p): Likewise.
+	(mips_debugger_offset): Likewise.
+	(CC1_SPEC): Make OSF/1 -pic-xxx switches to -mhalf-pic, which is
+	currently undergoing development.
+	(DEBUGGER_AUTO_OFFSET): Emit correct information if frame pointer is
+	omitted.
+	(DEBUGGER_ARG_OFFSET): Likewise.
+	(TARGET_SWITCHES): Add -mabicalls and -mhalf-pic switches.
+	(PIC_OFFSET_TABLE_REGNUM): Define as the GP register ($28).
+	(EXTRA_CONSTRAINT): Add 'S' constraint for half-pic references.
+	(CONSTANT_ADDRESS_P): Call mips_constant_address_p.
+	(ENCODE_SECTION_INFO): Reorder test to test optimize first, and to
+	call half_pic_encode_section_info if half pic.
+	(PREDICATE_CODES): Add call_memory_operand.
+
+	* mips.c (flag_half_pic): New global variable to indicate to produce
+	half-pic output for OSF/rose.
+	(mips_branch_likely): New global variable to indicate the branch
+	should use the branch likely form of the instruction.
+	(mips_sw_reg_names): Use $fp instead of fp, since regdef.h no longer
+	defines fp.
+	(call_memory_operand): New function to return TRUE if the argument
+	is a valid MEM for a call instruction.
+	(mips_move_1word): Emit comment in la of half-pic addresses as a
+	temporary flag to put the right code down.
+	(mips_constant_address): New function to determine if something is a
+	constant address or not.  Add stub code for -mhalf-pic.
+	(override_options): Set flag_half_pic if -mhalf-pic.
+	(override_options): Mark %? as valid for print_operand.
+	(mips_debugger_offset): New function to correct the offset for
+	variables and arguments if the frame pointer has been omitted.
+	(print_operand): %? now emits a 'l' if mips_branch_likeley is set.
+	(mips_asm_file_start, function_prologue): If -mabicalls, emit the
+	pseudo ops that the Pyramid System V.4 port seems to want.
+	(compute_frame_size): Reserve space for saving GP if -mabicalls.
+	(half_pic_encode_section_info): Stub function for encoding whether
+	or not to generate a half pic reference.
+
+	* mips.md (type attribute): Add pic attribute.
+	(cpu attribute): New attribute to get the CPU type.
+	(branch_likely attribute): New attribute to say whether or not we
+	can use branch likely instructions.
+	(define_delay): Note that we can annull false branches if -mips2.
+	(memory function unit): Add pic in addition to load.
+	(various function units): Use the cpu attribute.
+	(branch patterns): Support branch likely instructions if -mips2.
+	(call, call_internal): Use call_memory_operand instead of
+	memory_operand.  If -mhalf-pic put function address in a register.
+	(call_value, call_value_internal): Likewise.
+
+	* decrose.h (INIT_SECTION_ASM_OP): Define as .init.
+
+Thu Feb  6 10:07:17 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.c (preserve_registers): Change to walk the epilogue delay
+	insns in the forward rather than reverse order (for reorg.c change).
+
+Thu Feb  6 02:54:28 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cse.c (simplify_binary_operation, case PLUS): Don't make
+	a (const (plus X Y)) with X a CONST_INT.
+
+	* fixincludes: Simplify egrep command.
+
+Thu Feb  6 01:11:28 1992  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-lex.c (process_next_inline): if we get a "parse error at end of
+	saved function text", set yychar to something that
+	restore_pending_input will digest (if it thinks input is still
+	pending, it will abort, but we've already reported the problem to
+	the user.)
+
+Wed Feb  5 18:42:56 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* reorg.c (fill_simple_delay_slots): When filling delay slots by
+	searching backward, put each new insn we find at the head of the
+	delay list instead of at the tail.
+
+	* cse.c (fold_rtx): When associating operations, avoid infinite
+	recursion if the new expression contains our operand.
+
+Wed Feb  5 21:18:06 1992  Mark Eichin  (eichin at cygnus.com)
+
+	* cp-decl.c (globalize_nested_type): If the type isn't found at all,
+	this is an anonymous forward reference, so permit it.
+	Abort if type is already globally defined.
+
+Wed Feb  5 18:01:12 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* varasm.c, hp800.h, i386.h, m88k.h, mips.h, romp.h, vms.h:
+	(ENCODE_SECTION_INFO): Renamed from ENCODE_SEGMENT_INFO.
+
+	* sparc.md (nonlocal_goto): Copy static chain into
+	virtual_stack_vars_rtx, not frame pointer itself.
+	(nonlocal goto return recognizer): Jump to %o0+0.
+
+	* toplev.c (main): Fix test for -Wid-clash.
+
+Wed Feb  5 16:58:15 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (dwarfout_init):  Add two words containing the starting
+	and ending address of the .text section for this compilation unit to
+	the special initial entry in the .debug_srcinfo section.
+
+Tue Feb  4 14:51:16 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* dbxout.c (dbxout_symbol): Handle DBX_OUTPUT_CONSTANT_SYMBOL.
+	(dbxout_block): Handle DBX_OUTPUT_CATCH.
+
+	* cccp.c (lookup_import, add_import, do_include):
+	Use bcmp and bcopy to access st_ino and ->inode fields.
+
+	* dbxout.c (dbxout_init): Pass syms to DBX_OUTPUT_STANDARD_TYPES.
+
+	* fold-const.c (operand_equal_p): Check that modes match.
+	(comparison_equiv_p): New function.
+	(fold): Use that when converting ?: to min_expr or max_expr.
+
+	* c-common.c (c_expand_expr_stmt): Test for ERROR_MARK as type.
+
+Tue Feb  4 12:03:26 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* stmt.c (expand_end_case): Don't crash if function called
+	is not an ADDR_EXPR.
+
+Tue Feb  4 14:17:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* expr.h ({float[sd]i[sd]f,fix[sd]f[sd]i,fixuns[sd]f[sd]i}_libfunc):
+	New declarations.
+	* optabs.c: Define them.
+	(expand_float, expand_fix): Use them instead of making a new
+	SYMBOL_REF each call.
+	(init_optabs): Initialize them.
+
+Tue Feb  4 00:27:35 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* Makefile.in (protoize.1, unprotoize.1): Rename temp files < 14 chrs.
+
+	* cccp.c (skip_if_group): Make unknown cmd name a pedantic warning.
+
+Mon Feb  3 18:10:41 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
+
+	* romp.h (LEGITIMATE_CONSTANT_P, ENCODE_SEGMENT_INFO): Use
+	SYMBOL_REF_FLAG.
+
+	* x-romp-mach: New file.
+	* configure (romp-*-mach*): New alternative.
+
+Mon Feb  3 16:43:55 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* cp-typeck.c (warn_for_assignment): Print arg num in origin 1.
+
+	* sparc.md (nonlocal_goto trap recognizer): Fix opcode spelling.
+
+	* function.c (fix_lexical_addr): Properly search for correct display.
+
+	* romp.h (OVERRIDE_OPTIONS): Don't set flag_omit_frame_pointer.
+
+Mon Feb  3 11:11:58 1992  Michael Tiemann  (tiemann at cygnus.com)
+
+	* gcc.c (@c++-cpp-output): Delete extraneous "}}}" at the end of the
+	rule.
+
+Mon Feb  3 11:38:19 1992  Ron Guilmette  (rfg at ncd.com)
+
+	* dwarfout.c (dwarfout_init):  Generate an initial 2-word entry in the
+	.debug_srcinfo section containing the addresses of the starts of the
+	.line and .debug_sfnames sections.  Generate it after the initial entry
+	for the .line section.
+
+	* dwarfout.c [DWARF_TIMESTAMPS]: Ensure time_t and time declared.
+	(dwarfout_init):  Make third word of initial .debug_srcinfo entry be
+	the compilation date/time if DWARF_TIMESTAMPS is defined, or else -1.
+
+	* dwarfout.c (dwarfout_init):  Output compilation directory name as
+	the first thing in the .debug_sfnames section.
+
+Mon Feb  3 04:12:51 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* Makefile.in (install-dir): `parent' is a shell variable.
+
+Mon Feb  3 09:43:51 1992  Tom Wood  (wood at dg-rtp.dg.com)
+
+	* m88k.h (EXTRA_SECTIONS): Use init and fini sections from svr3.h,
+	but only when using svr3.h.
+
+Sun Feb  2 19:50:29 1992  James Van Artsdalen  (james at bigtex.cactus.org)
+
+	* i386.h (ADDRESS_COST): New macro.
+
+Sun Feb  2 17:08:47 1992  Michael Meissner  (meissner at osf.org)
+
+	* mips.c (simple_memory_operand): Don't recognize references to
+	variables in .sdata or .sbss, which has the effect of not putting
+	stores into delay slots.  This fixes a bug and also doesn't temp the
+	MIPS linker from trying to put 4 instructions into the delay slot
+	when it rewrites the function as a PIC function.
+
+Sun Feb  2 16:58:11 1992  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
+
+	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Do ON_EXIT last.
+
+	* Makefile.in (install-dir):  Create the parent of mandir if nec.
+
+	* real.h (REAL_VALUE_TRUNCATE): sizeof says what cast to float does.
+
+	* dbxout.c (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): New parameter macro.
+	(DBX_OUTPUT_MAIN_SOURCE_FILENAME, DBX_OUTPUT_SOURCE_FILENAME):
+	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
+	These are used in place of ASM_...
+	* newpbb.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Macro re