GCC 2.95

July 31, 1999

The GNU project and the GCC/EGCS developers are pleased to announce the release of GCC version 2.95. GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection.

This is the first release of GCC since the April 1999 GCC/EGCS reunification and includes nearly a year's worth of new development and bugfixes.

The whole suite has been extensively regression tested and package tested. It should be reliable and suitable for widespread use.

The compiler has several new optimizations, new targets, new languages and other new features. See the new features page for a more complete list of new features found in the GCC 2.95 releases.

The sources include installation instructions in both HTML and plaintext forms in the install directory in the distribution. However, the most up to date installation instructions and build/test status are on the web pages. We will update those pages as new information becomes available.

The GCC developers would like to thank the numerous people that have contributed new features, test results, bugfixes, etc to GCC. This amazing group of volunteers is what makes GCC successful.

And finally, we can't in good conscience fail to mention some caveats to using GCC 2.95.

Download GCC 2.95 from the GNU FTP server (ftp://ftp.gnu.org)
Download GCC 2.95 from the GCC/EGCS FTP server (ftp://go.cygnus.com)
Find a GNU mirror site
Find a GCC/EGCS mirror site

For additional information about GCC please see the GCC project web server or contact the GCC development mailing list.

GCC 2.95 New Features


From: Jeffrey A Law <l...@cygnus.com>
Subject: gcc-2.95.1
Date: 1999/08/21
Message-ID: <99-08-086@comp.compilers>
X-Deja-AN: 515402378
Approved: compil...@iecc.com
Sender: jo...@iecc.com
X-submission-address: compil...@iecc.com
X-moderator-address: compilers-requ...@iecc.com
Organization: Compilers Central
Keywords: GCC, available
Reply-To: l...@cygnus.com
Newsgroups: comp.compilers
X-FAQ-and-archives: http://www.iecc.com/compilers

                                 GCC 2.95.1

   August 19, 1999

   The GNU project and the GCC/EGCS developers are pleased to announce
   the release of GCC version 2.95.1. GCC used to stand for the GNU C
   Compiler, but since the compiler supports several other languages
   aside from C, it now stands for the GNU Compiler Collection.

   This is a minor release to address several bugs in the GCC version
   2.95 release.

     * Generic bugfixes and improvements
          + Various documentation fixes related to the GCC/EGCS merger.
          + Fix memory management bug which could lead to spurious
            aborts, core dumps or random parsing errors in the compiler.
          + Fix a couple bugs in the dwarf1 and dwarf2 debug record
            support.
          + Fix infinite loop in the CSE optimizer.
          + Avoid undefined behavior in compiler FP emulation code
          + Fix install problem when prefix is overridden on the make
            install command.
          + Fix problem with unwanted installation of assert.h on some
            systems.
          + Fix problem with finding the wrong assembler in a single tree
            build.
          + Avoid increasing the known alignment of a register that is
            already known to be a pointer.
     * Platform specific bugfixes and improvements
          + Codegen bugfix for prologue/epilogue for cpu32 target.
          + Fix long long code generation bug for the Coldfire target.
          + Fix various aborts in the SH compiler.
          + Fix bugs in libgcc support library for the SH.
          + Fix alpha ev6 code generation bug.
          + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
            AIX platforms.
          + Fix -fpic code generation bug for rs6000/ppc svr4 targets.
          + Fix varargs/stdarg code generation bug for rs6000/ppc svr4
            targets.
          + Fix weak symbol handling for rs6000/ppc svr4 targets.
          + Fix various problems with 64bit code generation for the
            rs6000/ppc port.
          + Fix codegen bug which cuased tetex to be mis-compiled on the
            x86
          + Fix compiler abort in new cfg code exposed by x86 port.
          + Fix out of range array reference in code convert flat
            registers to the x87 stacked FP register file.
          + Fix minor vxworks configuration bug
          + Fix return type of bsearch for SunOS 4.x.
     * Language & Runtime specific fixes.
          + The G++ signature extension has been deprecated. It will be
            removed in the next major release of G++. Use of signatures
            will result in a warning from the compiler.
          + Several bugs relating to templates and namespaces were fixed.
          + A bug that caused crashes when combining templates with -g on
            DWARF1 platforms was fixed.
          + Pointers-to-members, virtual functions, and multiple
            inheritance should now work together correctly.
          + Some code-generation bugs relating to function try blocks
            were fixed.
          + G++ is a little bit more lenient with certain archaic
            constructs than in GCC 2.95.
          + Fix to prevent shared library version #s from bring truncated
            to 1 digit
          + Fix missing std:: in the libstdc++ library.
          + Fix stream locking problems in libio.
          + Fix problem in java compiler driver.

   The whole suite has been extensively [1]regression tested and
   [2]package tested. It should be reliable and suitable for widespread
   use.

   The compiler has several new optimizations, new targets, new languages
   and other new features. See the [3]new features page for a more
   complete list of new features found in the GCC 2.95 releases.

   The sources include installation instructions in both HTML and
   plaintext forms in the install directory in the distribution. However,
   the most up to date [4]installation instructions and [5]build/test
   status are on the web pages. We will update those pages as new
   information becomes available.

   The GCC developers would like to thank the numerous people that have
   contributed new features, test results, bugfixes, etc to GCC. This
   [6]amazing group of volunteers is what makes GCC successful.

   And finally, we can't in good conscience fail to mention some
   [7]caveats to using GCC 2.95.1.

   Download GCC 2.95.1 from the [8]GNU FTP server (ftp://ftp.gnu.org)
   Download GCC 2.95.1 from the [9]GCC/EGCS FTP server
   (ftp://go.cygnus.com)
   [10]Find a GNU mirror site
   [11]Find a GCC/EGCS mirror site

   For additional information about GCC please see the [12]GCC project
   web server or contact the [13]GCC development mailing list.
     _________________________________________________________________

   Last modified on August 19, 1999.

References

   1. http://www.gnu.org/software/gcc/gcc-2.95/regress.html
   2. http://www.gnu.org/software/gcc/gcc-2.95/othertest.html
   3. http://www.gnu.org/software/gcc/gcc-2.95/features.html
   4. http://www.gnu.org/software/gcc/install/index.html
   5. http://www.gnu.org/software/gcc/gcc-2.95/buildstat.html
   6. http://www.gnu.org/software/gcc/thanks.html
   7. http://www.gnu.org/software/gcc/gcc-2.95/caveats.html
   8. ftp://ftp.gnu.org/pub/gnu/gcc/
   9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
  10. http://www.gnu.org/order/ftp.html
  11. http://www.gnu.org/software/gcc/mirrors.html
  12. http://www.gnu.org/software/gcc/index.html
  13. mailto:g...@gcc.gnu.org

From: Jeffrey A Law <l...@cygnus.com>
Subject: gcc-2.95.2
Date: 1999/10/29
Message-ID: <99-10-154@comp.compilers>
X-Deja-AN: 541957252
Approved: compil...@iecc.com
Sender: jo...@iecc.com
X-submission-address: compil...@iecc.com
X-moderator-address: compilers-requ...@iecc.com
Organization: Compilers Central
Keywords: C, C++, GCC
Reply-To: l...@cygnus.com
Newsgroups: comp.compilers
X-FAQ-and-archives: http://www.iecc.com/compilers

                                 GCC 2.95.2

   October 27, 1999

   The GNU project and the GCC developers are pleased to announce the
   release of GCC version 2.95.2. GCC used to stand for the GNU C
   Compiler, but since the compiler supports several other languages
   aside from C, it now stands for the GNU Compiler Collection.

   This is a minor release to address several bugs in the GCC version
   2.95.1 release.

   The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
   the optimizations performed by -fstrict-aliasing are valid according
   to the C and C++ standards, the optimization have caused some
   problems, particularly with old non-conforming code.

   The GCC developers are experimenting with ways to warn users about
   code which violates the C/C++ standards, but those warnings are not
   ready for widespread use at this time. Rather than wait for those
   warnings the GCC developers have choosen to disable -fstrict-aliasing
   by default for the GCC 2.95.2 release.

   We strongly encourage developers to find and fix code which violates
   the C/C++ standards as -fstrict-aliasing may be enabled by default in
   future releases. Use the option -fstrict-aliasing to re-enable these
   optimizations.

     * Generic bugfixes and improvements
          + Fix incorrectly optimized memory reference in global common
            subexpression elimination (GCSE) optimization pass.
          + Fix code generation bug in regmove.c in which it could
            incorrectly change a "const" value.
          + Fix bug in optimization of conditionals involving volatile
            memory references.
          + Avoid over-allocation of stack space for some procedures.
          + Fixed bug in the compiler which caused incorrect optimization
            of an obscure series of bit manipulations, shifts and
            arithmetic.
          + Fixed register allocator bug which caused teTeX to be
            mis-compiled on Sparc targets.
          + Avoid incorrect optimization of degenerate case statements
            for certain targets such as the ARM.
          + Fix out of range memory reference in the jump optimizer.
          + Avoid dereferencing null pointer in fix-header.
          + Fix test for GCC specific features so that it is possible to
            bootstrap with gcc-2.6.2 and older versions of GCC.
          + Fix typo in scheduler which could potentially cause out of
            range memory accesses.
          + Avoid incorrect loop reversal which caused incorrect code for
            certain loops on PowerPC targets.
          + Avoid incorrect optimization of switch statements on certain
            targets (for example the ARM).
     * Platform specific bugfixes and improvements
          + Work around bug in Sun V5.0 compilers which caused bootstrap
            comparison failures on Sparc targets.
          + Fix Sparc backend bug which caused aborts in final.c.
          + Fix sparc-hal-solaris2* configuration fragments.
          + Fix bug in sparc block profiling.
          + Fix obscure code generation bug for the PARISC targets.
          + Define __STDC_EXT__ for HPUX configurations.
          + Various POWERPC64 code generation bugfixes.
          + Fix abort for PPC targets using ELF (ex GNU/Linux).
          + Fix collect2 problems for AIX targets.
          + Correct handling of .file directive for PPC targets.
          + Fix bug in fix_trunc x86 patterns.
          + Fix x86 port to correctly pop the FP stack for functions that
            return structures in memory.
          + Fix minor bug in strlen x86 pattern.
          + Use stabs debugging instead of dwarf1 for x86-solaris
            targets.
          + Fix template repository code to handle leading underscore in
            mangled names.
          + Fix weak/weak alias support for OpenBSD.
          + GNU/Linux for the ARM has C++ compatible include files.
     * Language & Runtime specific fixes.
          + Fix handling of constructor attribute in the C front-end
            which caused problems building the Chill runtime library on
            some targets.
          + Fix minor problem merging type qualifiers in the C front-end.
          + Fix aliasing bug for pointers and references (C/C++).
          + Fix incorrect "non-constant initializer bug" when
            -traditional or -fwritable-strings is enabled.
          + Fix build error for Chill front-end on SunOS.
          + Do not complain about duplicate instantiations when using
            -frepo (C++)
          + Fix array bounds handling in C++ front-end which caused
            problems with dwarf debugging information in some
            circumstances.
          + Fix minor namespace problem.
          + Fix problem linking java programs.

   The whole suite has been extensively [1]regression tested and
   [2]package tested. It should be reliable and suitable for widespread
   use.

   The GCC 2.95 release has several new optimizations, new targets, new
   languages and other new features as compared to EGCS 1.1 or GCC 2.8.
   See the [3]new features page for a more complete list of new features
   found in the GCC 2.95 releases.

   The sources include installation instructions in both HTML and
   plaintext forms in the install directory in the distribution. However,
   the most up to date [4]installation instructions and [5]build/test
   status are on the web pages. We will update those pages as new
   information becomes available.

   The GCC developers would like to thank the numerous people that have
   contributed new features, test results, bugfixes, etc to GCC. This
   [6]amazing group of volunteers is what makes GCC successful.

   And finally, we can't in good conscience fail to mention some
   [7]caveats to using GCC 2.95.2.

   Download GCC 2.95.2 from the [8]GNU FTP server (ftp://ftp.gnu.org)
   Download GCC 2.95.2 from the [9]GCC/EGCS FTP server
   (ftp://gcc.gnu.org)
   [10]Find a GNU mirror site
   [11]Find a GCC/EGCS mirror site

   For additional information about GCC please see the [12]GCC project
   web server or contact the [13]GCC development mailing list.
     _________________________________________________________________

   Last modified on October 25, 1999.

References

   1. http://gcc.gnu.org/gcc-2.95/regress.html
   2. http://gcc.gnu.org/gcc-2.95/othertest.html
   3. http://gcc.gnu.org/gcc-2.95/features.html
   4. http://gcc.gnu.org/install/index.html
   5. http://gcc.gnu.org/gcc-2.95/buildstat.html
   6. http://gcc.gnu.org/thanks.html
   7. http://gcc.gnu.org/gcc-2.95/caveats.html
   8. ftp://ftp.gnu.org/pub/gnu/gcc/
   9. ftp://gcc.gnu.org/pub/gcc/releases/index.html
  10. http://www.gnu.org/order/ftp.html
  11. http://gcc.gnu.org/mirrors.html
  12. http://gcc.gnu.org/index.html
  13. mailto:g...@gcc.gnu.org