Jeffrey A Law <law@cygnus.com>
29 Oct 1999 02:28:29 -0400

          From comp.compilers

Related articles
gcc-2.95.2 law@cygnus.com (Jeffrey A Law) (1999-10-29)
| List of all articles for this month |

From: Jeffrey A Law <law@cygnus.com>
Newsgroups: comp.compilers
Date: 29 Oct 1999 02:28:29 -0400
Organization: Compilers Central
Keywords: C, C++, GCC

                                                                  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

          * 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
                    + 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
                    + 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
                    + 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

      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
      [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.


      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:gcc@gcc.gnu.org

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.