                            GCC 3.0 New Features
                                      
     * General Optimizer Improvements:
          + [1]Basic block reordering pass.
          + New if-conversion pass with support for conditional
            (predicated) execution.
          + New tail call and sibling call elimination optimizations.
          + New register renaming pass.
          + New (experimental) [2]static single assignment (SSA)
            representation support.
          + New dead-code elimination pass implemented using the SSA
            representation.
          + [3]Global null pointer test elimination.
          + [4]Global code hoisting/unification.
          + More builtins and optimizations for stdio.h, string.h and old
            BSD functions, as well as for ISO C99 functions.
          + New builtin __builtin_expect for giving hints to the branch
            predictor.
     * New Languages and Language specific improvements:
          + The GNU Compiler for the Java(TM) language (GCJ) is now
            integrated and supported, including the run-time library
            containing most common non-GUI Java classes, a bytecode
            interpreter, and the Boehm conservative garbage collector.
            Many bugs have been fixed. GCJ can compile Java source or
            Java bytecodes to either native code or Java class files, and
            supports native methods written in either the standard JNI or
            the more efficient and convenient CNI.
          + New C++ ABI. On the IA-64 platform GCC is capable of
            inter-operating with other IA-64 compilers.
          + The new ABI also significantly reduces the size of symbol and
            debug information.
          + New [5]C++ support library and many C++ bug fixes, vastly
            improving our conformance to the ISO C++ standard.
          + New [6]inliner for C++.
          + Rewritten C preprocessor, integrated into the C, C++ and
            Objective C compilers, with very many improvements including
            ISO C99 support and [7]improvements to dependency generation.
          + Support for more [8]ISO C99 features.
          + Many improvements to support for checking calls to format
            functions such as printf and scanf, including support for ISO
            C99 format features, extensions from the Single Unix
            Specification and GNU libc 2.2, checking of strfmon formats
            and features to assist in auditing for format string security
            bugs.
          + New warnings for C code that may have undefined semantics
            because of violations of sequence point rules in the C
            standard (such as a = a++;, a[n] = b[n++]; and a[i++] = i;),
            included in -Wall.
          + Additional warning option -Wfloat-equal.
          + Improvements to -Wtraditional.
          + Fortran improvements are listed in [9]the Fortran
            documentation.
     * New Targets and Target Specific Improvements:
          + New x86 back-end, generating much improved code.
          + Support for a generic i386-elf target contributed.
          + New option to emit x86 assembly code using Intel style syntax
            (-mintel-syntax).
          + HPUX 11 support contributed.
          + Improved PowerPC code generation, including scheduled
            prologue and epilogue.
          + Port of gcc to Intel's IA-64 processor contributed.
          + Port of gcc to Motorola's MCore 210 and 340 contributed.
          + New unified back-end for Arm, Thumb and StrongArm
            contributed.
          + Port of gcc to Intel's XScale processor contributed.
          + Port of gcc to Atmel's AVR microcontrollers contributed.
          + Port of gcc to Mitsubishi's D30V processor contributed.
          + Port of gcc to Matsushita's AM33 processor (a member of the
            MN10300 processor family) contributed.
          + Port of gcc to Fujitsu's FR30 processor contributed.
          + Port of gcc to Motorola's 68HC11 and 68HC12 processors
            contributed.
          + Port of gcc to Sun's picoJava processor core contributed.
     * Documentation improvements:
          + Substantially rewritten and improved C preprocessor manual.
          + Many improvements to other documentation.
          + Manpages for gcc, cpp and gcov are now generated
            automatically from the master Texinfo manual, eliminating the
            problem of manpages being out of date. (The generated
            manpages are only extracts from the full manual, which is
            provided in Texinfo form, from which info, HTML, other
            formats and a printed manual can be generated.)
          + Generated info files are included in the release tarballs
            alongside their Texinfo sources, avoiding problems on some
            platforms with building makeinfo as part of the GCC
            distribution.
     * Other significant improvements:
          + Garbage collection used internally by the compiler for most
            memory allocation instead of obstacks.
          + Lengauer and Tarjan algorithm used for computing dominators
            in the CFG. This algorithm can be significantly faster and
            more space efficient than our older algorithm.
          + gccbug script provided to assist in submitting bug reports to
            the GCC GNATS bug tracking database. (Bug reports previously
            submitted directly to the GCC mailing lists, for which no
            GNATS bug tracking number has been received, should be
            submitted again to the bug tracking database using gccbug if
            you can reproduce the problem with GCC 3.0.)
          + The internal libgcc library is [10]built as a shared library
            on systems that support it.
          + Extensive testsuite included with GCC, with many new tests.
            In addition to tests for GCC bugs that have been fixed, many
            tests have been added for language features, compiler
            warnings and builtin functions.
          + Additional language-independent warning options -Wpacked,
            -Wpadded, -Wunreachable-code and -Wdisabled-optimization.
          + Target-independent options -falign-functions, -falign-loops
            and -falign-jumps.
     * Plus a great many bugfixes and almost all the [11]features found
       in GCC 2.95.
     _________________________________________________________________
   
   
    Please send FSF & GNU inquiries & questions to [12]gnu@gnu.org.
    There are also [13]other ways to contact the FSF.
    These pages are maintained by [14]The GCC team.
    Please send comments on these web pages and GCC to
    [15]gcc@gcc.gnu.org, send other questions to [16]gnu@gnu.org.
    Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
    Suite 330, Boston, MA 02111, USA.
    Verbatim copying and distribution of this entire article is
    permitted in any medium, provided this notice is preserved.
    Last modified 2001-06-13.

