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