References

   1. http://gcc.gnu.org/news/reorder.html
   2. http://gcc.gnu.org/news/ssa.html
   3. http://gcc.gnu.org/news/null.html
   4. http://gcc.gnu.org/news/unify.html
   5. http://gcc.gnu.org/libstdc++/
   6. http://gcc.gnu.org/news/inlining.html
   7. http://gcc.gnu.org/news/dependencies.html
   8. http://gcc.gnu.org/gcc-3.0/c99status.html
   9. http://gcc.gnu.org/onlinedocs/g77_news.html
  10. http://gcc.gnu.org/gcc-3.0/libgcc.html
  11. http://gcc.gnu.org/gcc-2.95/features.html
  12. mailto:gnu@gnu.org
  13. http://www.gnu.org/home.html#ContactInfo
  14. http://gcc.gnu.org/about.html
  15. mailto:gcc@gcc.gnu.org
  16. mailto:gnu@gnu.org
======================================================================
http://gcc.gnu.org/gcc-3.0/caveats.html

                              GCC 3.0 Caveats
                                      
     * Enumerations are now properly promoted to int in function
       parameters and function returns. Normally this change is not
       visible, but when using -fshort-enums this is an ABI change.
     * The undocumented extension that allowed C programs to have a label
       at the end of a compound statement has been deprecated and may be
       removed in a future version. Programs that now generate a warning
       about this may be fixed by adding a null statement (a single
       semicolon) after the label.
     * The poorly documented extension that allowed string constants in
       C, C++ and Objective C to contain unescaped newlines has been
       deprecated and may be removed in a future version. Programs using
       this extension may be fixed in several ways: the bare newline may
       be replaced by \n, or preceded by \n\, or string concatenation may
       be used with the bare newline preceded by \n" and " placed at the
       start of the next line.
     * The Chill compiler is not included in GCC 3.0, because of the lack
       of a volunteer to convert it to use garbage collection.
     * Certain non-standard iostream methods from earlier versions of
       libstdc++ are not included in libstdc++ v3, i.e. filebuf::attach,
       ostream::form, and istream::gets. Here are workaround hints for:
       [1]ostream::form, [2]filebuf::at tach.
     _________________________________________________________________
   
   
    Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There
    are also [4]other ways to contact the FSF.
    These pages are maintained by [5]The GCC team.
    Please send comments on these web pages and GCC to
    [6]gcc@gcc.gnu.org, send other questions to [7]gnu@gnu.org.
    Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
    Suite 330, Boston, MA 02111, USA.
    Verbatim copying and distribution of this entire article is
    permitted in any medium, provided this notice is preserved.
    Last modified 2001-06-13.

References

   1. http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html
   2. http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html
   3. mailto:gnu@gnu.org
   4. http://www.gnu.org/home.html#ContactInfo
   5. http://gcc.gnu.org/about.html
   6. mailto:gcc@gcc.gnu.org
   7. mailto:gnu@gnu.org
======================================================================
http://gcc.gnu.org/gcc-2.95/gcc-2.95.3.html
