diff NEWS @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children 58ad6c70ea60
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/NEWS	Fri Jul 17 14:47:48 2009 +0900
@@ -0,0 +1,10467 @@
+This file contains information about GCC releases which has been generated
+automatically from the online release notes.  It covers releases of GCC
+(and the former EGCS project) since EGCS 1.0, on the line of development
+that led to GCC 3. For information on GCC 2.8.1 and older releases of GCC 2,
+see ONEWS.
+
+======================================================================
+http://gcc.gnu.org/gcc-4.4/index.html
+                           GCC 4.4 Release Series
+
+   April 21, 2008
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 4.4.0.
+
+   This release is a major release, containing new features (as well as
+   many other improvements) relative to GCC 4.3.x.
+
+Release History
+
+   GCC 4.4.0
+          April 21, 2008 ([2]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [3]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [4]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [5]GCC project
+   web site or contact the [6]GCC development mailing list.
+
+   To obtain GCC please use [7]our mirror sites or [8]our SVN server.
+
+   Please send FSF & GNU inquiries & questions to [9]gnu@gnu.org. There
+   are also [10]other ways to contact the FSF.
+
+   These pages are maintained by [11]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [12]GCC manuals. If that fails, the
+    [13]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org.
+    All of our lists have [16]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-04-21 [17]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-4.4/changes.html
+   3. http://gcc.gnu.org/gcc-4.4/buildstat.html
+   4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   5. http://gcc.gnu.org/index.html
+   6. mailto:gcc@gcc.gnu.org
+   7. http://gcc.gnu.org/mirrors.html
+   8. http://gcc.gnu.org/svn.html
+   9. mailto:gnu@gnu.org
+  10. http://www.gnu.org/home.html#ContactInfo
+  11. http://gcc.gnu.org/about.html
+  12. http://gcc.gnu.org/onlinedocs/
+  13. mailto:gcc-help@gcc.gnu.org
+  14. mailto:gcc@gnu.org
+  15. mailto:gcc@gcc.gnu.org
+  16. http://gcc.gnu.org/lists.html
+  17. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.4/changes.html
+                           GCC 4.4 Release Series
+                      Changes, New Features, and Fixes
+
+Caveats
+
+     * __builtin_stdarg_start has been completely removed from GCC.
+       Support for <varargs.h> had been deprecated since GCC 4.0. Use
+       __builtin_va_start as a replacement.
+     * Some of the errors issued by the C++ front end that could be
+       downgraded to warnings in previous releases by using -fpermissive
+       are now warnings by default. They can be converted into errors by
+       using -pedantic-errors.
+     * Use of the cpp assertion extension will now emit a warning when
+       -Wdeprecated or -pedantic is used. This extension has been
+       deprecated for many years, but never warned about.
+     * Packed bit-fields of type char were not properly bit-packed on many
+       targets prior to GCC 4.4. On these targets, the fix in GCC 4.4
+       causes an ABI change. For example there is no longer a 4-bit
+       padding between field a and b in this structure:
+    struct foo
+    {
+      char a:4;
+      char b:8;
+    } __attribute__ ((packed));
+       There is a new warning to help identify fields that are affected:
+    foo.c:5: note: Offset of packed bit-field 'b' has changed in GCC 4.4
+       The warning can be disabled with -Wno-packed-bitfield-compat.
+     * On ARM EABI targets, the C++ mangling of the va_list type has been
+       changed to conform to the current revision of the EABI. This does
+       not affect the libstdc++ library included with GCC.
+     * The SCOUNT and POS bits of the MIPS DSP control register are now
+       treated as global. Previous versions of GCC treated these fields as
+       call-clobbered instead.
+     * The MIPS port no longer recognizes the h asm constraint. It was
+       necessary to remove this constraint in order to avoid generating
+       unpredictable code sequences.
+       One of the main uses of the h constraint was to extract the high
+       part of a multiplication on 64-bit targets. For example:
+    asm ("dmultu\t%1,%2" : "=h" (result) : "r" (x), "r" (y));
+       You can now achieve the same effect using 128-bit types:
+    typedef unsigned int uint128_t __attribute__((mode(TI)));
+    result = ((uint128_t) x * y) >> 64;
+       The second sequence is better in many ways. For example, if x and y
+       are constants, the compiler can perform the multiplication at
+       compile time. If x and y are not constants, the compiler can
+       schedule the runtime multiplication better than it can schedule an
+       asm statement.
+     * Support for a number of older systems and recently unmaintained or
+       untested target ports of GCC has been declared obsolete in GCC 4.4.
+       Unless there is activity to revive them, the next release of GCC
+       will have their sources permanently removed.
+       The following ports for individual systems on particular
+       architectures have been obsoleted:
+          + Generic a.out on IA32 and m68k (i[34567]86-*-aout*,
+            m68k-*-aout*)
+          + Generic COFF on ARM, H8300, IA32, m68k and SH (arm-*-coff*,
+            armel-*-coff*, h8300-*-*, i[34567]86-*-coff*, m68k-*-coff*,
+            sh-*-*). This does not affect other more specific targets
+            using the COFF object format on those architectures, or the
+            more specific H8300 and SH targets (h8300-*-rtems*,
+            h8300-*-elf*, sh-*-elf*, sh-*-symbianelf*, sh-*-linux*,
+            sh-*-netbsdelf*, sh-*-rtems*, sh-wrs-vxworks).
+          + 2BSD on PDP-11 (pdp11-*-bsd)
+          + AIX 4.1 and 4.2 on PowerPC (rs6000-ibm-aix4.[12]*,
+            powerpc-ibm-aix4.[12]*)
+          + Tuning support for Itanium1 (Merced) variants. Note that code
+            tuned for Itanium2 should also run correctly on Itanium1.
+     * The protoize and unprotoize utilities have been obsoleted and will
+       be removed in GCC 4.5. These utilities have not been installed by
+       default since GCC 3.0.
+     * Support has been removed for all the [1]configurations obsoleted in
+       GCC 4.3.
+     * Unknown -Wno-* options are now silently ignored by GCC if no other
+       diagnostics are issued. If other diagnostics are issued, then GCC
+       warns about the unknown options.
+     * More information on porting to GCC 4.4 from previous versions of
+       GCC can be found in the [2]porting guide for this release.
+
+General Optimizer Improvements
+
+     * A new command-line switch -findirect-inlining has been added. When
+       turned on it allows the inliner to also inline indirect calls that
+       are discovered to have known targets at compile time thanks to
+       previous inlining.
+     * A new command-line switch -ftree-switch-conversion has been added.
+       This new pass turns simple initializations of scalar variables in
+       switch statements into initializations from a static array, given
+       that all the values are known at compile time and the ratio between
+       the new array size and the original switch branches does not exceed
+       the parameter --param switch-conversion-max-branch-ratio (default
+       is eight).
+     * A new command-line switch -ftree-builtin-call-dce has been added.
+       This optimization eliminates unnecessary calls to certain builtin
+       functions when the return value is not used, in cases where the
+       calls can not be eliminated entirely because the function may set
+       errno. This optimization is on by default at -O2 and above.
+     * A new command-line switch -fconserve-stack directs the compiler to
+       minimize stack usage even if it makes the generated code slower.
+       This affects inlining decisions.
+     * When the assembler supports it, the compiler will now emit unwind
+       information using assembler .cfi directives. This makes it possible
+       to use such directives in inline assembler code. The new option
+       -fno-dwarf2-cfi-asm directs the compiler to not use .cfi
+       directives.
+     * The [3]Graphite branch has been merged. This merge has brought in a
+       new framework for loop optimizations based on a polyhedral
+       intermediate representation. These optimizations apply to all the
+       languages supported by GCC. The following new code transformations
+       are available in GCC 4.4:
+          + -floop-interchange performs loop interchange transformations
+            on loops. Interchanging two nested loops switches the inner
+            and outer loops. For example, given a loop like:
+          DO J = 1, M
+            DO I = 1, N
+              A(J, I) = A(J, I) * C
+            ENDDO
+          ENDDO
+
+            loop interchange will transform the loop as if the user had
+            written:
+          DO I = 1, N
+            DO J = 1, M
+              A(J, I) = A(J, I) * C
+            ENDDO
+          ENDDO
+
+            which can be beneficial when N is larger than the caches,
+            because in Fortran, the elements of an array are stored in
+            memory contiguously by column, and the original loop iterates
+            over rows, potentially creating at each access a cache miss.
+          + -floop-strip-mine performs loop strip mining transformations
+            on loops. Strip mining splits a loop into two nested loops.
+            The outer loop has strides equal to the strip size and the
+            inner loop has strides of the original loop within a strip.
+            For example, given a loop like:
+          DO I = 1, N
+            A(I) = A(I) + C
+          ENDDO
+
+            loop strip mining will transform the loop as if the user had
+            written:
+          DO II = 1, N, 4
+            DO I = II, min (II + 3, N)
+              A(I) = A(I) + C
+            ENDDO
+          ENDDO
+
+          + -floop-block performs loop blocking transformations on loops.
+            Blocking strip mines each loop in the loop nest such that the
+            memory accesses of the element loops fit inside caches. For
+            example, given a loop like:
+          DO I = 1, N
+            DO J = 1, M
+              A(J, I) = B(I) + C(J)
+            ENDDO
+          ENDDO
+
+            loop blocking will transform the loop as if the user had
+            written:
+          DO II = 1, N, 64
+            DO JJ = 1, M, 64
+              DO I = II, min (II + 63, N)
+                DO J = JJ, min (JJ + 63, M)
+                  A(J, I) = B(I) + C(J)
+                ENDDO
+              ENDDO
+            ENDDO
+          ENDDO
+
+            which can be beneficial when M is larger than the caches,
+            because the innermost loop will iterate over a smaller amount
+            of data that can be kept in the caches.
+     * A new register allocator has replaced the old one. It is called
+       integrated register allocator (IRA) because coalescing, register
+       live range splitting, and hard register preferencing are done
+       on-the-fly during coloring. It also has better integration with the
+       reload pass. IRA is a regional register allocator which uses modern
+       Chaitin-Briggs coloring instead of Chow's priority coloring used in
+       the old register allocator. More info about IRA internals and
+       options can be found in the GCC manuals.
+     * A new instruction scheduler and software pipeliner, based on the
+       selective scheduling approach, has been added. The new pass
+       performs instruction unification, register renaming, substitution
+       through register copies, and speculation during scheduling. The
+       software pipeliner is able to pipeline non-countable loops. The new
+       pass is targeted at scheduling-eager in-order platforms. In GCC 4.4
+       it is available for the Intel Itanium platform working by default
+       as the second scheduling pass (after register allocation) at the
+       -O3 optimization level.
+     * When using -fprofile-generate with a multi-threaded program, the
+       profile counts may be slightly wrong due to race conditions. The
+       new -fprofile-correction option directs the compiler to apply
+       heuristics to smooth out the inconsistencies. By default the
+       compiler will give an error message when it finds an inconsistent
+       profile.
+     * The new -fprofile-dir=PATH option permits setting the directory
+       where profile data files are stored when using -fprofile-generate
+       and friends, and the directory used when reading profile data files
+       using -fprofile-use and friends.
+
+New warning options
+
+     * The new -Wframe-larger-than=NUMBER option directs GCC to emit a
+       warning if any stack frame is larger than NUMBER bytes. This may be
+       used to help ensure that code fits within a limited amount of stack
+       space.
+     * The new -Wno-mudflap option disables warnings about constructs
+       which can not be instrumented when using -fmudflap.
+
+New Languages and Language specific improvements
+
+     * Version 3.0 of the [4]OpenMP specification is now supported for the
+       C, C++, and Fortran compilers.
+
+  C family
+
+     * A new optimize attribute was added to allow programmers to change
+       the optimization level and particular optimization options for an
+       individual function. You can also change the optimization options
+       via the GCC optimize pragma for functions defined after the pragma.
+       The GCC push_options pragma and the GCC pop_options pragma allow
+       you temporarily save and restore the options used. The GCC
+       reset_options pragma restores the options to what was specified on
+       the command line.
+     * Uninitialized warnings do not require enabling optimization
+       anymore, that is, -Wuninitialized can be used together with -O0.
+       Nonetheless, the warnings given by -Wuninitialized will probably be
+       more accurate if optimization is enabled.
+     * -Wparentheses now warns about expressions such as (!x | y) and (!x
+       & y). Using explicit parentheses, such as in ((!x) | y), silences
+       this warning.
+     * -Wsequence-points now warns within if, while,do while and for
+       conditions, and within for begin/end expressions.
+     * A new option -dU is available to dump definitions of preprocessor
+       macros that are tested or expanded.
+
+  C++
+
+     * [5]Improved experimental support for the upcoming ISO C++ standard,
+       C++0x. Including support for auto, inline namespaces, generalized
+       initializer lists, defaulted and deleted functions, new character
+       types, and scoped enums.
+     * Those errors that may be downgraded to warnings to build legacy
+       code now mention -fpermissive when -fdiagnostics-show-option is
+       enabled.
+     * -Wconversion now warns if the result of a static_cast to enumeral
+       type is unspecified because the value is outside the range of the
+       enumeral type.
+     * -Wuninitialized now warns if a non-static reference or non-static
+       const member appears in a class without constructors.
+     * G++ now properly implements value-initialization, so objects with
+       an initializer of () and an implicitly defined default constructor
+       will be zero-initialized before the default constructor is called.
+
+    Runtime Library (libstdc++)
+
+     * Added experimental support for the upcoming ISO C++ standard,
+       C++0x. Including support for <chrono>, <condition_variable>,
+       <cstdatomic>, <forward_list>, <initializer_list>, <mutex>, <ratio>,
+       <system_error>, and <thread>. Plus unique_ptr, <algorithm>
+       additions, exception propagation, and some support for the new
+       character types. ([6]Implementation status of C++0x library)
+     * Experimental support for non-standard pointer types in containers.
+
+  Fortran
+
+     * GNU Fortran now employs libcpp directly instead of using cc1 as an
+       external preprocessor. The [7]-cpp option was added to allow manual
+       invocation of the preprocessor without relying on filename
+       extensions.
+     * The [8]-Warray-temporaries option warns about array temporaries
+       generated by the compiler, as an aid to optimization.
+     * The [9]-fcheck-array-temporaries option has been added, printing a
+       notification at run time, when an array temporary had to be created
+       for an function argument. Contrary to -Warray-temporaries the
+       warning is only printed if the array is noncontiguous.
+     * Improved generation of DWARF debugging symbols
+     * If using an intrinsic not part of the selected standard (via -std=
+       and -fall-intrinsics) gfortran will now treat it as if this
+       procedure were declared EXTERNAL and try to link to a user-supplied
+       procedure. -Wintrinsics-std will warn whenever this happens. The
+       now-useless option -Wnonstd-intrinsic was removed.
+     * The flag -falign-commons has been added to control the alignment of
+       variables in COMMON blocks, which is enabled by default in line
+       with previous GCC version. Using -fno-align-commons one can force
+       commons to be contiguous in memory as required by the Fortran
+       standard, however, this slows down the memory access. The option
+       -Walign-commons, which is enabled by default, warns when padding
+       bytes were added for alignment. The proper solution is to sort the
+       common objects by decreasing storage size, which avoids the
+       alignment problems.
+     * Fortran 2003 support has been extended:
+          + Wide characters (ISO 10646, UCS-4, kind=4) and UTF-8 I/O is
+            now supported (except internal reads from/writes to wide
+            strings). [10]-fbackslash now supports also \unnnn and
+            \Unnnnnnnn to enter Unicode characters.
+          + Asynchronous I/O (implemented as synchronous I/O) and the
+            decimal=, size=, sign=, pad=, blank=, and delim= specifiers
+            are now supported in I/O statements.
+          + Support for Fortran 2003 structure constructors and for array
+            constructor with typespec has been added.
+          + Procedure Pointers (but not yet as component in derived types
+            and as function results) are now supported.
+          + Abstract types, type extension, and type-bound procedures
+            (both PROCEDURE and GENERIC but not as operators). Note: As
+            CLASS/polymorphyic types are not implemented, type-bound
+            procedures with PASS accept as non-standard extension TYPE
+            arguments.
+     * Fortran 2008 support has been added:
+          + The -std=f2008 option and support for the file extensions
+            .f2008 and .F2008 has been added.
+          + The g0 format descriptor is now supported.
+          + The Fortran 2008 mathematical intrinsics ASINH, ACOSH, ATANH,
+            ERF, ERFC, GAMMA, LOG_GAMMA, BESSEL_*, HYPOT, and ERFC_SCALED
+            are now available (some of them existed as GNU extension
+            before). Note: The hyperbolic functions are not yet supporting
+            complex arguments and the three- argument version of BESSEL_*N
+            is not available.
+          + The bit intrinsics LEADZ and TRAILZ have been added.
+
+  Java (GCJ)
+
+  Ada
+
+     * The Ada runtime now supports multilibs on many platforms including
+       x86_64, SPARC and PowerPC. Their build is enabled by default.
+
+New Targets and Target Specific Improvements
+
+  ARM
+
+     * GCC now supports optimizing for the Cortex-A9, Cortex-R4 and
+       Cortex-R4F processors and has many other improvements to
+       optimization for ARM processors.
+     * GCC now supports the VFPv3 variant with 16 double-precision
+       registers with -mfpu=vfpv3-d16. The option -mfpu=vfp3 has been
+       renamed to -mfpu=vfpv3.
+     * GCC now supports the -mfix-cortex-m3-ldrd option to work around an
+       erratum on Cortex-M3 processors.
+     * GCC now supports the __sync_* atomic operations for ARM EABI
+       GNU/Linux.
+     * The section anchors optimization is now enabled by default when
+       optimizing for ARM.
+     * GCC now uses a new EABI-compatible profiling interface for EABI
+       targets. This requires a function __gnu_mcount_nc, which is
+       provided by GNU libc versions 2.8 and later.
+
+  AVR
+
+     * The -mno-tablejump option has been deprecated because it has the
+       same effect as the -fno-jump-tables option.
+     * Added support for these new AVR devices:
+          + ATA6289
+          + ATtiny13A
+          + ATtiny87
+          + ATtiny167
+          + ATtiny327
+          + ATmega8C1
+          + ATmega16C1
+          + ATmega32C1
+          + ATmega8M1
+          + ATmega16M1
+          + ATmega32M1
+          + ATmega32U4
+          + ATmega16HVB
+          + ATmega4HVD
+          + ATmega8HVD
+          + ATmega64C1
+          + ATmega64M1
+          + ATmega16U4
+          + ATmega32U6
+          + ATmega128RFA1
+          + AT90PWM81
+          + AT90SCR100
+          + M3000F
+          + M3000S
+          + M3001B
+
+  IA-32/x86-64
+
+     * Support for Intel AES built-in functions and code generation is
+       available via -maes.
+     * Support for Intel PCLMUL built-in function and code generation is
+       available via -mpclmul.
+     * Support for Intel AVX built-in functions and code generation is
+       available via -mavx.
+     * Automatically align the stack for local variables with alignment
+       requirement.
+     * GCC can now utilize the SVML library for vectorizing calls to a set
+       of C99 functions if -mveclibabi=svml is specified and you link to
+       an SVML ABI compatible library.
+     * A new target attribute was added to allow programmers to change the
+       target options like -msse2 or -march=k8 for an individual function.
+       You can also change the target options via the GCC target pragma
+       for functions defined after the pragma.
+     * GCC can now be configured with options --with-arch-32,
+       --with-arch-64, --with-cpu-32, --with-cpu-64, --with-tune-32 and
+       --with-tune-64 to control the default optimization separately for
+       32-bit and 64-bit modes.
+
+  IA-32/IA64
+
+     * Support for __float128 (TFmode) IEEE quad type and corresponding
+       TCmode IEEE complex quad type is available via the soft-fp library
+       on IA-32/IA64 targets. This includes basic arithmetic operations
+       (addition, subtraction, negation, multiplication and division) on
+       __float128 real and TCmode complex values, the full set of IEEE
+       comparisons between __float128 values, conversions to and from
+       float, double and long double floating point types, as well as
+       conversions to and from signed or unsigned integer, signed or
+       unsigned long integer and signed or unsigned quad (TImode, IA64
+       only) integer types. Additionally, all operations generate the full
+       set of IEEE exceptions and support the full set of IEEE rounding
+       modes.
+
+  M68K/ColdFire
+
+     * GCC now supports instruction scheduling for ColdFire V1, V3 and V4
+       processors. (Scheduling support for ColdFire V2 processors was
+       added in GCC 4.3.)
+     * GCC now supports the -mxgot option to support programs requiring
+       many GOT entries on ColdFire.
+     * The m68k-*-linux-gnu target now builds multilibs by default.
+
+  MIPS
+
+     * MIPS Technologies have extended the original MIPS SVR4 ABI to
+       include support for procedure linkage tables (PLTs) and copy
+       relocations. These extensions allow GNU/Linux executables to use a
+       significantly more efficient code model than the one defined by the
+       original ABI.
+       GCC support for this code model is available via a new command-line
+       option, -mplt. There is also a new configure-time option,
+       --with-mips-plt, to make -mplt the default.
+       The new code model requires support from the assembler, the linker,
+       and the runtime C library. This support is available in binutils
+       2.19 and GLIBC 2.9.
+     * GCC can now generate MIPS16 code for 32-bit GNU/Linux executables
+       and 32-bit GNU/Linux shared libraries. This feature requires GNU
+       binutils 2.19 or above.
+     * Support for RMI's XLR processor is now available through the
+       -march=xlr and -mtune=xlr options.
+     * 64-bit targets can now perform 128-bit multiplications inline,
+       instead of relying on a libgcc function.
+     * Native GNU/Linux toolchains now support -march=native and
+       -mtune=native, which select the host processor.
+     * GCC now supports the R10K, R12K, R14K and R16K processors. The
+       canonical -march= and -mtune= names for these processors are
+       r10000, r12000, r14000 and r16000 respectively.
+     * GCC can now work around the side effects of speculative execution
+       on R10K processors. Please see the documentation of the
+       -mr10k-cache-barrier option for details.
+     * Support for the MIPS64 Release 2 instruction set has been added.
+       The option -march=mips64r2 enables generation of these
+       instructions.
+     * GCC now supports Cavium Networks' Octeon processor. This support is
+       available through the -march=octeon and -mtune=octeon options.
+     * GCC now supports STMicroelectronics' Loongson 2E/2F processors. The
+       canonical -march= and -mtune= names for these processors are
+       loongson2e and loongson2f.
+
+  picochip
+
+   Picochip is a 16-bit processor. A typical picoChip contains over 250
+   small cores, each with small amounts of memory. There are three
+   processor variants (STAN, MEM and CTRL) with different instruction sets
+   and memory configurations and they can be chosen using the -mae option.
+
+   This port is intended to be a "C" only port.
+
+  Power Architecture and PowerPC
+
+     * GCC now supports the e300c2, e300c3 and e500mc processors.
+     * GCC now supports Xilinx processors with a single-precision FPU.
+     * Decimal floating point is now supported for e500 processors.
+
+  S/390, zSeries and System z9/z10
+
+     * Support for the IBM System z10 EC/BC processor has been added. When
+       using the -march=z10 option, the compiler will generate code making
+       use of instructions provided by the General-Instruction-Extension
+       Facility and the Execute-Extension Facility.
+
+  VxWorks
+
+     * GCC now supports the thread-local storage mechanism used on
+       VxWorks.
+
+  Xtensa
+
+     * GCC now supports thread-local storage (TLS) for Xtensa processor
+       configurations that include the Thread Pointer option. TLS also
+       requires support from the assembler and linker; this support is
+       provided in the GNU binutils beginning with version 2.19.
+
+Documentation improvements
+
+Other significant improvements
+
+   Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
+   are also [12]other ways to contact the FSF.
+
+   These pages are maintained by [13]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [14]GCC manuals. If that fails, the
+    [15]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org.
+    All of our lists have [18]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-04-19 [19]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-4.3/changes.html#obsoleted
+   2. http://gcc.gnu.org/gcc-4.4/porting_to.html
+   3. http://gcc.gnu.org/wiki/Graphite
+   4. http://openmp.org/wp/openmp-specifications/
+   5. http://gcc.gnu.org/gcc-4.4/cxx0x_status.html
+   6. http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#id476343
+   7. http://gcc.gnu.org/onlinedocs/gfortran/Preprocessing-Options.html
+   8. http://gcc.gnu.org/onlinedocs/gfortran/Error-and-Warning-Options.html#index-g_t_0040code_007bWarray-temporaries_007d-125
+   9. http://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfcheck-array-temporaries_007d-221
+  10. http://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html#index-g_t_0040code_007bbackslash_007d-34
+  11. mailto:gnu@gnu.org
+  12. http://www.gnu.org/home.html#ContactInfo
+  13. http://gcc.gnu.org/about.html
+  14. http://gcc.gnu.org/onlinedocs/
+  15. mailto:gcc-help@gcc.gnu.org
+  16. mailto:gcc@gnu.org
+  17. mailto:gcc@gcc.gnu.org
+  18. http://gcc.gnu.org/lists.html
+  19. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.3/index.html
+                           GCC 4.3 Release Series
+
+   January 24, 2009
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 4.3.3.
+
+   This release is a bug-fix release, containing fixes for regressions in
+   GCC 4.3.2 relative to previous releases of GCC.
+
+Release History
+
+   GCC 4.3.3
+          January 24, 2009 ([2]changes)
+
+   GCC 4.3.2
+          August 27, 2008 ([3]changes)
+
+   GCC 4.3.1
+          June 6, 2008 ([4]changes)
+
+   GCC 4.3.0
+          March 5, 2008 ([5]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [6]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [7]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [8]GCC project
+   web site or contact the [9]GCC development mailing list.
+
+   To obtain GCC please use [10]our mirror sites or [11]our SVN server.
+
+   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.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [15]GCC manuals. If that fails, the
+    [16]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org.
+    All of our lists have [19]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-01-24 [20]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-4.3/changes.html
+   3. http://gcc.gnu.org/gcc-4.3/changes.html
+   4. http://gcc.gnu.org/gcc-4.3/changes.html
+   5. http://gcc.gnu.org/gcc-4.3/changes.html
+   6. http://gcc.gnu.org/gcc-4.3/buildstat.html
+   7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   8. http://gcc.gnu.org/index.html
+   9. mailto:gcc@gcc.gnu.org
+  10. http://gcc.gnu.org/mirrors.html
+  11. http://gcc.gnu.org/svn.html
+  12. mailto:gnu@gnu.org
+  13. http://www.gnu.org/home.html#ContactInfo
+  14. http://gcc.gnu.org/about.html
+  15. http://gcc.gnu.org/onlinedocs/
+  16. mailto:gcc-help@gcc.gnu.org
+  17. mailto:gcc@gnu.org
+  18. mailto:gcc@gcc.gnu.org
+  19. http://gcc.gnu.org/lists.html
+  20. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.3/changes.html
+                           GCC 4.3 Release Series
+                      Changes, New Features, and Fixes
+
+   The latest release in the 4.3 release series is [1]GCC 4.3.3.
+
+Caveats
+
+     * GCC requires the [2]GMP and [3]MPFR libraries for building all the
+       various front-end languages it supports. See the [4]prerequisites
+       page for version requirements.
+     * ColdFire targets now treat long double as having the same format as
+       double. In earlier versions of GCC, they used the 68881 long double
+       format instead.
+     * The m68k-uclinux target now uses the same calling conventions as
+       m68k-linux-gnu. You can select the original calling conventions by
+       configuring for m68k-uclinuxoldabi instead. Note that
+       m68k-uclinuxoldabi also retains the original 80-bit long double on
+       ColdFire targets.
+     * The -fforce-mem option has been removed because it has had no
+       effect in the last few GCC releases.
+     * The i386 -msvr3-shlib option has been removed since it is no longer
+       used.
+     * Fastcall for i386 has been changed not to pass aggregate arguments
+       in registers, following Microsoft compilers.
+     * Support for the AOF assembler has been removed from the ARM back
+       end; this affects only the targets arm-semi-aof and armel-semi-aof,
+       which are no longer recognized. We removed these targets without a
+       deprecation period because we discovered that they have been
+       unusable since GCC 4.0.0.
+     * Support for the TMS320C3x/C4x processor (targets c4x-* and tic4x-*)
+       has been removed. This support had been deprecated since GCC 4.0.0.
+     * Support for a number of older systems and recently unmaintained or
+       untested target ports of GCC has been declared obsolete in GCC 4.3.
+       Unless there is activity to revive them, the next release of GCC
+       will have their sources permanently removed.
+       All GCC ports for the following processor architectures have been
+       declared obsolete:
+          + Morpho MT (mt-*)
+       The following aliases for processor architectures have been
+       declared obsolete. Users should use the indicated generic target
+       names instead, with compile-time options such as -mcpu or
+       configure-time options such as --with-cpu to control the
+       configuration more precisely.
+          + strongarm*-*-*, ep9312*-*-*, xscale*-*-* (use arm*-*-*
+            instead).
+          + parisc*-*-* (use hppa*-*-* instead).
+          + m680[012]0-*-* (use m68k-*-* instead).
+       All GCC ports for the following operating systems have been
+       declared obsolete:
+          + BeOS (*-*-beos*)
+          + kaOS (*-*-kaos*)
+          + GNU/Linux using the a.out object format (*-*-linux*aout*)
+          + GNU/Linux using version 1 of the GNU C Library
+            (*-*-linux*libc1*)
+          + Solaris versions before Solaris 7 (*-*-solaris2.[0-6],
+            *-*-solaris2.[0-6].*)
+          + Miscellaneous System V (*-*-sysv*)
+          + WindISS (*-*-windiss*)
+       Also, those for some individual systems on particular architectures
+       have been obsoleted:
+          + UNICOS/mk on DEC Alpha (alpha*-*-unicosmk*)
+          + CRIS with a.out object format (cris-*-aout)
+          + BSD 4.3 on PA-RISC (hppa1.1-*-bsd*)
+          + OSF/1 on PA-RISC (hppa1.1-*-osf*)
+          + PRO on PA-RISC (hppa1.1-*-pro*)
+          + Sequent PTX on IA32 (i[34567]86-sequent-ptx4*,
+            i[34567]86-sequent-sysv4*)
+          + SCO Open Server 5 on IA32 (i[34567]86-*-sco3.2v5*)
+          + UWIN on IA32 (i[34567]86-*-uwin*) (support for UWIN as a host
+            was previously [5]removed in 2001, leaving only the support
+            for UWIN as a target now being deprecated)
+          + ChorusOS on PowerPC (powerpc-*-chorusos*)
+          + All VAX configurations apart from NetBSD and OpenBSD
+            (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*)
+     * The [6]-Wconversion option has been modified. Its purpose now is to
+       warn for implicit conversions that may alter a value. This new
+       behavior is available for both C and C++. Warnings about
+       conversions between signed and unsigned integers can be disabled by
+       using -Wno-sign-conversion. In C++, they are disabled by default
+       unless -Wsign-conversion is explicitly requested. The old behavior
+       of -Wconversion, that is, warn for prototypes causing a type
+       conversion that is different from what would happen to the same
+       argument in the absence of a prototype, has been moved to a new
+       option -Wtraditional-conversion, which is only available for C.
+     * The -m386, -m486, -mpentium and -mpentiumpro tuning options have
+       been removed because they were deprecated for more than 3 GCC major
+       releases. Use -mtune=i386, -mtune=i486, -mtune=pentium or
+       -mtune=pentiumpro as a replacement.
+     * The -funsafe-math-optimizations option now automatically turns on
+       -fno-trapping-math in addition to -fno-signed-zeros, as it enables
+       reassociation and thus may introduce or remove traps.
+     * The -ftree-vectorize option is now on by default under -O3. In
+       order to generate code for a SIMD extension, it has to be enabled
+       as well: use -maltivec for PowerPC platforms and -msse/-msse2 for
+       i?86 and x86_64.
+     * More information on porting to GCC 4.3 from previous versions of
+       GCC can be found in the [7]porting guide for this release.
+
+General Optimizer Improvements
+
+     * The GCC middle-end has been integrated with the [8]MPFR library.
+       This allows GCC to evaluate and replace at compile-time calls to
+       built-in math functions having constant arguments with their
+       mathematically equivalent results. In making use of [9]MPFR, GCC
+       can generate correct results regardless of the math library
+       implementation or floating point precision of the host platform.
+       This also allows GCC to generate identical results regardless of
+       whether one compiles in native or cross-compile configurations to a
+       particular target. The following built-in functions take advantage
+       of this new capability: acos, acosh, asin, asinh, atan2, atan,
+       atanh, cbrt, cos, cosh, drem, erf, erfc, exp10, exp2, exp, expm1,
+       fdim, fma, fmax, fmin, gamma_r, hypot, j0, j1, jn, lgamma_r, log10,
+       log1p, log2, log, pow10, pow, remainder, remquo, sin, sincos, sinh,
+       tan, tanh, tgamma, y0, y1 and yn. The float and long double
+       variants of these functions (e.g. sinf and sinl) are also handled.
+       The sqrt and cabs functions with constant arguments were already
+       optimized in prior GCC releases. Now they also use [10]MPFR.
+     * A new forward propagation pass on RTL was added. The new pass
+       replaces several slower transformations, resulting in compile-time
+       improvements as well as better code generation in some cases.
+     * A new command-line switch -frecord-gcc-switches has been added to
+       GCC, although it is only enabled for some targets. The switch
+       causes the command line that was used to invoke the compiler to be
+       recorded into the object file that is being created. The exact
+       format of this recording is target and binary file format
+       dependent, but it usually takes the form of a note section
+       containing ASCII text. The switch is related to the -fverbose-asm
+       switch, but that one only records the information in the assembler
+       output file as comments, so the information never reaches the
+       object file.
+     * The inliner heuristic is now aware of stack frame consumption. New
+       command-line parameters --param large-stack-frame and --param
+       large-stack-frame-growth can be used to limit stack frame size
+       growth caused by inlining.
+     * During feedback directed optimizations, the expected block size the
+       memcpy, memset and bzero functions operate on is discovered and for
+       cases of commonly used small sizes, specialized inline code is
+       generated.
+     * __builtin_expect no longer requires its argument to be a compile
+       time constant.
+     * Interprocedural optimization was reorganized to work on functions
+       in SSA form. This enables more precise and cheaper dataflow
+       analysis and makes writing interprocedural optimizations easier.
+       The following improvements have been implemented on top of this
+       framework:
+          + Pre-inline optimization: Selected local optimization passes
+            are run before the inliner (and other interprocedural passes)
+            are executed. This significantly improves the accuracy of code
+            growth estimates used by the inliner and reduces the overall
+            memory footprint for large compilation units.
+          + Early inlining (a simple bottom-up inliner pass inlining only
+            functions whose body is smaller than the expected call
+            overhead) is now executed with the early optimization passes,
+            thus inlining already optimized function bodies into an
+            unoptimized function that is subsequently optimized by early
+            optimizers. This enables the compiler to quickly eliminate
+            abstraction penalty in C++ programs.
+          + Interprocedural constant propagation now operate on SSA form
+            increasing accuracy of the analysis.
+     * A new internal representation for GIMPLE statements has been
+       contributed, resulting in compile-time memory savings.
+     * The vectorizer was enhanced to support vectorization of outer
+       loops, intra-iteration parallelism (loop-aware SLP), vectorization
+       of strided accesses and loops with multiple data-types. Run-time
+       dependency testing using loop versioning was added. The cost model,
+       turned on by -fvect-cost-model, was developed.
+
+New Languages and Language specific improvements
+
+     * We have added new command-line options
+       -finstrument-functions-exclude-function-list and
+       -finstrument-functions-exclude-file-list. They provide more control
+       over which functions are annotated by the -finstrument-functions
+       option.
+
+  C family
+
+     * Implicit conversions between generic vector types are now only
+       permitted when the two vectors in question have the same number of
+       elements and compatible element types. (Note that the restriction
+       involves compatible element types, not implicitly-convertible
+       element types: thus, a vector type with element type int may not be
+       implicitly converted to a vector type with element type unsigned
+       int.) This restriction, which is in line with specifications for
+       SIMD architectures such as AltiVec, may be relaxed using the flag
+       -flax-vector-conversions. This flag is intended only as a
+       compatibility measure and should not be used for new code.
+     * -Warray-bounds has been added and is now enabled by default for
+       -Wall . It produces warnings for array subscripts that can be
+       determined at compile time to be always out of bounds.
+       -Wno-array-bounds will disable the warning.
+     * The constructor and destructor function attributes now accept
+       optional priority arguments which control the order in which the
+       constructor and destructor functions are run.
+     * New [11]command-line options -Wtype-limits,
+       -Wold-style-declaration, -Wmissing-parameter-type, -Wempty-body,
+       -Wclobbered and -Wignored-qualifiers have been added for finer
+       control of the diverse warnings enabled by -Wextra.
+     * A new function attribute alloc_size has been added to mark up
+       malloc style functions. For constant sized allocations this can be
+       used to find out the size of the returned pointer using the
+       __builtin_object_size() function for buffer overflow checking and
+       similar. This supplements the already built-in malloc and calloc
+       constant size handling.
+     * Integer constants written in binary are now supported as a GCC
+       extension. They consist of a prefix 0b or 0B, followed by a
+       sequence of 0 and 1 digits.
+     * A new predefined macro __COUNTER__ has been added. It expands to
+       sequential integral values starting from 0. In conjunction with the
+       ## operator, this provides a convenient means to generate unique
+       identifiers.
+     * A new command-line option -fdirectives-only has been added. It
+       enables a special preprocessing mode which improves the performance
+       of applications like distcc and ccache.
+     * Fixed-point data types and operators have been added. They are
+       based on Chapter 4 of the Embedded-C specification (n1169.pdf).
+       Currently, only MIPS targets are supported.
+     * Decimal floating-point arithmetic based on draft ISO/IEC TR 24732,
+       N1241, is now supported as a GCC extension to C for targets
+       i[34567]86-*-linux-gnu, powerpc*-*-linux-gnu, s390*-ibm-linux-gnu,
+       and x86_64-*-linux-gnu. The feature introduces new data types
+       _Decimal32, _Decimal64, and _Decimal128 with constant suffixes DF,
+       DD, and DL.
+
+  C++
+
+     * [12]Experimental support for the upcoming ISO C++ standard, C++0x.
+     * -Wc++0x-compat has been added and is now enabled by default for
+       -Wall. It produces warnings for constructs whose meaning differs
+       between ISO C++ 1998 and C++0x.
+     * The -Wparentheses option now works for C++ as it does for C. It
+       warns if parentheses are omitted when operators with confusing
+       precedence are nested. It also warns about ambiguous else
+       statements. Since -Wparentheses is enabled by -Wall, this may cause
+       additional warnings with existing C++ code which uses -Wall. These
+       new warnings may be disabled by using -Wall -Wno-parentheses.
+     * The -Wmissing-declarations now works for C++ as it does for C.
+     * The -fvisibility-ms-compat flag was added, to make it easier to
+       port larger projects using shared libraries from Microsoft's Visual
+       Studio to ELF and Mach-O systems.
+     * C++ attribute handling has been overhauled for template arguments
+       (ie dependent types). In particular, __attribute__((aligned(T)));
+       works for C++ types.
+
+    Runtime Library (libstdc++)
+
+     * [13]Experimental support for the upcoming ISO C++ standard, C++0x.
+     * Support for TR1 mathematical special functions and regular
+       expressions. ([14]Implementation status of TR1)
+     * Default what implementations give more elaborate exception strings
+       for bad_cast, bad_typeid, bad_exception, and bad_alloc.
+     * Header dependencies have been streamlined, reducing unnecessary
+       includes and pre-processed bloat.
+     * Variadic template implementations of items in <tuple> and
+       <functional>.
+     * An experimental [15]parallel mode has been added. This is a
+       parallel implementation of many C++ Standard library algorithms,
+       like std::accumulate, std::for_each, std::transform, or std::sort,
+       to give but four examples. These algorithms can be substituted for
+       the normal (sequential) libstdc++ algorithms on a piecemeal basis,
+       or all existing algorithms can be transformed via the
+       -D_GLIBCXX_PARALLEL macro.
+     * Debug mode versions of classes in <unordered_set> and
+       <unordered_map>.
+     * Formal deprecation of <ext/hash_set> and <ext/hash_map>, which are
+       now <backward/hash_set> and <backward/hash_map>. This code:
+    #include <ext/hash_set>
+    __gnu_cxx::hash_set<int> s;
+
+       Can be transformed (in order of preference) to:
+    #include <tr1/unordered_set>
+    std::tr1::unordered_set<int> s;
+
+       or
+    #include <backward/hash_set>
+    __gnu_cxx::hash_set<int> s;
+
+       Similar transformations apply to __gnu_cxx::hash_map,
+       __gnu_cxx::hash_multimap, __gnu_cxx::hash_set,
+       __gnu_cxx::hash_multiset.
+
+  Fortran
+
+     * Due to the fact that the [16]GMP and [17]MPFR libraries are
+       required for all languages, Fortran is no longer special in this
+       regard and is available by default.
+     * The [18]-fexternal-blas option has been added, which generates
+       calls to BLAS routines for intrinsic matrix operations such as
+       matmul rather than using the built-in algorithms.
+     * Support to give a backtrace (compiler flag -fbacktrace or
+       environment variable GFORTRAN_ERROR_BACKTRACE; on glibc systems
+       only) or a core dump (-fdump-core, GFORTRAN_ERROR_DUMPCORE) when a
+       run-time error occured.
+     * GNU Fortran now defines __GFORTRAN__ when it runs the C
+       preprocessor (CPP).
+     * The [19]-finit-local-zero, -finit-real, -finit-integer,
+       -finit-character, and -finit-logical options have been added, which
+       can be used to initialize local variables.
+     * The intrinsic procedures [20]GAMMA and [21]LGAMMA have been added,
+       which calculate the Gamma function and its logarithm. Use EXTERNAL
+       gamma if you want to use your own gamma function.
+     * GNU Fortran now regards the backslash character as literal (as
+       required by the Fortran 2003 standard); using [22]-fbackslash GNU
+       Fortran interprets backslashes as C-style escape characters.
+     * The [23]interpretation of binary, octal and hexadecimal (BOZ)
+       literal constants has been changed. Before they were always
+       interpreted as integer; now they are bit-wise transferred as
+       argument of INT, REAL, DBLE and CMPLX as required by the Fortran
+       2003 standard, and for real and complex variables in DATA
+       statements or when directly assigned to real and complex variables.
+       Everywhere else and especially in expressions they are still
+       regarded as integer constants.
+     * Fortran 2003 support has been extended:
+          + Intrinsic statements IMPORT, PROTECTED, VALUE and VOLATILE
+          + Pointer intent
+          + Intrinsic module ISO_ENV_FORTRAN
+          + Interoperability with C (ISO C Bindings)
+          + ABSTRACT INTERFACES and PROCEDURE statements (without POINTER
+            attribute)
+          + Fortran 2003 BOZ
+
+  Java (GCJ)
+
+     * gcj now uses the Eclipse Java compiler for its Java parsing needs.
+       This enables the use of all 1.5 language features, and fixes most
+       existing front end bugs.
+     * libgcj now supports all 1.5 language features which require runtime
+       support: foreach, enum, annotations, generics, and auto-boxing.
+     * We've made many changes to the tools shipped with gcj.
+          + The old jv-scan tool has been removed. This tool never really
+            worked properly. There is no replacement.
+          + gcjh has been rewritten. Some of its more obscure options no
+            longer work, but are still recognized in an attempt at
+            compatibility. gjavah is a new program with similar
+            functionality but different command-line options.
+          + grmic and grmiregistry have been rewritten. grmid has been
+            added.
+          + gjar replaces the old fastjar.
+          + gjarsigner (used for signing jars), gkeytool (used for key
+            management), gorbd (for CORBA), gserialver (computes
+            serialization UIDs), and gtnameserv (also for CORBA) are now
+            installed.
+     * The ability to dump the contents of the java run time heap to a
+       file for off-line analysis has been added. The heap dumps may be
+       analyzed with the new gc-analyze tool. They may be generated on
+       out-of-memory conditions or on demand and are controlled by the new
+       run time class gnu.gcj.util.GCInfo.
+     * java.util.TimeZone can now read files from /usr/share/zoneinfo to
+       provide correct, updated, timezone information. This means that
+       packagers no longer have to update libgcj when a time zone change
+       is published.
+
+New Targets and Target Specific Improvements
+
+  IA-32/x86-64
+
+     * Tuning for Intel Core 2 processors is available via -mtune=core2
+       and -march=core2.
+     * Tuning for AMD Geode processors is available via -mtune=geode and
+       -march=geode.
+     * Code generation of block move (memcpy) and block set (memset) was
+       rewritten. GCC can now pick the best algorithm (loop, unrolled
+       loop, instruction with rep prefix or a library call) based on the
+       size of the block being copied and the CPU being optimized for. A
+       new option -minline-stringops-dynamically has been added. With this
+       option string operations of unknown size are expanded such that
+       small blocks are copied by in-line code, while for large blocks a
+       library call is used. This results in faster code than
+       -minline-all-stringops when the library implementation is capable
+       of using cache hierarchy hints. The heuristic choosing the
+       particular algorithm can be overwritten via -mstringop-strategy.
+       Newly also memset of values different from 0 is inlined.
+     * GCC no longer places the cld instruction before string operations.
+       Both i386 and x86-64 ABI documents mandate the direction flag to be
+       clear at the entry of a function. It is now invalid to set the flag
+       in asm statement without reseting it afterward.
+     * Support for SSSE3 built-in functions and code generation are
+       available via -mssse3.
+     * Support for SSE4.1 built-in functions and code generation are
+       available via -msse4.1.
+     * Support for SSE4.2 built-in functions and code generation are
+       available via -msse4.2.
+     * Both SSE4.1 and SSE4.2 support can be enabled via -msse4.
+     * A new set of options -mpc32, -mpc64 and -mpc80 have been added to
+       allow explicit control of x87 floating point precision.
+     * Support for __float128 (TFmode) IEEE quad type and corresponding
+       TCmode IEEE complex quad type is available via the soft-fp library
+       on x86_64 targets. This includes basic arithmetic operations
+       (addition, subtraction, negation, multiplication and division) on
+       __float128 real and TCmode complex values, the full set of IEEE
+       comparisons between __float128 values, conversions to and from
+       float, double and long double floating point types, as well as
+       conversions to and from signed or unsigned integer, signed or
+       unsigned long integer and signed or unsigned quad (TImode) integer
+       types. Additionally, all operations generate the full set of IEEE
+       exceptions and support the full set of IEEE rounding modes.
+     * GCC can now utilize the ACML library for vectorizing calls to a set
+       of C99 functions on x86_64 if -mveclibabi=acml is specified and you
+       link to an ACML ABI compatible library.
+
+  ARM
+
+     * Compiler and Library support for Thumb-2 and the ARMv7 architecture
+       has been added.
+
+  CRIS
+
+    New features
+
+     * Compiler and Library support for the CRIS v32 architecture, as
+       found in Axis Communications ETRAX FS and ARTPEC-3 chips, has been
+       added.
+
+    Configuration changes
+
+     * The cris-*-elf target now includes support for CRIS v32, including
+       libraries, through the -march=v32 option.
+     * A new crisv32-*-elf target defaults to generate code for CRIS v32.
+     * A new crisv32-*-linux* target defaults to generate code for CRIS
+       v32.
+     * The cris-*-aout target has been obsoleted.
+
+    Improved support for built-in functions
+
+     * GCC can now use the lz and swapwbr instructions to implement the
+       __builtin_clz, __builtin_ctz and __builtin_ffs family of functions.
+     * __builtin_bswap32 is now implemented using the swapwb instruction,
+       when available.
+
+  m68k and ColdFire
+
+    New features
+
+     * Support for several new ColdFire processors has been added. You can
+       generate code for them using the new -mcpu option.
+     * All targets now support ColdFire processors.
+     * m68k-uclinux targets have improved support for C++ constructors and
+       destructors, and for shared libraries.
+     * It is now possible to set breakpoints on the first or last line of
+       a function, even if there are no statements on that line.
+
+    Optimizations
+
+     * Support for sibling calls has been added.
+     * More use is now made of the ColdFire mov3q instruction.
+     * __builtin_clz is now implemented using the ff1 ColdFire
+       instruction, when available.
+     * GCC now honors the -m68010 option. 68010 code now uses clr rather
+       than move to zero volatile memory.
+     * 68020 targets and above can now use symbol(index.size*scale)
+       addresses for indexed array accesses. Earlier compilers would
+       always load the symbol into a base register first.
+
+    Configuration changes
+
+     * All m68k and ColdFire targets now allow the default processor to be
+       set at configure time using --with-cpu.
+     * A --with-arch configuration option has been added. This option
+       allows you to restrict a target to ColdFire or non-ColdFire
+       processors.
+
+    Preprocessor macros
+
+     * An __mcfv*__ macro is now defined for all ColdFire targets.
+       (Earlier versions of GCC only defined __mcfv4e__.)
+     * __mcf_cpu_*, __mcf_family_* and __mcffpu__ macros have been added.
+     * All targets now define __mc68010 and __mc68010__ when generating
+       68010 code.
+
+    Command-line changes
+
+     * New command-line options -march, -mcpu, -mtune and -mhard-float
+       have been added. These options apply to both m68k and ColdFire
+       targets.
+     * -mno-short, -mno-bitfield and -mno-rtd are now accepted as negative
+       versions of -mshort, etc.
+     * -fforce-addr has been removed. It is now ignored by the compiler.
+
+    Other improvements
+
+     * ColdFire targets now try to maintain a 4-byte-aligned stack where
+       possible.
+     * m68k-uclinux targets now try to avoid situations that lead to the
+       load-time error: BINFMT_FLAT: reloc outside program.
+
+  MIPS
+
+    Changes to existing configurations
+
+     * libffi and libjava now support all three GNU/Linux ABIs: o32, n32
+       and n64. Every GNU/Linux configuration now builds these libraries
+       by default.
+     * GNU/Linux configurations now generate -mno-shared code unless
+       overridden by -fpic, -fPIC, -fpie or -fPIE.
+     * mipsisa32*-linux-gnu configurations now generate hard-float code by
+       default, just like other mipsisa32* and mips*-linux-gnu
+       configurations. You can build a soft-float version of any
+       mips*-linux-gnu configuration by passing --with-float=soft to
+       configure.
+     * mips-wrs-vxworks now supports run-time processes (RTPs).
+
+    Changes to existing command-line options
+
+     * The -march and -mtune options no longer accept 24k as a processor
+       name. Please use 24kc, 24kf2_1 or 24kf1_1 instead.
+     * The -march and -mtune options now accept 24kf2_1, 24kef2_1 and
+       34kf2_1 as synonyms for 24kf, 24kef and 34kf respectively. The
+       options also accept 24kf1_1, 24kef1_1 and 34kf1_1 as synonyms for
+       24kx, 24kex and 34kx.
+
+    New configurations
+
+   GCC now supports the following configurations:
+     * mipsisa32r2*-linux-gnu*, which generates MIPS32 revision 2 code by
+       default. Earlier releases also recognized this configuration, but
+       they treated it in the same way as mipsisa32*-linux-gnu*. Note that
+       you can customize any mips*-linux-gnu* configuration to a
+       particular ISA or processor by passing an appropriate --with-arch
+       option to configure.
+     * mipsisa*-sde-elf*, which provides compatibility with MIPS
+       Technologies' SDE toolchains. The configuration uses the SDE
+       libraries by default, but you can use it like other newlib-based
+       ELF configurations by passing --with-newlib to configure. It is the
+       only configuration besides mips64vr*-elf* to build MIPS16 as well
+       as non-MIPS16 libraries.
+     * mipsisa*-elfoabi*, which is similar to the general mipsisa*-elf*
+       configuration, but uses the o32 and o64 ABIs instead of the 32-bit
+       and 64-bit forms of the EABI.
+
+    New processors and application-specific extensions
+
+     * Support for the SmartMIPS ASE is available through the new
+       -msmartmips option.
+     * Support for revision 2 of the DSP ASE is available through the new
+       -mdspr2 option. A new preprocessor macro called __mips_dsp_rev
+       indicates the revision of the ASE in use.
+     * Support for the 4KS and 74K families of processors is available
+       through the -march and -mtune options.
+
+    Improved support for built-in functions
+
+     * GCC can now use load-linked, store-conditional and sync
+       instructions to implement atomic built-in functions such as
+       __sync_fetch_and_add. The memory reference must be 4 bytes wide for
+       32-bit targets and either 4 or 8 bytes wide for 64-bit targets.
+     * GCC can now use the clz and dclz instructions to implement the
+       __builtin_ctz and __builtin_ffs families of functions.
+     * There is a new __builtin___clear_cache function for flushing the
+       instruction cache. GCC expands this function inline on MIPS32
+       revision 2 targets, otherwise it calls the function specified by
+       -mcache-flush-func.
+
+    MIPS16 improvements
+
+     * GCC can now compile objects that contain a mixture of MIPS16 and
+       non-MIPS16 code. There are two new attributes, mips16 and nomips16,
+       for specifying which mode a function should use.
+     * A new option called -minterlink-mips16 makes non-MIPS16 code
+       link-compatible with MIPS16 code.
+     * After many bug fixes, the long-standing MIPS16 -mhard-float support
+       should now work fairly reliably.
+     * GCC can now use the MIPS16e save and restore instructions.
+     * -fsection-anchors now works in MIPS16 mode. MIPS16 code compiled
+       with -G0 -fsection-anchors is often smaller than code compiled with
+       -G8. However, please note that you must usually compile all objects
+       in your application with the same -G option; see the documentation
+       of -G for details.
+     * A new option called-mcode-readable specifies which instructions are
+       allowed to load from the code segment. -mcode-readable=yes is the
+       default and says that any instruction may load from the code
+       segment. The other alternatives are -mcode-readable=pcrel, which
+       says that only PC-relative MIPS16 instructions may load from the
+       code segment, and -mcode-readable=no, which says that no
+       instruction may do so. Please see the documentation for more
+       details, including example uses.
+
+    Small-data improvements
+
+   There are three new options for controlling small data:
+     * -mno-extern-sdata, which disables small-data accesses for
+       externally-defined variables. Code compiled with -Gn
+       -mno-extern-sdata will be link-compatible with any -G setting
+       between -G0 and -Gn inclusive.
+     * -mno-local-sdata, which disables the use of small-data sections for
+       data that is not externally visible. This option can be a useful
+       way of reducing small-data usage in less performance-critical parts
+       of an application.
+     * -mno-gpopt, which disables the use of the $gp register while still
+       honoring the -G limit when placing externally-visible data. This
+       option implies -mno-extern-sdata and -mno-local-sdata and it can be
+       useful in situations where $gp does not necessarily hold the
+       expected value.
+
+    Miscellaneous improvements
+
+     * There is a new option called -mbranch-cost for tweaking the
+       perceived cost of branches.
+     * If GCC is configured to use a version of GAS that supports the
+       .gnu_attribute directive, it will use that directive to record
+       certain properties of the output code. .gnu_attribute is new to GAS
+       2.18.
+     * There are two new function attributes, near and far, for overriding
+       the command-line setting of -mlong-calls on a function-by-function
+       basis.
+     * -mfp64, which previously required a 64-bit target, now works with
+       MIPS32 revision 2 targets as well. The mipsisa*-elfoabi* and
+       mipsisa*-sde-elf* configurations provide suitable library support.
+     * GCC now recognizes the -mdmx and -mmt options and passes them down
+       to the assembler. It does nothing else with the options at present.
+
+  SPU (Synergistic Processor Unit) of the Cell Broadband Engine Architecture
+  (BEA)
+
+     * Support has been added for this new architecture.
+
+  RS6000 (POWER/PowerPC)
+
+     * Support for the PowerPC 750CL paired-single instructions has been
+       added with a new powerpc-*-linux*paired* target configuration. It
+       is enabled by an associated -mpaired option and can be accessed
+       using new built-in functions.
+     * Support for auto-detecting architecture and system configuration to
+       auto-select processor optimization tuning.
+     * Support for VMX on AIX 5.3 has been added.
+     * Support for AIX Version 6.1 has been added.
+
+  S/390, zSeries and System z9
+
+     * Support for the IBM System z9 EC/BC processor (z9 GA3) has been
+       added. When using the -march=z9-ec option, the compiler will
+       generate code making use of instructions provided by the decimal
+       floating point facility and the floating point conversion facility
+       (pfpo). Besides the instructions used to implement decimal floating
+       point operations these facilities also contain instructions to move
+       between general purpose and floating point registers and to modify
+       and copy the sign-bit of floating point values.
+     * When the -march=z9-ec option is used the new
+       -mhard-dfp/-mno-hard-dfp options can be used to specify whether the
+       decimal floating point hardware instructions will be used or not.
+       If none of them is given the hardware support is enabled by
+       default.
+     * The -mstack-guard option can now be omitted when using stack
+       checking via -mstack-size in order to let GCC choose a sensible
+       stack guard value according to the frame size of each function.
+     * Various changes to improve performance of generated code have been
+       implemented, including:
+          + The condition code set by an add logical with carry
+            instruction is now available for overflow checks like: a + b +
+            carry < b.
+          + The test data class instruction is now used to implement
+            sign-bit and infinity checks of binary and decimal floating
+            point numbers.
+
+  Xtensa
+
+     * Stack unwinding for exception handling now uses by default a
+       specialized version of DWARF unwinding. This is not
+       binary-compatible with the setjmp/longjmp (sjlj) unwinding used for
+       Xtensa with previous versions of GCC.
+     * For Xtensa processors that include the Conditional Store option,
+       the built-in functions for atomic memory access are now implemented
+       using S32C1I instructions.
+     * If the Xtensa NSA option is available, GCC will use it to implement
+       the __builtin_ctz and __builtin_clz functions.
+
+Documentation improvements
+
+     * Existing libstdc++ documentation has been edited and restructured
+       into a single DocBook XML manual. The results can be viewed online
+       [24]here.
+
+Other significant improvements
+
+     * The compiler's --help command-line option has been extended so that
+       it now takes an optional set of arguments. These arguments restrict
+       the information displayed to specific classes of command-line
+       options, and possibly only a subset of those options. It is also
+       now possible to replace the descriptive text associated with each
+       displayed option with an indication of its current value, or for
+       binary options, whether it has been enabled or disabled.
+       Here are some examples. The following will display all the options
+       controlling warning messages:
+      --help=warnings
+
+       Whereas this will display all the undocumented, target specific
+       options:
+      --help=target,undocumented
+
+       This sequence of commands will display the binary optimizations
+       that are enabled by -O3:
+      gcc -c -Q -O3 --help=optimizers > /tmp/O3-opts
+      gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts
+      diff /tmp/O2-opts /tmp/O3-opts | grep enabled
+
+     * The configure options --with-pkgversion and --with-bugurl have been
+       added. These allow distributors of GCC to include a
+       distributor-specific string in manuals and --version output and to
+       specify the URL for reporting bugs in their versions of GCC.
+
+GCC 4.3.1
+
+   This is the [25]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.3.1 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+Target Specific Changes
+
+  IA-32/x86-64
+
+    ABI changes
+
+     * Starting with GCC 4.3.1, decimal floating point variables are
+       aligned to their natural boundaries when they are passed on the
+       stack for i386.
+
+    Command-line changes
+
+     * Starting with GCC 4.3.1, the -mcld option has been added to
+       automatically generate a cld instruction in the prologue of
+       functions that use string instructions. This option is used for
+       backward compatibility on some operating systems and can be enabled
+       by default for 32-bit x86 targets by configuring GCC with the
+       --enable-cld configure option.
+
+GCC 4.3.2
+
+   This is the [26]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.3.2 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+GCC 4.3.3
+
+   This is the [27]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.3.3 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+   Please send FSF & GNU inquiries & questions to [28]gnu@gnu.org. There
+   are also [29]other ways to contact the FSF.
+
+   These pages are maintained by [30]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [31]GCC manuals. If that fails, the
+    [32]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [33]gcc@gnu.org or [34]gcc@gcc.gnu.org.
+    All of our lists have [35]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-04-19 [36]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-4.3/changes.html#4.3.3
+   2. http://gmplib.org/
+   3. http://www.mpfr.org/
+   4. http://gcc.gnu.org/install/prerequisites.html
+   5. http://gcc.gnu.org/ml/gcc-announce/2001/msg00000.html
+   6. http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options
+   7. http://gcc.gnu.org/gcc-4.3/porting_to.html
+   8. http://www.mpfr.org/
+   9. http://www.mpfr.org/
+  10. http://www.mpfr.org/
+  11. http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
+  12. http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
+  13. http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
+  14. http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01.html#m anual.intro.status.standard.tr1
+  15. http://gcc.gnu.org/onlinedocs/libstdc++/manual/parallel_mode.html
+  16. http://gmplib.org/
+  17. http://www.mpfr.org/
+  18. http://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#Code-Gen-Options
+  19. http://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html#index-g_t_0040code_007bfinit-local-zero_007d-167
+  20. http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gfortran/GAMMA.html
+  21. http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gfortran/LGAMMA.html
+  22. http://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html
+  23. http://gcc.gnu.org/onlinedocs/gfortran/BOZ-literal-constants.html
+  24. http://gcc.gnu.org/onlinedocs/libstdc++/
+  25. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.1
+  26. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.2
+  27. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.3.3
+  28. mailto:gnu@gnu.org
+  29. http://www.gnu.org/home.html#ContactInfo
+  30. http://gcc.gnu.org/about.html
+  31. http://gcc.gnu.org/onlinedocs/
+  32. mailto:gcc-help@gcc.gnu.org
+  33. mailto:gcc@gnu.org
+  34. mailto:gcc@gcc.gnu.org
+  35. http://gcc.gnu.org/lists.html
+  36. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.2/index.html
+                           GCC 4.2 Release Series
+
+   May 19, 2008
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 4.2.4.
+
+   This release is a bug-fix release, containing fixes for regressions in
+   GCC 4.2.3 relative to previous releases of GCC.
+
+Release History
+
+   GCC 4.2.4
+          May 19, 2008 ([2]changes)
+
+   GCC 4.2.3
+          February 1, 2008 ([3]changes)
+
+   GCC 4.2.2
+          October 7, 2007 ([4]changes)
+
+   GCC 4.2.1
+          July 18, 2007 ([5]changes)
+
+   GCC 4.2.0
+          May 13, 2007 ([6]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [7]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [8]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [9]GCC project
+   web site or contact the [10]GCC development mailing list.
+
+   To obtain GCC please use [11]our mirror sites or [12]our SVN server.
+
+   Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
+   are also [14]other ways to contact the FSF.
+
+   These pages are maintained by [15]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [16]GCC manuals. If that fails, the
+    [17]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [18]gcc@gnu.org or [19]gcc@gcc.gnu.org.
+    All of our lists have [20]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-10-04 [21]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-4.2/changes.html
+   3. http://gcc.gnu.org/gcc-4.2/changes.html
+   4. http://gcc.gnu.org/gcc-4.2/changes.html
+   5. http://gcc.gnu.org/gcc-4.2/changes.html
+   6. http://gcc.gnu.org/gcc-4.2/changes.html
+   7. http://gcc.gnu.org/gcc-4.2/buildstat.html
+   8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   9. http://gcc.gnu.org/index.html
+  10. mailto:gcc@gcc.gnu.org
+  11. http://gcc.gnu.org/mirrors.html
+  12. http://gcc.gnu.org/svn.html
+  13. mailto:gnu@gnu.org
+  14. http://www.gnu.org/home.html#ContactInfo
+  15. http://gcc.gnu.org/about.html
+  16. http://gcc.gnu.org/onlinedocs/
+  17. mailto:gcc-help@gcc.gnu.org
+  18. mailto:gcc@gnu.org
+  19. mailto:gcc@gcc.gnu.org
+  20. http://gcc.gnu.org/lists.html
+  21. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.2/changes.html
+                           GCC 4.2 Release Series
+                      Changes, New Features, and Fixes
+
+Caveats
+
+     * GCC no longer accepts the -fshared-data option. This option has had
+       no effect in any GCC 4 release; the targets to which the option
+       used to apply had been removed before GCC 4.0.
+
+General Optimizer Improvements
+
+     * New command-line options specify the possible relationships among
+       parameters and between parameters and global data. For example,
+       -fargument-noalias-anything specifies that arguments do not alias
+       any other storage.
+       Each language will automatically use whatever option is required by
+       the language standard. You should not need to use these options
+       yourself.
+
+New Languages and Language specific improvements
+
+     * [1]OpenMP is now supported for the C, C++ and Fortran compilers.
+     * New command-line options -fstrict-overflow and -Wstrict-overflow
+       have been added. -fstrict-overflow tells the compiler that it may
+       assume that the program follows the strict signed overflow
+       semantics permitted for the language: for C and C++ this means that
+       the compiler may assume that signed overflow does not occur. For
+       example, a loop like
+      for (i = 1; i > 0; i *= 2)
+
+       is presumably intended to continue looping until i overflows. With
+       -fstrict-overflow, the compiler may assume that signed overflow
+       will not occur, and transform this into an infinite loop.
+       -fstrict-overflow is turned on by default at -O2, and may be
+       disabled via -fno-strict-overflow. The -Wstrict-overflow option may
+       be used to warn about cases where the compiler assumes that signed
+       overflow will not occur. It takes five different levels:
+       -Wstrict-overflow=1 to 5. See the [2]documentation for details.
+       -Wstrict-overflow=1 is enabled by -Wall.
+     * The new command-line option -fno-toplevel-reorder directs GCC to
+       emit top-level functions, variables, and asm statements in the same
+       order that they appear in the input file. This is intended to
+       support existing code which relies on a particular ordering (for
+       example, code which uses top-level asm statements to switch
+       sections). For new code, it is generally better to use function and
+       variable attributes. The -fno-toplevel-reorder option may be used
+       for most cases which currently use -fno-unit-at-a-time. The
+       -fno-unit-at-a-time option will be removed in some future version
+       of GCC. If you know of a case which requires -fno-unit-at-a-time
+       which is not fixed by -fno-toplevel-reorder, please [3]open a bug
+       report.
+
+  C family
+
+     * The pragma redefine_extname will now macro expand its tokens for
+       compatibility with SunPRO.
+     * In the next release of GCC, 4.3, -std=c99 or -std=gnu99 will direct
+       GCC to handle inline functions as specified in the C99 standard. In
+       preparation for this, GCC 4.2 will warn about any use of non-static
+       inline functions in gnu99 or c99 mode. This new warning may be
+       disabled with the new gnu_inline function attribute or the new
+       -fgnu89-inline command-line option. Also, GCC 4.2 and later will
+       define one of the preprocessor macros __GNUC_GNU_INLINE__ or
+       __GNUC_STDC_INLINE__ to indicate the semantics of inline functions
+       in the current compilation.
+     * A new command-line option -Waddress has been added to warn about
+       suspicious uses of memory addresses as, for example, using the
+       address of a function in a conditional expression, and comparisons
+       against the memory address of a string literal. This warning is
+       enabled by -Wall.
+
+  C++
+
+     * C++ visibility handling has been overhauled.
+       Restricted visiblity is propagated from classes to members, from
+       functions to local statics, and from templates and template
+       arguments to instantiations, unless the latter has explicitly
+       declared visibility.
+       The visibility attribute for a class must come between the
+       class-key and the name, not after the closing brace.
+       Attributes are now allowed for enums and elaborated-type-specifiers
+       that only declare a type.
+       Members of the anonymous namespace are now local to a particular
+       translation unit, along with any other declarations which use them,
+       though they are still treated as having external linkage for
+       language semantics.
+     * The (undocumented) extension which permitted templates with default
+       arguments to be bound to template template parameters with fewer
+       parameters has been removed. For example:
+        template <template <typename> class C>
+        void f(C<double>) {}
+
+        template <typename T, typename U = int>
+        struct S {};
+
+        template void f(S<double>);
+
+       is no longer accepted by G++. The reason this code is not accepted
+       is that S is a template with two parameters; therefore, it cannot
+       be bound to C which has only one parameter.
+     * The <?, >?, <?=, and >?= operators, deprecated in previous GCC
+       releases, have been removed.
+     * The command-line option -fconst-strings, deprecated in previous GCC
+       releases, has been removed.
+     * The configure variable enable-__cxa_atexit is now enabled by
+       default for more targets. Enabling this variable is necessary in
+       order for static destructors to be executed in the correct order,
+       but it depends upon the presence of a non-standard C library in the
+       target library in order to work. The variable is now enabled for
+       more targets which are known to have suitable C libraries.
+     * -Wextra will produce warnings for if statements with a semicolon as
+       the only body, to catch code like:
+         if (a);
+            return 1;
+         return 0;
+
+       To suppress the warning in valid cases, use { } instead.
+     * The C++ frontend now also produces strict aliasing warnings when
+       -fstrict-aliasing -Wstrict-aliasing is in effect.
+
+    Runtime Library (libstdc++)
+
+     * Added support for TR1 <random>, <complex>, and C compatibility
+       headers. In addition, a lock-free version of shared_ptr was
+       contributed as part of Phillip Jordan's Google Summer of Code
+       project on lock-free containers. ([4]Implementation status of TR1)
+     * In association with the Summer of Code work on lock-free
+       containers, the interface for atomic builtins was adjusted,
+       creating simpler alternatives for non-threaded code paths. Also,
+       usage was consolidated and all elements were moved from namespace
+       std to namespace__gnu_cxx. Affected interfaces are the functions
+       __exchange_and_add, __atomic_add, and the objects __mutex,
+       __recursive_mutex, and __scoped_lock.
+     * Support for versioning weak symbol names via namespace association
+       was added. However, as this changes the names of exported symbols,
+       this is turned off by default in the current ABI. Intrepid users
+       can enable this feature by using
+       --enable-symvers=gnu-versioned-namespace during configuration.
+     * Revised, simplified, and expanded policy-based associative
+       containers, including data types for tree and trie forms
+       (basic_tree, tree, trie), lists (list_update), and both
+       collision-chaining and probing hash-based containers
+       (basic_hash_table, cc_hash_table, gp_hash_table). More details per
+       the [5]documentation.
+     * The implementation of the debug mode was modified, whereby the
+       debug namespaces were nested inside of namespace std and namespace
+       __gnu_cxx in order to resolve some long standing corner cases
+       involving name lookup. Debug functionality from the policy-based
+       data structures was consolidated and enabled with the single macro,
+       _GLIBCXX_DEBUG. See PR 26142 for more information.
+     * Added extensions for type traits: __conditional_type,
+       __numeric_traits, __add_unsigned, __removed_unsigned, __enable_if.
+     * Added a typelist implementation for compile-time meta-programming.
+       Elements for typelist construction and operation can be found
+       within namespace __gnu_cxx::typelist.
+     * Added a new allocator, __gnu_cxx::throw_allocator, for testing
+       exception-safety.
+     * Enabled library-wide visibility control, allowing -fvisibility to
+       be used.
+     * Consolidated all nested namespaces and the conversion of
+       __gnu_internal implementation-private details to anonymous
+       namespaces whenever possible.
+     * Implemented LWG resolutions DR 431 and DR 538.
+
+  Fortran
+
+     * Support for allocatable components has been added (TR 15581 and
+       Fortran 2003).
+     * Support for the Fortran 2003 streaming IO extension has been added.
+     * The GNU Fortran compiler now uses 4-byte record markers by default
+       for unformatted files to be compatible with g77 and most other
+       compilers. The implementation allows for records greater than 2 GB
+       and is compatible with several other compilers. Older versions of
+       gfortran used 8-byte record markers by default (on most systems).
+       In order to change the length of the record markers, e.g. to read
+       unformatted files created by older gfortran versions, the
+       [6]-frecord-marker=8 option can be used.
+
+  Java (GCJ)
+
+     * A new command-line option -static-libgcj has been added for targets
+       that use a linker compatible with GNU Binutils. As its name
+       implies, this causes libgcj to be linked statically. In some cases
+       this causes the resulting executable to start faster and use less
+       memory than if the shared version of libgcj were used. However
+       caution should be used as it can also cause essential parts of the
+       library to be omitted. Some of these issues are discussed in:
+       [7]http://gcc.gnu.org/wiki/Statically_linking_libgcj
+     * fastjar is no longer bundled with GCC. To build libgcj, you will
+       need either InfoZIP (both zip and unzip) or an external jar
+       program. In the former case, the GCC build will install a jar shell
+       script that is based on InfoZIP and provides the same functionality
+       as fastjar.
+
+New Targets and Target Specific Improvements
+
+  IA-32/x86-64
+
+     * -mtune=generic can now be used to generate code running well on
+       common x86 chips. This includes AMD Athlon, AMD Opteron, Intel
+       Pentium-M, Intel Pentium 4 and Intel Core 2.
+     * -mtune=native and -march=native will produce code optimized for the
+       host architecture as detected using the cpuid instruction.
+     * Added a new command-line option -fstackrealign and and
+       __attribute__ ((force_align_arg_pointer)) to realign the stack at
+       runtime. This allows functions compiled with a vector-aligned stack
+       to be invoked from legacy objects that keep only word-alignment.
+
+  SPARC
+
+     * The default CPU setting has been changed from V7 to V9 in 32-bit
+       mode on Solaris 7 and above. This is already the case in 64-bit
+       mode. It can be overridden by specifying --with-cpu at configure
+       time.
+     * Back-end support of built-in functions for atomic memory access has
+       been implemented.
+     * Support for the Sun UltraSPARC T1 (Niagara) processor has been
+       added.
+
+  M32C
+
+     * Various bug fixes have made some functions (notably, functions
+       returning structures) incompatible with previous releases.
+       Recompiling all libraries is recommended. Note that code quality
+       has considerably improved since 4.1, making a recompile even more
+       beneficial.
+
+  MIPS
+
+     * Added support for the Broadcom SB-1A core.
+
+  IA-64
+
+     * Added support for IA-64 data and control speculation. By default
+       speculation is enabled only during second scheduler pass. A number
+       of machine flags was introduced to control the usage of speculation
+       for both scheduler passes.
+
+  HPPA
+
+     * Added Java language support (libffi and libjava) for 32-bit HP-UX
+       11 target.
+
+Obsolete Systems
+
+Documentation improvements
+
+  PDF Documentation
+
+     * A make pdf target has been added to the top-level makefile,
+       enabling automated production of PDF documentation files.
+       (Front-ends external to GCC should modify their Make-lang.in file
+       to add a lang.pdf: target.)
+
+Other significant improvements
+
+  Build system improvements
+
+     * All the components of the compiler are now bootstrapped by default.
+       This improves the resilience to bugs in the system compiler or
+       binary compatibility problems, as well as providing better testing
+       of GCC 4.2 itself. In addition, if you build the compiler from a
+       combined tree, the assembler, linker, etc. will also be
+       bootstrapped (i.e. built with themselves).
+       You can disable this behavior, and go back to the pre-GCC 4.2 set
+       up, by configuring GCC with --disable-bootstrap.
+     * The rules that configure follows to find target tools resemble more
+       closely the locations that the built compiler will search. In
+       addition, you can use the new configure option --with-target-tools
+       to specify where to find the target tools used during the build,
+       without affecting what the built compiler will use.
+       This can be especially useful when building packages of GCC. For
+       example, you may want to build GCC with GNU as or ld, even if the
+       resulting compiler to work with the native assembler and linker. To
+       do so, you can use --with-target-tools to point to the native
+       tools.
+
+  Incompatible changes to the build system
+
+     * Front-ends external to GCC should modify their Make-lang.in file to
+       replace double-colon rules (e.g. dvi::) with normal rules (like
+       lang.dvi:). Front-end makefile hooks do not use double-colon rules
+       anymore.
+     * Up to GCC 4.1, a popular way to specify the target tools used
+       during the build was to create directories named gas, binutils,
+       etc. in the build tree, and create links to the tools from there.
+       This does not work any more when the compiler is bootstrapped. The
+       new configure option --with-target-tools provides a better way to
+       achieve the same effect, and works for all native and cross
+       settings.
+
+   Please send FSF & GNU inquiries & questions to [8]gnu@gnu.org. There
+   are also [9]other ways to contact the FSF.
+
+   These pages are maintained by [10]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [11]GCC manuals. If that fails, the
+    [12]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [13]gcc@gnu.org or [14]gcc@gcc.gnu.org.
+    All of our lists have [15]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-01-25 [16]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/projects/gomp/
+   2. http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
+   3. http://gcc.gnu.org/bugs.html
+   4. http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01.html#manual.intro.status.standard.tr1
+   5. http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html
+   6. http://gcc.gnu.org/onlinedocs/gfortran/Runtime-Options.html
+   7. http://gcc.gnu.org/wiki/Statically_linking_libgcj
+   8. mailto:gnu@gnu.org
+   9. http://www.gnu.org/home.html#ContactInfo
+  10. http://gcc.gnu.org/about.html
+  11. http://gcc.gnu.org/onlinedocs/
+  12. mailto:gcc-help@gcc.gnu.org
+  13. mailto:gcc@gnu.org
+  14. mailto:gcc@gcc.gnu.org
+  15. http://gcc.gnu.org/lists.html
+  16. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.1/index.html
+                           GCC 4.1 Release Series
+
+   February 13, 2007
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 4.1.2.
+
+   This release is a bug-fix release, containing fixes for regressions in
+   GCC 4.1.1 relative to previous releases of GCC.
+
+Release History
+
+   GCC 4.1.2
+          February 13, 2007 ([2]changes)
+
+   GCC 4.1.1
+          May 24, 2006 ([3]changes)
+
+   GCC 4.1.0
+          February 28, 2006 ([4]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [5]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [6]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [7]GCC project
+   web site or contact the [8]GCC development mailing list.
+
+   To obtain GCC please use [9]our mirror sites or [10]our SVN server.
+
+   Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
+   are also [12]other ways to contact the FSF.
+
+   These pages are maintained by [13]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [14]GCC manuals. If that fails, the
+    [15]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org.
+    All of our lists have [18]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-10-04 [19]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
+   3. http://gcc.gnu.org/gcc-4.1/changes.html
+   4. http://gcc.gnu.org/gcc-4.1/changes.html
+   5. http://gcc.gnu.org/gcc-4.1/buildstat.html
+   6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   7. http://gcc.gnu.org/index.html
+   8. mailto:gcc@gcc.gnu.org
+   9. http://gcc.gnu.org/mirrors.html
+  10. http://gcc.gnu.org/svn.html
+  11. mailto:gnu@gnu.org
+  12. http://www.gnu.org/home.html#ContactInfo
+  13. http://gcc.gnu.org/about.html
+  14. http://gcc.gnu.org/onlinedocs/
+  15. mailto:gcc-help@gcc.gnu.org
+  16. mailto:gcc@gnu.org
+  17. mailto:gcc@gcc.gnu.org
+  18. http://gcc.gnu.org/lists.html
+  19. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.1/changes.html
+                           GCC 4.1 Release Series
+                      Changes, New Features, and Fixes
+
+   The latest release in the 4.1 release series is [1]GCC 4.1.2.
+
+Caveats
+
+General Optimizer Improvements
+
+     * GCC now has infrastructure for inter-procedural optimizations and
+       the following inter-procedural optimizations are implemented:
+          + Profile guided inlining. When doing profile feedback guided
+            optimization, GCC can now use the profile to make better
+            informed decisions on whether inlining of a function is
+            profitable or not. This means that GCC will no longer inline
+            functions at call sites that are not executed very often, and
+            that functions at hot call sites are more likely to be
+            inlined.
+            A new parameter min-inline-recursive-probability is also now
+            available to throttle recursive inlining of functions with
+            small average recursive depths.
+          + Discovery of pure and const functions, a form of side-effects
+            analysis. While older GCC releases could also discover such
+            special functions, the new IPA-based pass runs earlier so that
+            the results are available to more optimizers. The pass is also
+            simply more powerful than the old one.
+          + Analysis of references to static variables and type escape
+            analysis, also forms of side-effects analysis. The results of
+            these passes allow the compiler to be less conservative about
+            call-clobbered variables and references. This results in more
+            redundant loads being eliminated and in making static
+            variables candidates for register promotion.
+          + Improvement of RTL-based alias analysis. The results of type
+            escape analysis are fed to the RTL type-based alias analyzer,
+            allowing it to disambiguate more memory references.
+          + Interprocedural constant propagation and function versioning.
+            This pass looks for functions that are always called with the
+            same constant value for one or more of the function arguments,
+            and propagates those constants into those functions.
+          + GCC will now eliminate static variables whose usage was
+            optimized out.
+          + -fwhole-program --combine can now be used to make all
+            functions in program static allowing whole program
+            optimization. As an exception, the main function and all
+            functions marked with the new externally_visible attribute are
+            kept global so that programs can link with runtime libraries.
+     * GCC can now do a form of partial dead code elimination (PDCE) that
+       allows code motion of expressions to the paths where the result of
+       the expression is actually needed. This is not always a win, so the
+       pass has been limited to only consider profitable cases. Here is an
+       example:
+    int foo (int *, int *);
+    int
+    bar (int d)
+    {
+      int a, b, c;
+      b = d + 1;
+      c = d + 2;
+      a = b + c;
+      if (d)
+        {
+          foo (&b, &c);
+          a = b + c;
+        }
+      printf ("%d\n", a);
+    }
+
+       The a = b + c can be sunk to right before the printf. Normal code
+       sinking will not do this, it will sink the first one above into the
+       else-branch of the conditional jump, which still gives you two
+       copies of the code.
+     * GCC now has a value range propagation pass. This allows the
+       compiler to eliminate bounds checks and branches. The results of
+       the pass can also be used to accurately compute branch
+       probabilities.
+     * The pass to convert PHI nodes to straight-line code (a form of
+       if-conversion for GIMPLE) has been improved significantly. The two
+       most significant improvements are an improved algorithm to
+       determine the order in which the PHI nodes are considered, and an
+       improvement that allow the pass to consider if-conversions of basic
+       blocks with more than two predecessors.
+     * Alias analysis improvements. GCC can now differentiate between
+       different fields of structures in Tree-SSA's virtual operands form.
+       This lets stores/loads from non-overlapping structure fields not
+       conflict. A new algorithm to compute points-to sets was contributed
+       that can allows GCC to see now that p->a and p->b, where p is a
+       pointer to a structure, can never point to the same field.
+     * Various enhancements to auto-vectorization:
+          + Incrementally preserve SSA form when vectorizing.
+          + Incrementally preserve loop-closed form when vectorizing.
+          + Improvements to peeling for alignment: generate better code
+            when the misalignment of an access is known at compile time,
+            or when different accesses are known to have the same
+            misalignment, even if the misalignment amount itself is
+            unknown.
+          + Consider dependence distance in the vectorizer.
+          + Externalize generic parts of data reference analysis to make
+            this analysis available to other passes.
+          + Vectorization of conditional code.
+          + Reduction support.
+     * GCC can now partition functions in sections of hot and cold code.
+       This can significantly improve performance due to better
+       instruction cache locality. This feature works best together with
+       profile feedback driven optimization.
+     * A new pass to avoid saving of unneeded arguments to the stack in
+       vararg functions if the compiler can prove that they will not be
+       needed.
+     * Transition of basic block profiling to tree level implementation
+       has been completed. The new implementation should be considerably
+       more reliable (hopefully avoiding profile mismatch errors when
+       using -fprofile-use or -fbranch-probabilities) and can be used to
+       drive higher level optimizations, such as inlining.
+       The -ftree-based-profiling command-line option was removed and
+       -fprofile-use now implies disabling old RTL level loop optimizer
+       (-fno-loop-optimize). Speculative prefetching optimization
+       (originally enabled by -fspeculative-prefetching) was removed.
+
+New Languages and Language specific improvements
+
+  C and Objective-C
+
+     * The old Bison-based C and Objective-C parser has been replaced by a
+       new, faster hand-written recursive-descent parser.
+
+  Ada
+
+     * The build infrastructure for the Ada runtime library and tools has
+       been changed to be better integrated with the rest of the build
+       infrastructure of GCC. This should make doing cross builds of Ada a
+       bit easier.
+
+  C++
+
+     * ARM-style name-injection of friend declarations is no longer the
+       default. For example:
+          struct S {
+            friend void f();
+          };
+
+          void g() { f(); }
+       will not be accepted; instead a declaration of f will need to be
+       present outside of the scope of S. The new -ffriend-injection
+       option will enable the old behavior.
+     * The (undocumented) extension which permitted templates with default
+       arguments to be bound to template template parameters with fewer
+       parameters has been deprecated, and will be removed in the next
+       major release of G++. For example:
+       template <template <typename> class C>
+       void f(C<double>) {}
+
+       template <typename T, typename U = int>
+       struct S {};
+
+       template void f(S<double>);
+
+       makes use of the deprecated extension. The reason this code is not
+       valid ISO C++ is that S is a template with two parameters;
+       therefore, it cannot be bound to C which has only one parameter.
+
+    Runtime Library (libstdc++)
+
+     * Optimization work:
+          + A new implementation of std::search_n is provided, better
+            performing in case of random access iterators.
+          + Added further efficient specializations of istream functions,
+            i.e., character array and string extractors.
+          + Other smaller improvements throughout.
+     * Policy-based associative containers, designed for high-performance,
+       flexibility and semantic safety are delivered in ext/pb_assoc.
+     * A versatile string class, __gnu_cxx::__versa_string, providing
+       facilities conforming to the standard requirements for
+       basic_string, is delivered in <ext/vstring.h>. In particular:
+          + Two base classes are provided: the default one avoids
+            reference counting and is optimized for short strings; the
+            alternate one, still uses it while improving in a few low
+            level areas (e.g., alignment). See vstring_fwd.h for some
+            useful typedefs.
+          + Various algorithms have been rewritten (e.g., replace), the
+            code streamlined and simple optimizations added.
+          + Option 3 of DR 431 is implemented for both available bases,
+            thus improving the support for stateful allocators.
+     * As usual, many bugs have been fixed (e.g., libstdc++/13583,
+       libstdc++/23953) and LWG resolutions put into effect for the first
+       time (e.g., DR 280, DR 464, N1780 recommendations for DR 233, TR1
+       Issue 6.19). The implementation status of TR1 is now tracked in the
+       docs in tr1.html.
+
+  Objective-C++
+
+     * A new language front end for Objective-C++ has been added. This
+       language allows users to mix the object oriented features of
+       Objective-C with those of C++.
+
+  Java (GCJ)
+
+     * Core library (libgcj) updates based on GNU Classpath 0.15 - 0.19
+       features (plus some 0.20 bug-fixes)
+          + Networking
+               o The java.net.HttpURLConnection implementation no longer
+                 buffers the entire response body in memory. This means
+                 that response bodies larger than available memory can now
+                 be handled.
+          + (N)IO
+               o NIO FileChannel.map implementation, fast bulk put
+                 implementation for DirectByteBuffer (speeds up this
+                 method 10x).
+               o FileChannel.lock() and FileChannel.force() implemented.
+          + XML
+               o gnu.xml fix for nodes created outside a namespace
+                 context.
+               o Add support for output indenting and
+                 cdata-section-elements output instruction in
+                 xml.transform.
+               o xml.xpath corrections for cases where elements/attributes
+                 might have been created in non-namespace-aware mode.
+                 Corrections to handling of XSL variables and minor
+                 conformance updates.
+          + AWT
+               o GNU JAWT implementation, the AWT Native Interface, which
+                 allows direct access to native screen resources from
+                 within a Canvas's paint method. GNU Classpath Examples
+                 comes with a Demo, see libjava/classpath/examples/README.
+               o awt.datatransfer updated to 1.5 with support for
+                 FlavorEvents. The gtk+ awt peers now allow copy/paste of
+                 text, images, URIs/files and serialized objects with
+                 other applications and tracking clipboard change events
+                 with gtk+ 2.6 (for gtk+ 2.4 only text and serialized
+                 objects are supported). A GNU Classpath Examples
+                 datatransfer Demo was added to show the new
+                 functionality.
+               o Split gtk+ awt peers event handling in two threads and
+                 improve gdk lock handling (solves several awt lock ups).
+               o Speed up awt Image loading.
+               o Better gtk+ scrollbar peer implementation when using gtk+
+                 >= 2.6.
+               o Handle image loading errors correctly for gdkpixbuf and
+                 MediaTracker.
+               o Better handle GDK lock. Properly prefix gtkpeer native
+                 functions (cp_gtk).
+               o GdkGraphics2D has been updated to use Cairo 0.5.x or
+                 higher.
+               o BufferedImage and GtkImage rewrites. All image drawing
+                 operations should now work correctly (flipping requires
+                 gtk+ >= 2.6)
+               o Future Graphics2D, image and text work is documented at:
+                 [2]http://developer.classpath.org/mediation/ClasspathGrap
+                 hicsImagesText
+               o When gtk+ 2.6 or higher is installed the default log
+                 handler will produce stack traces whenever a WARNING,
+                 CRITICAL or ERROR message is produced.
+          + Free Swing
+               o The RepaintManager has been reworked for more efficient
+                 painting, especially for large GUIs.
+               o The layout manager OverlayLayout has been implemented,
+                 the BoxLayout has been rewritten to make use of the
+                 SizeRequirements utility class and caching for more
+                 efficient layout.
+               o Improved accessibility support.
+               o Significant progress has been made in the implementation
+                 of the javax.swing.plaf.metal package, with most UI
+                 delegates in a working state now. Please test this with
+                 your own applications and provide feedback that will help
+                 us to improve this package.
+               o The GUI demo (gnu.classpath.examples.swing.Demo) has been
+                 extended to highlight various features in our Free Swing
+                 implementation. And it includes a look and feel switcher
+                 for Metal (default), Ocean and GNU themes.
+               o The javax.swing.plaf.multi package is now implemented.
+               o Editing and several key actions for JTree and JTable were
+                 implemented.
+               o Lots of icons and look and feel improvements for Free
+                 Swing basic and metal themes were added. Try running the
+                 GNU Classpath Swing Demo in examples
+                 (gnu.classpath.examples.swing.Demo) with:
+                 -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFee
+                 l or
+                 -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFee
+                 l
+               o Start of styled text capabilites for java.swing.text.
+               o DefaultMutableTreeNode pre-order, post-order, depth-first
+                 and breadth-first traversal enumerations implemented.
+               o JInternalFrame colors and titlebar draw properly.
+               o JTree is working up to par (icons, selection and keyboard
+                 traversal).
+               o JMenus were made more compatible in visual and
+                 programmatic behavior.
+               o JTable changeSelection and multiple selections
+                 implemented.
+               o JButton and JToggleButton change states work properly
+                 now.
+               o JFileChooser fixes.
+               o revalidate() and repaint() fixes which make Free Swing
+                 much more responsive.
+               o MetalIconFactory implemented.
+               o Free Swing Top-Level Compatibility. JFrame, JDialog,
+                 JApplet, JInternalFrame, and JWindow are now 1.5
+                 compatible in the sense that you can call add() and
+                 setLayout() directly on them, which will have the same
+                 effect as calling getContentPane().add() and
+                 getContentPane().setLayout().
+               o The JTree interface has been completed. JTrees now
+                 recognizes mouse clicks and selections work.
+               o BoxLayout works properly now.
+               o Fixed GrayFilter to actually work.
+               o Metal SplitPane implemented.
+               o Lots of Free Swing text and editor stuff work now.
+          + Free RMI and Corba
+               o Andrew Watson, Vice President and Technical Director of
+                 the Object Management Group, has officially assigned us
+                 20 bit Vendor Minor Code Id: 0x47430 ("GC") that will
+                 mark remote classpath-specific system exceptions.
+                 Obtaining the VMCID means that GNU Classpath now is a
+                 recogniseable type of node in a highly interoperable
+                 CORBA world.
+               o GNU Classpath now includes the first working draft to
+                 support the RMI over IIOP protocol. The current
+                 implementation is capable of remote invocations,
+                 transferring various Serializables and Externalizables
+                 via RMI-IIOP protocol. It can flatten graphs and, at
+                 least for the simple cases, is interoperable with 1.5
+                 JDKs.
+               o org.omg.PortableInterceptor and related functionality in
+                 other packages is now implemented:
+                    # The sever and client interceptors work as required
+                      since 1.4.
+                    # The IOR interceptor works as needed for 1.5.
+               o The org.omg.DynamicAny package is completed and passes
+                 the prepared tests.
+               o The Portable Object Adapter should now support the output
+                 of the recent IDL to java compilers. These compilers now
+                 generate servants and not CORBA objects as before, making
+                 the output depend on the existing POA implementation.
+                 Completing POA means that such code can already be tried
+                 to run on Classpath. Our POA is tested for the following
+                 usager scenarios:
+                    # POA converts servant to the CORBA object.
+                    # Servant provides to the CORBA object.
+                    # POA activates new CORBA object with the given Object
+                      Id (byte array) that is later accessible for the
+                      servant.
+                    # During the first call, the ServantActivator provides
+                      servant for this and all subsequent calls on the
+                      current object.
+                    # During each call, the ServantLocator provides
+                      servant for this call only.
+                    # ServantLocator or ServantActivator forwards call to
+                      another server.
+                    # POA has a single servant, responsible for all
+                      objects.
+                    # POA has a default servant, but some objects are
+                      explicitly connected to they specific servants.
+                 The POA is verified using tests from the former
+                 cost.omg.org.
+               o The CORBA implementation is now a working prototype that
+                 should support features up to 1.3 inclusive. We invite
+                 groups writing CORBA dependent applications to try
+                 Classpath implementation, reporting any possible bugs.
+                 The CORBA prototype is interoperable with Sun's
+                 implementation v 1.4, transferring object references,
+                 primitive types, narrow and wide strings, arrays,
+                 structures, trees, abstract interfaces and value types
+                 (feature of CORBA 2.3) between these two platforms.
+                 Remote exceptions are transferred and handled correctly.
+                 The stringified object references (IORs) from various
+                 sources are parsed as required. The transient (for
+                 current session) and permanent (till jre restart)
+                 redirections work. Both Little and Big Endian encoded
+                 messages are accepted. The implementation is verified
+                 using tests from the former cost.omg.org. The current
+                 release includes working examples (see the examples
+                 directory), demonstrating the client-server
+                 communication, using either CORBA Request or IDL-based
+                 stub (usually generated by a IDL to java compiler). These
+                 examples also show how to use the Classpath CORBA naming
+                 service. The IDL to java compiler is not yet written, but
+                 as our library must be compatible, it naturally accepts
+                 the output of other idlj implementations.
+          + Misc
+               o Updated TimeZone data against Olson tzdata2005l.
+               o Make zip and jar packages UTF-8 clean.
+               o "native" code builds and compiles (warning free) on
+                 Darwin and Solaris.
+               o java.util.logging.FileHandler now rotates files.
+               o Start of a generic JDWP framework in gnu/classpath/jdwp.
+                 This is unfinished, but feedback (at classpath@gnu.org)
+                 from runtime hackers is greatly appreciated. Although
+                 most of the work is currently being done around gcj/gij
+                 we want this framework to be as VM neutral as possible.
+                 Early design is described in:
+                 [3]http://gcc.gnu.org/ml/java/2005-05/msg00260.html
+               o QT4 AWT peers, enable by giving configure
+                 --enable-qt-peer. Included, but not ready for production
+                 yet. They are explicitly disabled and not supported. But
+                 if you want to help with the development of these new
+                 features we are interested in feedback. You will have to
+                 explicitly enable them to try them out (and they will
+                 most likely contain bugs).
+               o Documentation fixes all over the place. See
+                 [4]http://developer.classpath.org/doc/
+
+New Targets and Target Specific Improvements
+
+  IA-32/x86-64
+
+     * The x86-64 medium model (that allows building applications whose
+       data segment exceeds 4GB) was redesigned to match latest ABI draft.
+       New implementation split large datastructures into separate segment
+       improving performance of accesses to small datastructures and also
+       allows linking of small model libraries into medium model programs
+       as long as the libraries are not accessing the large datastructures
+       directly. Medium model is also supported in position independent
+       code now.
+       The ABI change results in partial incompatibility among medium
+       model objects. Linking medium model libraries (or objects) compiled
+       with new compiler into medium model program compiled with older
+       will likely result in exceeding ranges of relocations.
+       Binutils 2.16.91 or newer are required for compiling medium model
+       now.
+
+  RS6000 (POWER/PowerPC)
+
+     * The AltiVec vector primitives in <altivec.h> are now implemented in
+       a way that puts a smaller burden on the preprocessor, instead
+       processing the "overloading" in the front ends. This should benefit
+       compilation speed on AltiVec vector code.
+     * AltiVec initializers now are generated more efficiently.
+     * The popcountb instruction available on POWER5 now is generated.
+     * The floating point round to integer instructions available on
+       POWER5+ now is generated.
+     * Floating point divides can be synthesized using the floating point
+       reciprocal estimate instructions.
+     * Double precision floating point constants are initialized as single
+       precision values if they can be represented exactly.
+
+  S/390, zSeries and System z9
+
+     * Support for the IBM System z9 109 processor has been added. When
+       using the -march=z9-109 option, the compiler will generate code
+       making use of instructions provided by the extended immediate
+       facility.
+     * Support for 128-bit IEEE floating point has been added. When using
+       the -mlong-double-128 option, the compiler will map the long double
+       data type to 128-bit IEEE floating point. Using this option
+       constitutes an ABI change, and requires glibc support.
+     * Various changes to improve performance of generated code have been
+       implemented, including:
+          + In functions that do not require a literal pool, register %r13
+            (which is traditionally reserved as literal pool pointer), can
+            now be freely used for other purposes by the compiler.
+          + More precise tracking of register use allows the compiler to
+            generate more efficient function prolog and epilog code in
+            certain cases.
+          + The SEARCH STRING, COMPARE LOGICAL STRING, and MOVE STRING
+            instructions are now used to implement C string functions.
+          + The MOVE CHARACTER instruction with single byte overlap is now
+            used to implement the memset function with non-zero fill byte.
+          + The LOAD ZERO instructions are now used where appropriate.
+          + The INSERT CHARACTERS UNDER MASK, STORE CHARACTERS UNDER MASK,
+            and INSERT IMMEDIATE instructions are now used more frequently
+            to optimize bitfield operations.
+          + The BRANCH ON COUNT instruction is now used more frequently.
+            In particular, the fact that a loop contains a subroutine call
+            no longer prevents the compiler from using this instruction.
+          + The compiler is now aware that all shift and rotate
+            instructions implicitly truncate the shift count to six bits.
+     * Back-end support for the following generic features has been
+       implemented:
+          + The full set of [5]built-in functions for atomic memory
+            access.
+          + The -fstack-protector feature.
+          + The optimization pass avoiding unnecessary stores of incoming
+            argument registers in functions with variable argument list.
+
+  SPARC
+
+     * The default code model in 64-bit mode has been changed from
+       Medium/Anywhere to Medium/Middle on Solaris.
+     * TLS support is disabled by default on Solaris prior to release 10.
+       It can be enabled on TLS-capable Solaris 9 versions (4/04 release
+       and later) by specifying --enable-tls at configure time.
+
+  MorphoSys
+
+     * Support has been added for this new architecture.
+
+Obsolete Systems
+
+Documentation improvements
+
+Other significant improvements
+
+     * GCC can now emit code for protecting applications from
+       stack-smashing attacks. The protection is realized by buffer
+       overflow detection and reordering of stack variables to avoid
+       pointer corruption.
+     * Some built-in functions have been fortified to protect them against
+       various buffer overflow (and format string) vulnerabilities.
+       Compared to the mudflap bounds checking feature, the safe builtins
+       have far smaller overhead. This means that programs built using
+       safe builtins should not experience any measurable slowdown.
+
+GCC 4.1.2
+
+   This is the [6]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.1.2 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+   When generating code for a shared library, GCC now recognizes that
+   global functions may be replaced when the program runs. Therefore, it
+   is now more conservative in deducing information from the bodies of
+   functions. For example, in this example:
+    void f() {}
+    void g() {
+     try { f(); }
+     catch (...) {
+       cout << "Exception";
+     }
+    }
+
+   G++ would previously have optimized away the catch clause, since it
+   would have concluded that f cannot throw exceptions. Because users may
+   replace f with another function in the main body of the program, this
+   optimization is unsafe, and is no longer performed. If you wish G++ to
+   continue to optimize as before, you must add a throw() clause to the
+   declaration of f to make clear that it does not throw exceptions.
+
+   Please send FSF & GNU inquiries & questions to [7]gnu@gnu.org. There
+   are also [8]other ways to contact the FSF.
+
+   These pages are maintained by [9]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [10]GCC manuals. If that fails, the
+    [11]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [12]gcc@gnu.org or [13]gcc@gcc.gnu.org.
+    All of our lists have [14]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-01-25 [15]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-4.1/changes.html#4.1.2
+   2. http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
+   3. http://gcc.gnu.org/ml/java/2005-05/msg00260.html
+   4. http://developer.classpath.org/doc/
+   5. http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
+   6. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.1.2
+   7. mailto:gnu@gnu.org
+   8. http://www.gnu.org/home.html#ContactInfo
+   9. http://gcc.gnu.org/about.html
+  10. http://gcc.gnu.org/onlinedocs/
+  11. mailto:gcc-help@gcc.gnu.org
+  12. mailto:gcc@gnu.org
+  13. mailto:gcc@gcc.gnu.org
+  14. http://gcc.gnu.org/lists.html
+  15. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.0/index.html
+                           GCC 4.0 Release Series
+
+   January 31, 2007
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 4.0.4.
+
+   This release is a bug-fix release, containing fixes for regressions in
+   GCC 4.0.3 relative to previous releases of GCC.
+
+Release History
+
+   GCC 4.0.4
+          January 31, 2007 ([2]changes)
+
+   GCC 4.0.3
+          March 10, 2006 ([3]changes)
+
+   GCC 4.0.2
+          September 28, 2005 ([4]changes)
+
+   GCC 4.0.1
+          July 7, 2005 ([5]changes)
+
+   GCC 4.0.0
+          April 20, 2005 ([6]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [7]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [8]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [9]GCC project
+   web site or contact the [10]GCC development mailing list.
+
+   To obtain GCC please use [11]our mirror sites, or [12]our SVN server.
+
+   Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
+   are also [14]other ways to contact the FSF.
+
+   These pages are maintained by [15]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [16]GCC manuals. If that fails, the
+    [17]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [18]gcc@gnu.org or [19]gcc@gcc.gnu.org.
+    All of our lists have [20]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [21]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.4
+   3. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.3
+   4. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.2
+   5. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.1
+   6. http://gcc.gnu.org/gcc-4.0/changes.html
+   7. http://gcc.gnu.org/gcc-4.0/buildstat.html
+   8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   9. http://gcc.gnu.org/index.html
+  10. mailto:gcc@gcc.gnu.org
+  11. http://gcc.gnu.org/mirrors.html
+  12. http://gcc.gnu.org/svn.html
+  13. mailto:gnu@gnu.org
+  14. http://www.gnu.org/home.html#ContactInfo
+  15. http://gcc.gnu.org/about.html
+  16. http://gcc.gnu.org/onlinedocs/
+  17. mailto:gcc-help@gcc.gnu.org
+  18. mailto:gcc@gnu.org
+  19. mailto:gcc@gcc.gnu.org
+  20. http://gcc.gnu.org/lists.html
+  21. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-4.0/changes.html
+                           GCC 4.0 Release Series
+                      Changes, New Features, and Fixes
+
+   The latest release in the 4.0 release series is [1]GCC 4.0.4.
+
+Caveats
+
+     * GCC now generates location lists by default when compiling with
+       debug info and optimization.
+          + GDB 6.0 and older crashes when it sees location lists. GDB 6.1
+            or later is needed to debug binaries containing location
+            lists.
+          + When you are trying to view a value of a variable in a part of
+            a function where it has no location (for example when the
+            variable is no longer used and thus its location was used for
+            something else) GDB will say that it is not available.
+       You can disable generating location lists by -fno-var-tracking.
+     * GCC no longer accepts the -fwritable-strings option. Use named
+       character arrays when you need a writable string.
+     * The options -freduce-all-givs and -fmove-all-movables have been
+       discontinued. They were used to circumvent a shortcoming in the
+       heuristics of the old loop optimization code with respect to common
+       Fortran constructs. The new (tree) loop optimizer works differently
+       and doesn't need those work-arounds.
+     * The graph-coloring register allocator, formerly enabled by the
+       option -fnew-ra, has been discontinued.
+     * -I- has been deprecated. -iquote is meant to replace the need for
+       this option.
+     * The MIPS -membedded-pic and -mrnames options have been removed.
+     * All MIPS targets now require the GNU assembler. In particular, IRIX
+       configurations can no longer use the MIPSpro assemblers, although
+       they do still support the MIPSpro linkers.
+     * The SPARC option -mflat has been removed.
+     * English-language diagnostic messages will now use Unicode quotation
+       marks in UTF-8 locales. (Non-English messages already used the
+       quotes appropriate for the language in previous releases.) If your
+       terminal does not support UTF-8 but you are using a UTF-8 locale
+       (such locales are the default on many GNU/Linux systems) then you
+       should set LC_CTYPE=C in the environment to disable that locale.
+       Programs that parse diagnostics and expect plain ASCII
+       English-language messages should set LC_ALL=C. See [2]Markus Kuhn's
+       explanation of Unicode quotation marks for more information.
+     * The specs file is no longer installed on most platforms. Most users
+       will be totally unaffected. However, if you are accustomed to
+       editing the specs file yourself, you will now have to use the
+       -dumpspecs option to generate the specs file, and then edit the
+       resulting file.
+
+General Optimizer Improvements
+
+     * The [3]tree ssa branch has been merged. This merge has brought in a
+       completely new optimization framework based on a higher level
+       intermediate representation than the existing RTL representation.
+       Numerous new code transformations based on the new framework are
+       available in GCC 4.0, including:
+          + Scalar replacement of aggregates
+          + Constant propagation
+          + Value range propagation
+          + Partial redundancy elimination
+          + Load and store motion
+          + Strength reduction
+          + Dead store elimination
+          + Dead and unreachable code elimination
+          + [4]Autovectorization
+          + Loop interchange
+          + Tail recursion by accumulation
+       Many of these passes outperform their counterparts from previous
+       GCC releases.
+     * [5]Swing Modulo Scheduling (SMS). An RTL level instruction
+       scheduling optimization intended for loops that perform heavy
+       computations.
+
+New Languages and Language specific improvements
+
+  C family
+
+     * The sentinel attribute has been added to GCC. This function
+       attribute allows GCC to warn when variadic functions such as execl
+       are not NULL terminated. See the GCC manual for a complete
+       description of its behavior.
+     * Given __attribute__((alias("target"))) it is now an error if target
+       is not a symbol, defined in the same translation unit. This also
+       applies to aliases created by #pragma weak alias=target. This is
+       because it's meaningless to define an alias to an undefined symbol.
+       On Solaris, the native assembler would have caught this error, but
+       GNU as does not.
+
+  C and Objective-C
+
+     * The -Wstrict-aliasing=2 option has been added. This warning catches
+       all unsafe cases, but it may also give a warning for some cases
+       that are safe.
+     * The cast-as-lvalue, conditional-expression-as-lvalue and
+       compound-expression-as-lvalue extensions, which were deprecated in
+       3.3.4 and 3.4, have been removed.
+     * The -fwritable-strings option, which was deprecated in 3.4, has
+       been removed.
+     * #pragma pack() semantics have been brought closer to those used by
+       other compilers. This also applies to C++.
+     * Taking the address of a variable with register storage is invalid
+       in C. GCC now issues an error instead of a warning.
+     * Arrays of incomplete element type are invalid in C. GCC now issues
+       an error for such arrays. Declarations such as extern struct s x[];
+       (where struct s has not been defined) can be moved after the
+       definition of struct s. Function parameters declared as arrays of
+       incomplete type can instead be declared as pointers.
+
+  C++
+
+     * When compiling without optimizations (-O0), the C++ frontend is
+       much faster than in any previous versions of GCC. Independent
+       testers have measured speed-ups up to 25% in real-world production
+       code, compared to the 3.4 family (which was already the fastest
+       version to date). Upgrading from older versions might show even
+       bigger improvements.
+     * ELF visibility attributes can now be applied to a class type, so
+       that it affects every member function of a class at once, without
+       having to specify each individually:
+class __attribute__ ((visibility("hidden"))) Foo
+{
+   int foo1();
+   void foo2();
+};
+       The syntax is deliberately similar to the __declspec() system used
+       by Microsoft Windows based compilers, allowing cross-platform
+       projects to easily reuse their existing macro system for denoting
+       exports and imports. By explicitly marking internal classes never
+       used outside a binary as hidden, one can completely avoid PLT
+       indirection overheads during their usage by the compiler. You can
+       find out more about the advantages of this at
+       [6]http://people.redhat.com/drepper/dsohowto.pdf
+     * The -fvisibility-inlines-hidden option has been added which marks
+       all inlineable functions as having hidden ELF visibility, thus
+       removing their symbol and typeinfo from the exported symbol table
+       of the output ELF binary. Using this option can reduce the exported
+       symbol count of template-heavy code by up to 40% with no code
+       change at all, thus notably improving link and load times for the
+       binary as well as a reduction in size of up to 10%. Also, check the
+       new [7]-fvisibility option.
+     * The compiler now uses the library interface specified by the [8]C++
+       ABI for thread-safe initialization of function-scope static
+       variables. Most users should leave this alone, but embedded
+       programmers may want to disable this by specifying
+       -fno-threadsafe-statics for a small savings in code size.
+     * Taking the address of an explicit register variable is no longer
+       supported. Note that C++ allows taking the address of variables
+       with register storage so this will continue to compile with a
+       warning. For example, assuming that r0 is a machine register:
+register int foo asm ("r0");
+register int bar;
+&foo; // error, no longer accepted
+&bar; // OK, with a warning
+     * G++ has an undocumented extension to virtual function covariancy
+       rules that allowed the overrider to return a type that was
+       implicitly convertable to the overridden function's return type.
+       For instance a function returning void * could be overridden by a
+       function returning T *. This is now deprecated and will be removed
+       in a future release.
+     * The G++ minimum and maximum operators (<? and >?) and their
+       compound forms (<?=) and >?=) have been deprecated and will be
+       removed in a future version. Code using these operators should be
+       modified to use std::min and std::max instead.
+     * Declaration of nested classes of class templates as friends are
+       supported:
+template <typename T> struct A {
+  class B {};
+};
+class C {
+  template <typename T> friend class A<T>::B;
+};
+       This complements the feature member functions of class templates as
+       friends introduced in GCC 3.4.0.
+     * When declaring a friend class using an unqualified name, classes
+       outside the innermost non-class scope are not searched:
+class A;
+namespace N {
+  class B {
+    friend class A;   // Refer to N::A which has not been declared yet
+                      // because name outside namespace N are not searched
+    friend class ::A; // Refer to ::A
+  };
+}
+       Hiding the friend name until declaration is still not implemented.
+     * Friends of classes defined outside their namespace are correctly
+       handled:
+namespace N {
+  class A;
+}
+class N::A {
+  friend class B; // Refer to N::B in GCC 4.0.0
+                  // but ::B in earlier versions of GCC
+};
+
+    Runtime Library (libstdc++)
+
+     * Optimization work:
+          + Added efficient specializations of istream functions for char
+            and wchar_t.
+          + Further performance tuning of strings, in particular wrt
+            single-char append and getline.
+          + iter_swap - and therefore most of the mutating algorithms -
+            now makes an unqualified call to swap when the value_type of
+            the two iterators is the same.
+     * A large subset of the features in Technical Report 1 (TR1 for
+       short) is experimentally delivered (i.e., no guarantees about the
+       implementation are provided. In particular it is not promised that
+       the library will remain link-compatible when code using TR1 is
+       used):
+          + General utilities such as reference_wrapper and shared_ptr.
+          + Function objects, i.e., result_of, mem_fn, bind, function.
+          + Support for metaprogramming.
+          + New containers such as tuple, array, unordered_set,
+            unordered_map, unordered_multiset, unordered_multimap.
+     * As usual, many bugs have been fixed and LWG resolutions implemented
+       for the first time (e.g., DR 409).
+
+  Java
+
+     * In order to prevent naming conflicts with other implementations of
+       these tools, some GCJ binaries have been renamed:
+          + rmic is now grmic,
+          + rmiregistry is now grmiregistry, and
+          + jar is now fastjar.
+       In particular, these names were problematic for the jpackage.org
+       packaging conventions which install symlinks in /usr/bin that point
+       to the preferred versions of these tools.
+     * The -findirect-dispatch argument to the compiler now works and
+       generates code following a new "binary compatibility" ABI. Code
+       compiled this way follows the binary compatibility rules of the
+       Java Language Specification.
+     * libgcj now has support for using GCJ as a JIT, using the
+       gnu.gcj.jit family of system properties.
+     * libgcj can now find a shared library corresponding to the bytecode
+       representation of a class. See the documentation for the new
+       gcj-dbtool program, and the new gnu.gcj.precompiled.db.path system
+       property.
+     * There have been many improvements to the class library. Here are
+       some highlights:
+          + Much more of AWT and Swing exist.
+          + Many new packages and classes were added, including
+            java.util.regex, java.net.URI, javax.crypto,
+            javax.crypto.interfaces, javax.crypto.spec, javax.net,
+            javax.net.ssl, javax.security.auth,
+            javax.security.auth.callback, javax.security.auth.login,
+            javax.security.auth.x500, javax.security.sasl, org.ietf.jgss,
+            javax.imageio, javax.imageio.event, javax.imageio.spi,
+            javax.print, javax.print.attribute,
+            javax.print.attribute.standard, javax.print.event, and
+            javax.xml
+          + Updated SAX and DOM, and imported GNU JAXP
+
+  Fortran
+
+     * A new [9]Fortran front end has replaced the aging GNU Fortran 77
+       front end. The new front end supports Fortran 90 and Fortran 95. It
+       may not yet be as stable as the old Fortran front end.
+
+  Ada
+
+     * Ada (with tasking and Zero Cost Exceptions) is now available on
+       many more targets, including but not limited to: alpha-linux,
+       hppa-hpux, hppa-linux, powerpc-darwin, powerpc-linux, s390-linux,
+       s390x-linux, sparc-linux.
+     * Some of the new Ada 2005 features are now implemented like
+       Wide_Wide_Character and Ada.Containers.
+     * Many bugs have been fixed, tools and documentation improved.
+     * To compile Ada from the sources, install an older working Ada
+       compiler and then use --enable-languages=ada at configuration time,
+       since the Ada frontend is not currently activated by default. See
+       the [10]Installing GCC for details.
+
+New Targets and Target Specific Improvements
+
+  H8/300
+
+     * The frame layout has changed. In the new layout, the prologue of a
+       function first saves registers and then allocate space for locals,
+       resulting in an 1% improvement on code size.
+
+  IA-32/x86-64 (AMD64)
+
+     * The acos, asin, drem, exp10, exp2, expm1, fmod, ilogb, log10,
+       log1p, log2, logb and tan mathematical builtins (and their float
+       and long double variants) are now implemented as inline x87
+       intrinsics when using -ffast-math.
+     * The ceil, floor, nearbyint, rint and trunc mathematical builtins
+       (and their float and long double variants) are now implemented as
+       inline x87 intrinsics when using -ffast-math.
+     * The x87's fsincos instruction is now used automatically with
+       -ffast-math when calculating both the sin and cos of the same
+       argument.
+     * Instruction selection for multiplication and division by constants
+       has been improved.
+
+  IA-64
+
+     * Floating point division, integer division and sqrt are now inlined,
+       resulting in significant performance improvements on some codes.
+
+  MIPS
+
+     * Division by zero checks now use conditional traps if the target
+       processor supports them. This decreases code size by one word per
+       division operation. The old behavior (branch and break) can be
+       obtained either at configure time by passing --with-divide=breaks
+       to configure or at runtime by passing -mdivide-breaks to GCC.
+     * Support for MIPS64 paired-single instructions has been added. It is
+       enabled by -mpaired-single and can be accessed using both the
+       target-independent vector extensions and new MIPS-specific built-in
+       functions.
+     * Support for the MIPS-3D ASE has been added. It is enabled by
+       -mips3d and provides new MIPS-3D-specific built-in functions.
+     * The -mexplicit-relocs option now supports static n64 code (as is
+       used, for example, in 64-bit linux kernels). -mexplicit-relocs
+       should now be feature-complete and is enabled by default when GCC
+       is configured to use a compatible assembler.
+     * Support for the NEC VR4130 series has been added. This support
+       includes the use of VR-specific instructions and a new VR4130
+       scheduler. Full VR4130 support can be selected with -march=vr4130
+       while code for any ISA can be tuned for the VR4130 using
+       -mtune=vr4130. There is also a new -mvr4130-align option that
+       produces better schedules at the cost of increased code size.
+     * Support for the Broadcom SB-1 has been extended. There is now an
+       SB-1 scheduler as well as support for the SB-1-specific
+       paired-single instructions. Full SB-1 support can be selected with
+       -march=sb1 while code for any ISA can be optimized for the SB-1
+       using -mtune=sb1.
+     * The compiler can now work around errata in R4000, R4400, VR4120 and
+       VR4130 processors. These workarounds are enabled by -mfix-r4000,
+       -mfix-r4400, -mfix-vr4120 and -mfix-vr4130 respectively. The VR4120
+       and VR4130 workarounds need binutils 2.16 or above.
+     * IRIX shared libraries are now installed into the standard library
+       directories: o32 libraries go into lib/, n32 libraries go into
+       lib32/ and n64 libraries go into lib64/.
+     * The compiler supports a new -msym32 option. It can be used to
+       optimize n64 code in which all symbols are known to have 32-bit
+       values.
+
+  S/390 and zSeries
+
+     * New command-line options help to generate code intended to run in
+       an environment where stack space is restricted, e.g. Linux kernel
+       code:
+          + -mwarn-framesize and -mwarn-dynamicstack trigger compile-time
+            warnings for single functions that require large or dynamic
+            stack frames.
+          + -mstack-size and -mstack-guard generate code that checks for
+            stack overflow at run time.
+          + -mpacked-stack generates code that reduces the stack frame
+            size of many functions by reusing unneeded parts of the stack
+            bias area.
+     * The -msoft-float option now ensures that generated code never
+       accesses floating point registers.
+     * The s390x-ibm-tpf target now fully supports C++, including
+       exceptions and threads.
+     * Various changes to improve performance of the generated code have
+       been implemented, including:
+          + GCC now uses sibling calls where possible.
+          + Condition code handling has been optimized, allowing GCC to
+            omit redundant comparisons in certain cases.
+          + The cost function guiding many optimizations has been refined
+            to more accurately represent the z900 and z990 processors.
+          + The ADD LOGICAL WITH CARRY and SUBTRACT LOGICAL WITH BORROW
+            instructions are now used to avoid conditional branches in
+            certain cases.
+          + The back end now uses the LEGITIMIZE_RELOAD_ADDRESS feature to
+            optimize address arithmetic required to access large stack
+            frames.
+          + GCC now makes more efficient use of memory-to-memory type
+            instructions (MVC, CLC, ...).
+          + More precise tracking of special register use allows better
+            instruction scheduling, in particular of the function prologue
+            and epilogue sequences.
+          + The Java front end now generates inline code to implement
+            integer division, instead of calling library routines.
+
+  SPARC
+
+     * The options -mv8, -msparclite, -mcypress, -msupersparc, -mf930 and
+       -mf934 have been removed. They have been replaced with -mcpu=xxx.
+     * The internal model used to estimate the relative cost of each
+       instruction has been updated. It is expected to give better results
+       on recent UltraSPARC processors.
+     * Code generation for function prologues and epilogues has been
+       improved, resulting in better scheduling and allowing multiple exit
+       points in functions.
+     * Support for Sun's Visual Instruction Set (VIS) has been enhanced.
+       It is enabled by -mvis and provides new built-in functions for VIS
+       instructions on UltraSPARC processors.
+     * The option -mapp-regs has been turned on by default on Solaris too.
+
+  NetWare
+
+     * Novell NetWare (on ix86, no other hardware platform was ever really
+       supported by this OS) has been re-enabled and the ABI supported by
+       GCC has been brought into sync with that of MetroWerks CodeWarrior
+       (the ABI previously supported was that of some Unix systems, which
+       NetWare never tried to support).
+
+Obsolete Systems
+
+   Support for a number of older systems has been declared obsolete in GCC
+   4.0. Unless there is activity to revive them, the next release of GCC
+   will have their sources permanently removed.
+
+   All GCC ports for the following processor architectures have been
+   declared obsolete:
+     * Intel i860
+     * Ubicom IP2022
+     * National Semiconductor NS32K
+     * Texas Instruments TMS320C[34]x
+
+   Also, those for some individual systems have been obsoleted:
+     * SPARC family
+          + SPARClite-based systems (sparclite-*-coff, sparclite-*-elf,
+            sparc86x-*-elf)
+          + OpenBSD 32-bit (sparc-*-openbsd*)
+
+Documentation improvements
+
+Other significant improvements
+
+     * Location lists are now generated by default when compiling with
+       debug info and optimization. Location lists provide more accurate
+       debug info about locations of variables and they allow debugging
+       code compiled with -fomit-frame-pointer.
+     * The -fvisibility option has been added which allows the default ELF
+       visibility of all symbols to be set per compilation and the new
+       #pragma GCC visibility preprocessor command allows the setting of
+       default ELF visibility for a region of code. Using
+       -fvisibility=hidden especially in combination with the new
+       -fvisibility-inlines-hidden can yield substantial improvements in
+       output binary quality including avoiding PLT indirection overheads,
+       reduction of the exported symbol count by up to 60% (with resultant
+       improvements to link and load times), better scope for the
+       optimizer to improve code and up to a 20% reduction in binary size.
+       Using these options correctly yields a binary with a similar symbol
+       count to a Windows DLL.
+       Perhaps more importantly, this new feature finally allows (with
+       careful planning) complete avoidance of symbol clashes when
+       manually loading shared objects with RTLD_GLOBAL, thus finally
+       solving problems many projects such as python were forced to use
+       RTLD_LOCAL for (with its resulting issues for C++ correctness). You
+       can find more information about using these options at
+       [11]http://gcc.gnu.org/wiki/Visibility.
+     __________________________________________________________________
+
+GCC 4.0.1
+
+   This is the [12]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.0.1 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+GCC 4.0.2
+
+   This is the [13]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.0.2 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+   Unfortunately, due to a release engineering failure, this release has a
+   regression on Solaris that will affect some C++ programs. We suggest
+   that Solaris users apply a [14]patch that corrects the problem. Users
+   who do not wish to apply the patch should explicitly link C++ programs
+   with the -pthreads option, even if they do not use threads. This
+   problem has been corrected in the current 4.0 branch sources and will
+   not be present in GCC 4.0.3.
+
+GCC 4.0.3
+
+   Starting with this release, the function getcontext is recognized by
+   the compiler as having the same semantics as the setjmp function. In
+   particular, the compiler will ensure that all registers are dead before
+   calling such a function and will emit a warning about the variables
+   that may be clobbered after the second return from the function.
+
+GCC 4.0.4
+
+   This is the [15]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 4.0.4 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+   The 4.0.4 release is provided for those that require a high degree of
+   binary compatibility with previous 4.0.x releases. For most users, the
+   GCC team recommends that version 4.1.1 or later be used instead."
+
+   Please send FSF & GNU inquiries & questions to [16]gnu@gnu.org. There
+   are also [17]other ways to contact the FSF.
+
+   These pages are maintained by [18]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [19]GCC manuals. If that fails, the
+    [20]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [21]gcc@gnu.org or [22]gcc@gcc.gnu.org.
+    All of our lists have [23]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2009-01-25 [24]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.4
+   2. http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+   3. http://gcc.gnu.org/projects/tree-ssa/
+   4. http://gcc.gnu.org/projects/tree-ssa/vectorization.html
+   5. http://gcc.gnu.org/news/sms.html
+   6. http://people.redhat.com/drepper/dsohowto.pdf
+   7. http://gcc.gnu.org/gcc-4.0/changes.html#visibility
+   8. http://www.codesourcery.com/public/cxx-abi/
+   9. http://gcc.gnu.org/fortran/
+  10. http://gcc.gnu.org/install/
+  11. http://gcc.gnu.org/wiki/Visibility
+  12. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1
+  13. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.2
+  14. http://gcc.gnu.org/ml/gcc-cvs/2005-09/msg00984.html
+  15. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.4
+  16. mailto:gnu@gnu.org
+  17. http://www.gnu.org/home.html#ContactInfo
+  18. http://gcc.gnu.org/about.html
+  19. http://gcc.gnu.org/onlinedocs/
+  20. mailto:gcc-help@gcc.gnu.org
+  21. mailto:gcc@gnu.org
+  22. mailto:gcc@gcc.gnu.org
+  23. http://gcc.gnu.org/lists.html
+  24. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.4/index.html
+                           GCC 3.4 Release Series
+
+   May 26, 2006
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 3.4.6.
+
+   This release is a bug-fix release, containing fixes for regressions in
+   GCC 3.4.4 relative to previous releases of GCC. This is the last of the
+   3.4.x series.
+
+   The GCC 3.4 release series includes numerous [2]new features,
+   improvements, bug fixes, and other changes, thanks to an [3]amazing
+   group of volunteers.
+
+Release History
+
+   GCC 3.4.6
+          March 6, 2006 ([4]changes)
+
+   GCC 3.4.5
+          November 30, 2005 ([5]changes)
+
+   GCC 3.4.4
+          May 18, 2005 ([6]changes)
+
+   GCC 3.4.3
+          November 4, 2004 ([7]changes)
+
+   GCC 3.4.2
+          September 6, 2004 ([8]changes)
+
+   GCC 3.4.1
+          July 1, 2004 ([9]changes)
+
+   GCC 3.4.0
+          April 18, 2004 ([10]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [11]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [12]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [13]GCC
+   project web site or contact the [14]GCC development mailing list.
+
+   To obtain GCC please use [15]our mirror sites, or [16]our SVN server.
+
+   Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There
+   are also [18]other ways to contact the FSF.
+
+   These pages are maintained by [19]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [20]GCC manuals. If that fails, the
+    [21]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org.
+    All of our lists have [24]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [25]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-3.4/changes.html
+   3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   4. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6
+   5. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.5
+   6. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4
+   7. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.3
+   8. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.2
+   9. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.1
+  10. http://gcc.gnu.org/gcc-3.4/changes.html
+  11. http://gcc.gnu.org/gcc-3.4/buildstat.html
+  12. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+  13. http://gcc.gnu.org/index.html
+  14. mailto:gcc@gcc.gnu.org
+  15. http://gcc.gnu.org/mirrors.html
+  16. http://gcc.gnu.org/svn.html
+  17. mailto:gnu@gnu.org
+  18. http://www.gnu.org/home.html#ContactInfo
+  19. http://gcc.gnu.org/about.html
+  20. http://gcc.gnu.org/onlinedocs/
+  21. mailto:gcc-help@gcc.gnu.org
+  22. mailto:gcc@gnu.org
+  23. mailto:gcc@gcc.gnu.org
+  24. http://gcc.gnu.org/lists.html
+  25. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.4/changes.html
+                           GCC 3.4 Release Series
+                      Changes, New Features, and Fixes
+
+   The final release in the 3.4 release series is [1]GCC 3.4.6. The series
+   is now closed.
+
+   GCC 3.4 has [2]many improvements in the C++ frontend. Before reporting
+   a bug, please make sure it's really GCC, and not your code, that is
+   broken.
+
+Caveats
+
+     * GNU Make is now required to build GCC.
+     * With -nostdinc the preprocessor used to ignore both standard
+       include paths and include paths contained in environment variables.
+       It was neither documented nor intended that environment variable
+       paths be ignored, so this has been corrected.
+     * GCC no longer accepts the options -fvolatile, -fvolatile-global and
+       -fvolatile-static. It is unlikely that they worked correctly in any
+       3.x release.
+     * GCC no longer ships <varargs.h>. Use <stdarg.h> instead.
+     * Support for all the systems [3]obsoleted in GCC 3.3 has been
+       removed from GCC 3.4. See below for a [4]list of systems which are
+       obsoleted in this release.
+     * GCC now requires an ISO C90 (ANSI C89) C compiler to build. K&R C
+       compilers will not work.
+     * The implementation of the [5]MIPS ABIs has changed. As a result,
+       the code generated for certain MIPS targets will not be binary
+       compatible with earlier releases.
+     * In previous releases, the MIPS port had a fake "hilo" register with
+       the user-visible name accum. This register has been removed.
+     * The implementation of the [6]SPARC ABIs has changed. As a result,
+       the code generated will not be binary compatible with earlier
+       releases in certain cases.
+     * The configure option --enable-threads=pthreads has been removed;
+       use --enable-threads=posix instead, which should have the same
+       effect.
+     * Code size estimates used by inlining heuristics for C, Objective-C,
+       C++ and Java have been redesigned significantly. As a result the
+       parameters of -finline-insns, --param max-inline-insns-single and
+       --param max-inline-insns-auto need to be reconsidered.
+     * --param max-inline-slope and --param min-inline-insns have been
+       removed; they are not needed for the new bottom-up inlining
+       heuristics.
+     * The new unit-at-a-time compilation scheme has several compatibility
+       issues:
+          + The order in which functions, variables, and top-level asm
+            statements are emitted may have changed. Code relying on some
+            particular ordering needs to be updated. The majority of such
+            top-level asm statements can be replaced by section
+            attributes.
+          + Unreferenced static variables and functions are removed. This
+            may result in undefined references when an asm statement
+            refers to the variable/function directly. In that case either
+            the variable/function shall be listed in asm statement operand
+            or in the case of top-level asm statements the attribute used
+            shall be used to force function/variable to be always output
+            and considered as a possibly used by unknown code.
+            For variables the attribute is accepted only by GCC 3.4 and
+            newer, while for earlier versions it is sufficient to use
+            unused to silence warnings about the variables not being
+            referenced. To keep code portable across different GCC
+            versions, you can use appropriate preprocessor conditionals.
+          + Static functions now can use non-standard passing conventions
+            that may break asm statements calling functions directly.
+            Again the attribute used shall be used to prevent this
+            behavior.
+       As a temporary workaround, -fno-unit-at-a-time can be used, but
+       this scheme may not be supported by future releases of GCC.
+     * GCC 3.4 automatically places zero-initialized variables in the .bss
+       section on some operating systems. Versions of GNU Emacs up to (and
+       including) 21.3 will not work correctly when using this
+       optimization; you can use -fno-zero-initialized-in-bss to disable
+       it.
+     * If GCC 3.4 is configured with --enable-threads=posix (the default
+       on most targets that support pthreads) then _REENTRANT will be
+       defined unconditionally by some libstdc++ headers. C++ code which
+       relies on that macro to detect whether multi-threaded code is being
+       compiled might change in meaning, possibly resulting in linker
+       errors for single-threaded programs. Affected users of [7]Boost
+       should compile single-threaded code with -DBOOST_DISABLE_THREADS.
+       See Bugzilla for [8]more information.
+
+General Optimizer Improvements
+
+     * Usability of the profile feedback and coverage testing has been
+       improved.
+          + Performance of profiled programs has been improved by faster
+            profile merging code.
+          + Better use of the profile feedback for optimization (loop
+            unrolling and loop peeling).
+          + File locking support allowing fork() calls and parallel runs
+            of profiled programs.
+          + Coverage file format has been redesigned.
+          + gcov coverage tool has been improved.
+          + make profiledbootstrap available to build a faster compiler.
+            Experiments made on i386 hardware showed an 11% speedup on -O0
+            and a 7.5% speedup on -O2 compilation of a [9]large C++
+            testcase.
+          + New value profiling pass enabled via -fprofile-values
+          + New value profile transformations pass enabled via -fvpt aims
+            to optimize some code sequences by exploiting knowledge about
+            value ranges or other properties of the operands. At the
+            moment a conversion of expensive divisions into cheaper
+            operations has been implemented.
+          + New -fprofile-generate and -fprofile-use command-line options
+            to simplify the use of profile feedback.
+     * A new unit-at-a-time compilation scheme for C, Objective-C, C++ and
+       Java which is enabled via -funit-at-a-time (and implied by -O2). In
+       this scheme a whole file is parsed first and optimized later. The
+       following basic inter-procedural optimizations are implemented:
+          + Removal of unreachable functions and variables
+          + Discovery of local functions (functions with static linkage
+            whose address is never taken)
+          + On i386, these local functions use register parameter passing
+            conventions.
+          + Reordering of functions in topological order of the call graph
+            to enable better propagation of optimizing hints (such as the
+            stack alignments needed by functions) in the back end.
+          + Call graph based out-of-order inlining heuristics which allows
+            to limit overall compilation unit growth (--param
+            inline-unit-growth).
+       Overall, the unit-at-a-time scheme produces a 1.3% improvement for
+       the SPECint2000 benchmark on the i386 architecture (AMD Athlon
+       CPU).
+     * More realistic code size estimates used by inlining for C,
+       Objective-C, C++ and Java. The growth of large functions can now be
+       limited via --param large-function-insns and --param
+       large-function-growth.
+     * A new cfg-level loop optimizer pass replaces the old loop unrolling
+       pass and adds two other loop transformations -- loop peeling and
+       loop unswitching -- and also uses the profile feedback to limit
+       code growth. (The three optimizations are enabled by
+       -funroll-loops, -fpeel-loops and -funswitch-loops flags,
+       respectively).
+       The old loop unroller still can be enabled by -fold-unroll-loops
+       and may produce better code in some cases, especially when the
+       webizer optimization pass is not run.
+     * A new web construction pass enabled via -fweb (and implied by -O3)
+       improves the quality of register allocation, CSE, first scheduling
+       pass and some other optimization passes by avoiding re-use of
+       pseudo registers with non-overlapping live ranges. The pass almost
+       always improves code quality but does make debugging difficult and
+       thus is not enabled by default by -O2
+       The pass is especially effective as cleanup after code duplication
+       passes, such as the loop unroller or the tracer.
+     * Experimental implementations of superblock or trace scheduling in
+       the second scheduling pass can be enabled via
+       -fsched2-use-superblocks and -fsched2-use-traces, respectively.
+
+New Languages and Language specific improvements
+
+  Ada
+
+     * The Ada front end has been updated to include numerous bug fixes
+       and enhancements. These include:
+          + Improved project file support
+          + Additional set of warnings about potential wrong code
+          + Improved error messages
+          + Improved code generation
+          + Improved cross reference information
+          + Improved inlining
+          + Better run-time check elimination
+          + Better error recovery
+          + More efficient implementation of unbounded strings
+          + Added features in GNAT.Sockets, GNAT.OS_Lib, GNAT.Debug_Pools,
+            ...
+          + New GNAT.xxxx packages (e.g. GNAT.Strings,
+            GNAT.Exception_Action)
+          + New pragmas
+          + New -gnatS switch replacing gnatpsta
+          + Implementation of new Ada features (in particular limited
+            with, limited aggregates)
+
+  C/Objective-C/C++
+
+     * Precompiled headers are now supported. Precompiled headers can
+       dramatically speed up compilation of some projects. There are some
+       known defects in the current precompiled header implementation that
+       will result in compiler crashes in relatively rare situations.
+       Therefore, precompiled headers should be considered a "technology
+       preview" in this release. Read the manual for details about how to
+       use precompiled headers.
+     * File handling in the preprocessor has been rewritten. GCC no longer
+       gets confused by symlinks and hardlinks, and now has a correct
+       implementation of #import and #pragma once. These two directives
+       have therefore been un-deprecated.
+     * The undocumented extension that allowed C programs to have a label
+       at the end of a compound statement, which has been deprecated since
+       GCC 3.0, has been removed.
+     * The cast-as-lvalue extension has been removed for C++ and
+       deprecated for C and Objective-C. In particular, code like this:
+        int i;
+        (char) i = 5;
+
+       or this:
+        char *p;
+        ((int *) p)++;
+
+       is no longer accepted for C++ and will not be accepted for C and
+       Objective-C in a future version.
+     * The conditional-expression-as-lvalue extension has been deprecated
+       for C and Objective-C. In particular, code like this:
+        int a, b, c;
+        (a ? b : c) = 2;
+
+       will not be accepted for C and Objective-C in a future version.
+     * The compound-expression-as-lvalue extension has been deprecated for
+       C and Objective-C. In particular, code like this:
+        int a, b;
+        (a, b) = 2;
+
+       will not be accepted for C and Objective-C in a future version. A
+       possible non-intrusive workaround is the following:
+        (*(a, &b)) = 2;
+
+     * Several [10]built-in functions such as __builtin_popcount for
+       counting bits, finding the highest and lowest bit in a word, and
+       parity have been added.
+     * The -fwritable-strings option has been deprecated and will be
+       removed.
+     * Many C math library functions are now recognized as built-ins and
+       optimized.
+     * The C, C++, and Objective-C compilers can now handle source files
+       written in any character encoding supported by the host C library.
+       The default input character set is taken from the current locale,
+       and may be overridden with the -finput-charset command line option.
+       In the future we will add support for inline encoding markers.
+
+  C++
+
+     * G++ is now much closer to full conformance to the ISO/ANSI C++
+       standard. This means, among other things, that a lot of invalid
+       constructs which used to be accepted in previous versions will now
+       be rejected. It is very likely that existing C++ code will need to
+       be fixed. This document lists some of the most common issues.
+     * A hand-written recursive-descent C++ parser has replaced the
+       YACC-derived C++ parser from previous GCC releases. The new parser
+       contains much improved infrastructure needed for better parsing of
+       C++ source codes, handling of extensions, and clean separation
+       (where possible) between proper semantics analysis and parsing. The
+       new parser fixes many bugs that were found in the old parser.
+     * You must now use the typename and template keywords to disambiguate
+       dependent names, as required by the C++ standard.
+        struct K {
+          typedef int mytype_t;
+        };
+
+        template <class T1> struct A {
+          template <class T2> struct B {
+              void callme(void);
+            };
+
+          template <int N> void bar(void)
+          {
+            // Use 'typename' to tell the parser that T1::mytype_t names
+            //  a type. This is needed because the name is dependent (in
+            //  this case, on template parameter T1).
+            typename T1::mytype_t x;
+            x = 0;
+          }
+        };
+
+        template <class T> void template_func(void)
+        {
+          // Use 'template' to prefix member templates within
+          //  dependent types (a has type A<T>, which depends on
+          //  the template parameter T).
+          A<T> a;
+          a.template bar<0>();
+
+          // Use 'template' to tell the parser that B is a nested
+          //  template class (dependent on template parameter T), and
+          //  'typename' because the whole A<T>::B<int> is
+          //  the name of a type (again, dependent).
+          typename A<T>::template B<int> b;
+          b.callme();
+        }
+
+        void non_template_func(void)
+        {
+          // Outside of any template class or function, no names can be
+          //  dependent, so the use of the keyword 'typename' and 'template'
+          //  is not needed (and actually forbidden).
+          A<K> a;
+          a.bar<0>();
+          A<K>::B<float> b;
+          b.callme();
+        }
+     * In a template definition, unqualified names will no longer find
+       members of a dependent base (as specified by [temp.dep]/3 in the
+       C++ standard). For example,
+        template <typename T> struct B {
+          int m;
+          int n;
+          int f ();
+          int g ();
+        };
+        int n;
+        int g ();
+        template <typename T> struct C : B<T> {
+          void h ()
+          {
+            m = 0; // error
+            f ();  // error
+            n = 0; // ::n is modified
+            g ();  // ::g is called
+          }
+        };
+       You must make the names dependent, e.g. by prefixing them with
+       this->. Here is the corrected definition of C<T>::h,
+        template <typename T> void C<T>::h ()
+        {
+          this->m = 0;
+          this->f ();
+          this->n = 0
+          this->g ();
+        }
+       As an alternative solution (unfortunately not backwards compatible
+       with GCC 3.3), you may use using declarations instead of this->:
+        template <typename T> struct C : B<T> {
+          using B<T>::m;
+          using B<T>::f;
+          using B<T>::n;
+          using B<T>::g;
+          void h ()
+          {
+            m = 0;
+            f ();
+            n = 0;
+            g ();
+          }
+        };
+     * In templates, all non-dependent names are now looked up and bound
+       at definition time (while parsing the code), instead of later when
+       the template is instantiated. For instance:
+        void foo(int);
+
+        template <int> struct A {
+          static void bar(void){
+            foo('a');
+          }
+        };
+
+        void foo(char);
+
+        int main()
+        {
+          A<0>::bar();    // Calls foo(int), used to call foo(char).
+        }
+
+     * In an explicit instantiation of a class template, you must use
+       class or struct before the template-id:
+        template <int N>
+        class A {};
+
+        template A<0>;         // error, not accepted anymore
+        template class A<0>;   // OK
+     * The "named return value" and "implicit typename" extensions have
+       been removed.
+     * Default arguments in function types have been deprecated and will
+       be removed.
+     * ARM-style name-injection of friend declarations has been deprecated
+       and will be removed. For example: struct S { friend void f(); };
+       void g() { f(); } will not be accepted by future versions of G++;
+       instead a declaration of "f" will need to be present outside of the
+       scope of "S".
+     * Covariant returns are implemented for all but varadic functions
+       that require an adjustment.
+     * When -pedantic is used, G++ now issues errors about spurious
+       semicolons. For example,
+        namespace N {}; // Invalid semicolon.
+        void f() {}; // Invalid semicolon.
+     * G++ no longer accepts attributes for a declarator after the
+       initializer associated with that declarator. For example,
+        X x(1) __attribute__((...));
+       is no longer accepted. Instead, use:
+        X x __attribute__((...)) (1);
+     * Inside the scope of a template class, the name of the class itself
+       can be treated as either a class or a template. So GCC used to
+       accept the class name as argument of type template, and template
+       template parameter. However this is not C++ standard compliant. Now
+       the name is not treated as a valid template template argument
+       unless you qualify the name by its scope. For example, the code
+       below no longer compiles.
+        template <template <class> class TT> class X {};
+        template <class T> class Y {
+          X<Y> x; // Invalid, Y is always a type template parameter.
+        };
+       The valid code for the above example is
+          X< ::Y> x; // Valid.
+       (Notice the space between < and : to prevent GCC to interpret this
+       as a digraph for [.)
+     * Friend declarations that refer to template specializations are
+       rejected if the template has not already been declared. For
+       example,
+        template <typename T>
+        class C {
+          friend void f<> (C&);
+        };
+       is rejected. You must first declare f as a template,
+        template <typename T>
+        void f(T);
+     * In case of friend declarations, every name used in the friend
+       declaration must be accessible at the point of that declaration.
+       Previous versions of G++ used to be less strict about this and
+       allowed friend declarations for private class members, for example.
+       See the ISO C++ Standard Committee's [11]defect report #209 for
+       details.
+     * Declaration of member functions of class templates as friends are
+       supported. For example,
+        template <typename T> struct A {
+          void f();
+        };
+        class C {
+          template <typename T> friend void A<T>::f();
+        };
+     * You must use template <> to introduce template specializations, as
+       required by the standard. For example,
+        template <typename T>
+        struct S;
+
+        struct S<int> { };
+       is rejected. You must write,
+        template <> struct S<int> {};
+     * G++ used to accept code like this,
+        struct S {
+          int h();
+          void f(int i = g());
+          int g(int i = h());
+        };
+       This behavior is not mandated by the standard. Now G++ issues an
+       error about this code. To avoid the error, you must move the
+       declaration of g before the declaration of f. The default arguments
+       for g must be visible at the point where it is called.
+     * The C++ ABI Section 3.3.3 specifications for the array construction
+       routines __cxa_vec_new2 and __cxa_vec_new3 were changed to return
+       NULL when the allocator argument returns NULL. These changes are
+       incorporated into the libstdc++ runtime library.
+     * Using a name introduced by a typedef in a friend declaration or in
+       an explicit instantiation is now rejected, as specified by the ISO
+       C++ standard.
+        class A;
+        typedef A B;
+        class C {
+          friend class B;      // error, no typedef name here
+          friend B;            // error, friend always needs class/struct/enum
+          friend class A;      // OK
+        };
+
+        template <int> class Q {};
+        typedef Q<0> R;
+        template class R;      // error, no typedef name here
+        template class Q<0>;   // OK
+     * When allocating an array with a new expression, GCC used to allow
+       parentheses around the type name. This is actually ill-formed and
+       it is now rejected:
+        int* a = new (int)[10];    // error, not accepted anymore
+        int* a = new int[10];      // OK
+     * When binding an rvalue of class type to a reference, the copy
+       constructor of the class must be accessible. For instance, consider
+       the following code:
+        class A
+        {
+        public:
+          A();
+
+        private:
+          A(const A&);   // private copy ctor
+        };
+
+        A makeA(void);
+        void foo(const A&);
+
+        void bar(void)
+        {
+          foo(A());       // error, copy ctor is not accessible
+          foo(makeA());   // error, copy ctor is not accessible
+
+          A a1;
+          foo(a1);        // OK, a1 is a lvalue
+        }
+       This might be surprising at first sight, especially since most
+       popular compilers do not correctly implement this rule ([12]further
+       details).
+     * When forming a pointer to member or a pointer to member function,
+       access checks for class visibility (public, protected, private) are
+       now performed using the qualifying scope of the name itself. This
+       is better explained with an example:
+        class A
+        {
+        public:
+          void pub_func();
+        protected:
+          void prot_func();
+        private:
+          void priv_func();
+        };
+
+        class B : public A
+        {
+        public:
+          void foo()
+          {
+            &A::pub_func;   // OK, pub_func is accessible through A
+            &A::prot_func;  // error, cannot access prot_func through A
+            &A::priv_func;  // error, cannot access priv_func through A
+
+            &B::pub_func;   // OK, pub_func is accessible through B
+            &B::prot_func;  // OK, can access prot_func through B (within B)
+            &B::priv_func;  // error, cannot access priv_func through B
+          }
+        };
+
+    Runtime Library (libstdc++)
+
+     * Optimization work:
+          + Streamlined streambuf, filebuf, separate synched with C
+            Standard I/O streambuf.
+          + All formatted I/O now uses cached locale information.
+          + STL optimizations (memory/speed for list, red-black trees as
+            used by sets and maps).
+          + More use of GCC builtins.
+          + String optimizations (avoid contention on
+            increment/decrement-and-test of the reference count in the
+            empty-string object, constructor from input_iterators
+            speedup).
+     * Static linkage size reductions.
+     * Large File Support (files larger than 2 GB on 32-bit systems).
+     * Wide character and variable encoding filebuf work (UTF-8, Unicode).
+     * Generic character traits.
+     * Also support wchar_t specializations on Mac OS 10.3.x, FreeBSD 5.x,
+       Solaris 2.7 and above, AIX 5.x, Irix 6.5.
+     * The allocator class is now standard-conformant, and two additional
+       extension allocators have been added, mt_alloc and
+       bitmap_allocator.
+     * PCH support: -include bits/stdc++.h (2x compile speedup).
+     * Rewrote __cxa_demangle with support for C++ style allocators.
+     * New debug modes for STL containers and iterators.
+     * Testsuite rewrite: five times as many tests, plus increasingly
+       sophisticated tests, including I/O, MT, multi-locale, wide and
+       narrow characters.
+     * Use current versions of GNU "autotools" for build/configuration.
+
+  Objective-C
+
+     * The Objective-C front end has been updated to include the numerous
+       bug fixes and enhancements previously available only in Apple's
+       version of GCC. These include:
+          + Structured exception (@try... @catch... @finally, @throw) and
+            synchronization (@synchronized) support. These are accessible
+            via the -fobjc-exceptions switch; as of this writing, they may
+            only be used in conjunction with -fnext-runtime on Mac OS X
+            10.3 and later. See [13]Options Controlling Objective-C
+            Dialect for more information.
+          + An overhaul of @encode logic. The C99 _Bool and C++ bool type
+            may now be encoded as 'B'. In addition, the back-end/codegen
+            dependencies have been removed.
+          + An overhaul of message dispatch construction, ensuring that
+            the various receiver types (and casts thereof) are handled
+            properly, and that correct diagnostics are issued.
+          + Support for "Zero-Link" (-fzero-link) and "Fix-and-Continue"
+            (-freplace-objc-classes) debugging modes, currently available
+            on Mac OS X 10.3 and later. See [14]Options Controlling
+            Objective-C Dialect for more information.
+          + Access to optimized runtime entry points (-fno-nil-receivers )
+            on the assumption that message receivers are never nil. This
+            is currently available on Mac OS X 10.3 and later. See
+            [15]Options Controlling Objective-C Dialect for more
+            information.
+
+  Java
+
+     * Compiling a .jar file will now cause non-.class entries to be
+       automatically compiled as resources.
+     * libgcj has been ported to Darwin.
+     * Jeff Sturm has adapted Jan Hubicka's call graph optimization code
+       to gcj.
+     * libgcj has a new gcjlib URL type; this lets URLClassLoader load
+       code from shared libraries.
+     * libgcj has been much more completely merged with [16]GNU Classpath.
+     * Class loading is now much more correct; in particular the caller's
+       class loader is now used when that is required.
+     * [17]Eclipse 2.x will run out of the box using gij.
+     * Parts of java.nio have been implemented. Direct and indirect
+       buffers work, as do fundamental file and socket operations.
+     * java.awt has been improved, though it is still not ready for
+       general use.
+     * The HTTP protocol handler now uses HTTP/1.1 and can handle the POST
+       method.
+     * The MinGW port has matured. Enhancements include socket timeout
+       support, thread interruption, improved Runtime.exec() handling and
+       support for accented characters in filenames.
+
+  Fortran
+
+     * Fortran improvements are listed in the [18]Fortran documentation.
+
+New Targets and Target Specific Improvements
+
+  Alpha
+
+     * Several [19]built-in functions have been added such as
+       __builtin_alpha_zap to allow utilizing the more obscure
+       instructions of the CPU.
+     * Parameter passing of complex arguments has changed to match the
+       [20]ABI. This change is incompatible with previous GCC versions,
+       but does fix compatibility with the Tru64 compiler and several
+       corner cases where GCC was incompatible with itself.
+
+  ARM
+
+     * Nicolas Pitre has contributed his hand-coded floating-point support
+       code for ARM. It is both significantly smaller and faster than the
+       existing C-based implementation, even when building applications
+       for Thumb. The arm-elf configuration has been converted to use the
+       new code.
+     * Support for the Intel's iWMMXt architecture, a second generation
+       XScale processor, has been added. Enabled at run time with the
+       -mcpu=iwmmxt command line switch.
+     * A new ARM target has been added: arm-wince-pe. This is similar to
+       the arm-pe target, but it defaults to using the APCS32 ABI.
+     * The existing ARM pipeline description has been converted to the use
+       the [21]DFA processor pipeline model. There is not much change in
+       code performance, but the description is now [22]easier to
+       understand.
+     * Support for the Cirrus EP9312 Maverick floating point co-processor
+       added. Enabled at run time with the -mcpu=ep9312 command line
+       switch. Note however that the multilibs to support this chip are
+       currently disabled in gcc/config/arm/t-arm-elf, so if you want to
+       enable their production you will have to uncomment the entries in
+       that file.
+
+  H8/300
+
+     * Support for long long has been added.
+     * Support for saveall attribute has been added.
+     * Pavel Pisa contributed hand-written 32-bit-by-32-bit division code
+       for H8/300H and H8S, which is much faster than the previous
+       implementation.
+     * A lot of small performance improvements.
+
+  IA-32/AMD64 (x86-64)
+
+     * Tuning for K8 (AMD Opteron/Athlon64) core is available via
+       -march=k8 and -mcpu=k8.
+     * Scalar SSE code generation carefully avoids reformatting penalties,
+       hidden dependencies and minimizes the number of uops generated on
+       both Intel and AMD CPUs.
+     * Vector MMX and SSE operands are now passed in registers to improve
+       performance and match the argument passing convention used by the
+       Intel C++ Compiler. As a result it is not possible to call
+       functions accepting vector arguments compiled by older GCC version.
+     * Conditional jump elimination is now more aggressive on modern CPUs.
+     * The Athlon ports has been converted to use the DFA processor
+       pipeline description.
+     * Optimization of indirect tail calls is now possible in a similar
+       fashion as direct sibcall optimization.
+     * Further small performance improvements.
+     * -m128bit-long-double is now less buggy.
+     * __float128 support in 64-bit compilation.
+     * Support for data structures exceeding 2GB in 64-bit mode.
+     * -mcpu has been renamed to -mtune.
+
+  IA-64
+
+     * Tuning code for the Itanium 2 processor has been added. The
+       generation of code tuned for Itanium 2 (option -mtune=itanium2) is
+       enabled by default now. To generate code tuned for Itanium 1 the
+       option -mtune=itanium1 should be used.
+     * [23]DFA processor pipeline descriptions for the IA-64 processors
+       have been added. This resulted in about 3% improvement on the
+       SPECInt2000 benchmark for Itanium 2.
+     * Instruction bundling for the IA-64 processors has been rewritten
+       using the DFA pipeline hazard recognizer. It resulted in about 60%
+       compiler speedup on the SPECInt2000 C programs.
+
+  M32R
+
+     * Support for the M32R/2 processor has been added by Renesas.
+     * Support for an M32R Linux target and PIC code generation has been
+       added by Renesas.
+
+  M68000
+
+     * Bernardo Innocenti (Develer S.r.l.) has contributed the
+       m68k-uclinux target, based on former work done by Paul Dale
+       (SnapGear Inc.). Code generation for the ColdFire processors family
+       has been enhanced and extended to support the MCF 53xx and MCF 54xx
+       cores, integrating former work done by Peter Barada (Motorola).
+
+  MIPS
+
+    Processor-specific changes
+
+     * Support for the RM7000 and RM9000 processors has been added. It can
+       be selected using the -march compiler option and should work with
+       any MIPS I (mips-*) or MIPS III (mips64-*) configuration.
+     * Support for revision 2 of the MIPS32 ISA has been added. It can be
+       selected with the command-line option -march=mips32r2.
+     * There is a new option, -mfix-sb1, to work around certain SB-1
+       errata.
+
+    Configuration
+
+     * It is possible to customize GCC using the following configure-time
+       options:
+          + --with-arch, which specifies the default value of the -march
+            option.
+          + --with-tune, which specifies the default value of the -mtune
+            option.
+          + --with-abi, which specifies the default ABI.
+          + --with-float=soft, which tells GCC to use software floating
+            point by default.
+          + --with-float=hard, which tells GCC to use hardware floating
+            point by default.
+     * A 64-bit GNU/Linux port has been added. The associated
+       configurations are mips64-linux-gnu and mips64el-linux-gnu.
+     * The 32-bit GNU/Linux port now supports Java.
+     * The IRIX 6 configuration now supports the o32 ABI and will build
+       o32 multilibs by default. This support is compatible with both
+       binutils and the SGI tools, but note that several features,
+       including debugging information and DWARF2 exception handling, are
+       only available when using the GNU assembler. Use of the GNU
+       assembler and linker (version 2.15 or above) is strongly
+       recommended.
+     * The IRIX 6 configuration now supports 128-bit long doubles.
+     * There are two new RTEMS-specific configurations, mips-rtems and
+       mipsel-rtems.
+     * There are two new *-elf configurations, mipsisa32r2-elf and
+       mipsisa32r2el-elf.
+
+    General
+
+     * Several [24]ABI bugs have been fixed. Unfortunately, these changes
+       will break binary compatibility with earlier releases.
+     * GCC can now use explicit relocation operators when generating
+       -mabicalls code. This behavior is controlled by -mexplicit-relocs
+       and can have several performance benefits. For example:
+          + It allows for more optimization of GOT accesses, including
+            better scheduling and redundancy elimination.
+          + It allows sibling calls to be implemented as jumps.
+          + n32 and n64 leaf functions can use a call-clobbered global
+            pointer instead of $28.
+          + The code to set up $gp can be removed from functions that
+            don't need it.
+     * A new option, -mxgot, allows the GOT to be bigger than 64k. This
+       option is equivalent to the assembler's -xgot option and should be
+       used instead of -Wa,-xgot.
+     * Frame pointer elimination is now supported when generating 64-bit
+       MIPS16 code.
+     * Inline block moves have been optimized to take more account of
+       alignment information.
+     * Many internal changes have been made to the MIPS port, mostly aimed
+       at reducing the reliance on assembler macros.
+
+  PowerPC
+
+     * GCC 3.4 releases have a number of fixes for PowerPC and PowerPC64
+       [25]ABI incompatibilities regarding the way parameters are passed
+       during functions calls. These changes may result in incompatibility
+       between code compiled with GCC 3.3 and GCC 3.4.
+
+    PowerPC Darwin
+
+     * Support for shared/dylib gcc libraries has been added. It is
+       enabled by default on powerpc-apple-darwin7.0.0 and up.
+     * Libgcj is enabled by default. On systems older than
+       powerpc-apple-darwin7.0.0 you need to install dlcompat.
+     * 128-bit IBM extended precision format support added for long
+       double.
+
+    PowerPC64 GNU/Linux
+
+     * By default, PowerPC64 GNU/Linux now uses natural alignment of
+       structure elements. The old four byte alignment for double, with
+       special rules for a struct starting with a double, can be chosen
+       with -malign-power. This change may result in incompatibility
+       between code compiled with GCC 3.3 and GCC 3.4.
+     * -mabi=altivec is now the default rather than -mabi=no-altivec.
+     * 128-bit IBM extended precision format support added for long
+       double.
+
+  S/390 and zSeries
+
+     * New command-line options allow to specify the intended execution
+       environment for generated code:
+          + -mesa/-mzarch allows to specify whether to generate code
+            running in ESA/390 mode or in z/Architecture mode (this is
+            applicable to 31-bit code only).
+          + -march allows to specify a minimum processor architecture
+            level (g5, g6, z900, or z990).
+          + -mtune allows to specify which processor to tune for.
+     * It is possible to customize GCC using the following configure-time
+       options:
+          + --with-mode, which specifies whether to default to assuming
+            ESA/390 or z/Architecture mode.
+          + --with-arch, which specifies the default value of the -march
+            option.
+          + --with-tune, which specifies the default value of the -mtune
+            option.
+     * Support for the z990 processor has been added, and can be selected
+       using -march=z990 or -mtune=z990. This includes instruction
+       scheduling tuned for the superscalar instruction pipeline of the
+       z990 processor as well as support for all new instructions provided
+       by the long-displacement facility.
+     * Support to generate 31-bit code optimized for zSeries processors
+       (running in ESA/390 or in z/Architecture mode) has been added. This
+       can be selected using -march=z900 and -mzarch respectively.
+     * Instruction scheduling for the z900 and z990 processors now uses
+       the DFA pipeline hazard recognizer.
+     * GCC no longer generates code to maintain a stack backchain,
+       previously used to generate stack backtraces for debugging
+       purposes. As replacement that does not incur runtime overhead,
+       DWARF-2 call frame information is provided by GCC; this is
+       supported by GDB 6.1. The old behavior can be restored using the
+       -mbackchain option.
+     * The stack frame size of functions may now exceed 2 GB in 64-bit
+       code.
+     * A port for the 64-bit IBM TPF operating system has been added; the
+       configuration is s390x-ibm-tpf. This configuration is supported as
+       cross-compilation target only.
+     * Various changes to improve the generated code have been
+       implemented, including:
+          + GCC now uses the MULTIPLY AND ADD and MULTIPLY AND SUBTRACT
+            instructions to significantly speed up many floating-point
+            applications.
+          + GCC now uses the ADD LOGICAL WITH CARRY and SUBTRACT LOGICAL
+            WITH BORROW instructions to speed up long long arithmetic.
+          + GCC now uses the SEARCH STRING instruction to implement
+            strlen().
+          + In many cases, function call overhead for 31-bit code has been
+            reduced by placing the literal pool after the function code
+            instead of after the function prolog.
+          + Register 14 is no longer reserved in 64-bit code.
+          + Handling of global register variables has been improved.
+
+  SPARC
+
+     * The option -mflat is deprecated.
+     * Support for large (> 2GB) frames has been added to the 64-bit port.
+     * Several [26]ABI bugs have been fixed. Unfortunately, these changes
+       will break binary compatibility with earlier releases.
+     * The default debugging format has been switched from STABS to
+       DWARF-2 for 32-bit code on Solaris 7 and later. DWARF-2 is already
+       the default debugging format for 64-bit code on Solaris.
+
+  SuperH
+
+     * Support for the SH2E processor has been added. Enabled at run time
+       with the -m2e command line switch, or at configure time by
+       specifying sh2e as the machine part of the target triple.
+
+  V850
+
+     * Support for the Mitsubishi V850E1 processor has been added. This is
+       a variant of the V850E processor with some additional debugging
+       instructions.
+
+  Xtensa
+
+     * Several ABI bugs have been fixed. Unfortunately, these changes
+       break binary compatibility with earlier releases.
+          + For big-endian processors, the padding of aggregate return
+            values larger than a word has changed. If the size of an
+            aggregate return value is not a multiple of 32 bits, previous
+            versions of GCC inserted padding in the most-significant bytes
+            of the first return value register. Aggregates larger than a
+            word are now padded in the least-significant bytes of the last
+            return value register used. Aggregates smaller than a word are
+            still padded in the most-significant bytes. The return value
+            padding has not changed for little-endian processors.
+          + Function arguments with 16-byte alignment are now properly
+            aligned.
+          + The implementation of the va_list type has changed. A va_list
+            value created by va_start from a previous release cannot be
+            used with va_arg from this release, or vice versa.
+     * More processor configuration options for Xtensa processors are
+       supported:
+          + the ABS instruction is now optional;
+          + the ADDX* and SUBX* instructions are now optional;
+          + an experimental CONST16 instruction can be used to synthesize
+            constants instead of loading them from constant pools.
+       These and other Xtensa processor configuration options can no
+       longer be enabled or disabled by command-line options; the
+       processor configuration must be specified by the xtensa-config.h
+       header file when building GCC. Additionally, the
+       -mno-serialize-volatile option is no longer supported.
+
+Obsolete Systems
+
+   Support for a number of older systems has been declared obsolete in GCC
+   3.4. Unless there is activity to revive them, the next release of GCC
+   will have their sources permanently removed.
+
+   All configurations of the following processor architectures have been
+   declared obsolete:
+     * Mitsubishi D30V, d30v-*
+     * AT&T DSP1600 and DSP1610, dsp16xx-*
+     * Intel 80960, i960
+
+   Also, some individual systems have been obsoleted:
+     * ARM Family
+          + Support for generating code for operation in APCS/26 mode
+            (-mapcs-26).
+     * IBM ESA/390
+          + "Bigfoot" port, i370-*. (The other port, s390-*, is actively
+            maintained and supported.)
+     * Intel 386 family
+          + MOSS, i?86-moss-msdos and i?86-*-moss*
+          + NCR 3000 running System V r.4, i?86-ncr-sysv4*
+          + FreeBSD with a.out object format, i?86-*-freebsd*aout* and
+            i?86-*-freebsd2*
+          + Linux with a.out object format, i?86-linux*aout*
+          + Linux with libc5, a.k.a. glibc1, i?86-linux*libc1*
+          + Interix versions before Interix 3, i?86-*-interix
+          + Mach microkernel, i?86-mach*
+          + SCO UnixWare with UDK, i?86-*-udk*
+          + Generic System V releases 1, 2, and 3, i?86-*-sysv[123]*
+          + VSTa microkernel, i386-*-vsta
+     * Motorola M68000 family
+          + HPUX, m68k-hp-hpux* and m68000-hp-hpux*
+          + NetBSD with a.out object format (before NetBSD 1.4),
+            m68k-*-*-netbsd* except m68k-*-*-netbsdelf*
+          + Generic System V r.4, m68k-*-sysv4*
+     * VAX
+          + Generic VAX, vax-*-* (This is generic VAX only; we have not
+            obsoleted any VAX triples for specific operating systems.)
+
+Documentation improvements
+
+Other significant improvements
+
+     * The build system has undergone several significant cleanups.
+       Subdirectories will only be configured if they are being built, and
+       all subdirectory configures are run from the make command. The top
+       level has been autoconfiscated.
+     * Building GCC no longer writes to its source directory. This should
+       help those wishing to share a read-only source directory over NFS
+       or build from a CD. The exceptions to this feature are if you
+       configure with either --enable-maintainer-mode or
+       --enable-generated-files-in-srcdir.
+     * The -W warning option has been renamed to -Wextra, which is more
+       easily understood. The older spelling will be retained for
+       backwards compatibility.
+     * Substantial improvements in compile time have been made,
+       particularly for non-optimizing compilations.
+     __________________________________________________________________
+
+GCC 3.4.0
+
+  Bug Fixes
+
+   A vast number of bugs have been fixed in 3.4.0, too many to publish a
+   complete list here. [27]Follow this link to query the Bugzilla database
+   for the list of over 900 bugs fixed in 3.4.0. This is the list of all
+   bugs marked as resolved and fixed in 3.4.0 that are not flagged as 3.4
+   regressions.
+     __________________________________________________________________
+
+GCC 3.4.1
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.4.1 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+    Bootstrap failures
+
+     * [28]10129 Ada bootstrap fails on PPC-Darwin - invalid assembler
+       emitted - PIC related
+     * [29]14576 [ARM] ICE in libiberty when building gcc-3.4 for arm-elf
+     * [30]14760 A bug in configure.in prevents using both
+       --program-suffix and --program-prefix
+     * [31]14671 [hppa64] bootstrap fails: ICE in
+       save_call_clobbered_regs, in caller_save.c
+     * [32]15093 [alpha][Java] make bootstrap fails to configure libffi on
+       Alpha
+     * [33]15178 Solaris 9/x86 fails linking after stage 3
+
+    Multi-platform internal compiler errors (ICEs)
+
+     * [34]12753 (preprocessor) Memory corruption in preprocessor on bad
+       input
+     * [35]13985 ICE in gcc.c-torture/compile/930621-1.c
+     * [36]14810 (c++) tree check failures with invalid code involving
+       templates
+     * [37]14883 (c++) ICE on invalid code, in cp_parser_lookup_name, in
+       cp/parser.c
+     * [38]15044 (c++) ICE on syntax error, template header
+     * [39]15057 (c++) Compiling of conditional value throw constructs
+       cause a segmentation violation
+     * [40]15064 (c++) typeid of template parameter gives ICE
+     * [41]15142 (c++) ICE when passing a string where a char* is expected
+       in a throw statement
+     * [42]15159 ICE in rtl_verify_flow_info_1
+     * [43]15165 (c++) ICE in instantiate_template
+     * [44]15193 Unary minus using pointer to V4SF vector causes
+       -fforce-mem to exhaust all memory
+     * [45]15209 (c++) Runs out of memory with packed structs
+     * [46]15227 (c++) Trouble with invalid function definition
+     * [47]15285 (c++) instantiate_type ICE when forming pointer to
+       template function
+     * [48]15299 (c++) ICE in resolve_overloaded_unification
+     * [49]15329 (c++) ICE on constructor of member template
+     * [50]15550 ICE in extract_insn, in recog.c
+     * [51]15554 (c++) ICE in tsubst_copy, in cp/pt.c
+     * [52]15640 (c++) ICE on invalid code in arg_assoc, in
+       cp/name-lookup.c
+     * [53]15666 [unit-at-a-time] Gcc abort on valid code
+     * [54]15696 (c++) ICE with bad pointer-to-member code
+     * [55]15701 (c++) ICE with friends and template template parameter
+     * [56]15761 ICE in do_SUBST, in combine.c
+     * [57]15829 (c++) ICE on Botan-1.3.13 due to -funroll-loops
+
+    Ada
+
+     * [58]14538 All RTEMS targets broken for gnat
+
+    C front end
+
+     * [59]12391 missing warning about assigning to an incomplete type
+     * [60]14649 atan(1.0) should not be a constant expression
+     * [61]15004 [unit-at-a-time] no warning for unused paramater in
+       static function
+     * [62]15749 --pedantic-errors behaves differently from --pedantic
+       with C-compiler on GNU/Linux
+
+    C++ compiler and library
+
+     * [63]10646 non-const reference is incorrectly matched in a "const T"
+       partial specialization
+     * [64]12077 wcin.rdbuf()->in_avail() return value too high
+     * [65]13598 enc_filebuf doesn't work
+     * [66]14211 const_cast returns lvalue but should be rvalue
+     * [67]14220 num_put::do_put() undesired float/double behavior
+     * [68]14245 problem with user-defined allocators in std::basic_string
+     * [69]14340 libstdc++ Debug mode: failure to convert iterator to
+       const_iterator
+     * [70]14600 __gnu_cxx::stdio_sync_filebuf should expose internal
+       FILE*
+     * [71]14668 no warning anymore for reevaluation of declaration
+     * [72]14775 LFS (large file support) tests missing
+     * [73]14821 Duplicate namespace alias declaration should not conflict
+     * [74]14930 Friend declaration ignored
+     * [75]14932 cannot use offsetof to get offsets of array elements in
+       g++ 3.4.0
+     * [76]14950 [non unit-at-a-time] always_inline does not mix with
+       templates and -O0
+     * [77]14962 g++ ignores #pragma redefine_extname
+     * [78]14975 Segfault on low-level write error during imbue
+     * [79]15002 Linewise stream input is unusably slow (std::string slow)
+     * [80]15025 compiler accepts redeclaration of template as
+       non-template
+     * [81]15046 [arm] Math functions misdetected by cross configuration
+     * [82]15069 a bit test on a variable of enum type is miscompiled
+     * [83]15074 g++ -lsupc++ still links against libstdc++
+     * [84]15083 spurious "statement has no effect" warning
+     * [85]15096 parse error with templates and pointer to const member
+     * [86]15287 combination of operator[] and operator .* fails in
+       templates
+     * [87]15317 __attribute__ unused in first parameter of constructor
+       gives error
+     * [88]15337 sizeof on incomplete type diagnostic
+     * [89]15361 bitset<>::_Find_next fails
+     * [90]15412 _GLIBCXX_ symbols symbols defined and used in different
+       namespaces
+     * [91]15427 valid code results in incomplete type error
+     * [92]15471 Incorrect member pointer offsets in anonymous
+       structs/unions
+     * [93]15503 nested template problem
+     * [94]15507 compiler hangs while laying out union
+     * [95]15542 operator & and template definitions
+     * [96]15565 SLES9: leading + sign for unsigned int with showpos
+     * [97]15625 friend defined inside a template fails to find static
+       function
+     * [98]15629 Function templates, overloads, and friend name injection
+     * [99]15742 'noreturn' attribute ignored in method of template
+       functions.
+     * [100]15775 Allocator::pointer consistently ignored
+     * [101]15821 Duplicate namespace alias within namespace rejected
+     * [102]15862 'enum yn' fails (confict with undeclared builtin)
+     * [103]15875 rejects pointer to member in template
+     * [104]15877 valid code using templates and anonymous enums is
+       rejected
+     * [105]15947 Puzzling error message for wrong destructor declaration
+       in template class
+     * [106]16020 cannot copy __gnu_debug::bitset
+     * [107]16154 input iterator concept too restrictive
+     * [108]16174 deducing top-level consts
+
+    Java
+
+     * [109]14315 Java compiler is not parallel make safe
+
+    Fortran
+
+     * [110]15151 [g77] incorrect logical i/o in 64-bit mode
+
+    Objective-C
+
+     * [111]7993 private variables cannot be shadowed in subclasses
+
+    Optimization bugs
+
+     * [112]15228 useless copies of floating point operands
+     * [113]15345 [non-unit-at-a-time] unreferenced nested inline
+       functions not optimized away
+     * [114]15945 Incorrect floating point optimization
+     * [115]15526 ftrapv aborts on 0 * (-1)
+     * [116]14690 Miscompiled POOMA tests
+     * [117]15112 GCC generates code to write to unchanging memory
+
+    Preprocessor
+
+     * [118]15067 Minor glitch in the source of cpp
+
+    Main driver program bugs
+
+     * [119]1963 collect2 interprets -oldstyle_liblookup as -o
+       ldstyle_liblookup
+
+    x86-specific (Intel/AMD)
+
+     * [120]15717 Error: can't resolve `L0' {*ABS* section} - `xx' {*UND*
+       section}
+
+    HPPA-specific
+
+     * [121]14782 GCC produces an unaligned data access at -O2
+     * [122]14828 FAIL: gcc.c-torture/execute/20030408-1.c execution, -O2
+     * [123]15202 ICE in reload_cse_simplify_operands, in postreload.c
+
+    IA64-specific
+
+     * [124]14610 __float80 constants incorrectly emitted
+     * [125]14813 init_array sections are initialized in the wrong order
+     * [126]14857 GCC segfault on duplicated asm statement
+     * [127]15598 Gcc 3.4 ICE on valid code
+     * [128]15653 Gcc 3.4 ICE on valid code
+
+    MIPS-specific
+
+     * [129]15189 wrong filling of delay slot with -march=mips1 -G0
+       -mno-split-addresses -mno-explicit-relocs
+     * [130]15331 Assembler error building gnatlib on IRIX 6.5 with GNU as
+       2.14.91
+     * [131]16144 Bogus reference to __divdf3 when -O1
+     * [132]16176 Miscompilation of unaligned data in MIPS backend
+
+    PowerPC-specific
+
+     * [133]11591 ICE in gcc.dg/altivec-5.c
+     * [134]12028 powerpc-eabispe produces bad sCOND operation
+     * [135]14478 rs6000 geu/ltu patterns generate incorrect code
+     * [136]14567 long double and va_arg complex args
+     * [137]14715 Altivec stack layout may overlap gpr save with stack
+       temps
+     * [138]14902 (libstdc++) Stream checking functions fail when -pthread
+       option is used.
+     * [139]14924 Compiler ICE on valid code
+     * [140]14960 -maltivec affects vector return with -mabi=no-altivec
+     * [141]15106 vector varargs failure passing from altivec to
+       non-altivec code for -m32
+     * [142]16026 ICE in function.c:4804, assign_parms, when -mpowerpc64 &
+       half-word operation
+     * [143]15191 -maltivec -mabi=no-altivec results in mis-aligned lvx
+       and stvx
+     * [144]15662 Segmentation fault when an exception is thrown - even if
+       try and catch are specified
+
+    s390-specific
+
+     * [145]15054 Bad code due to overlapping stack temporaries
+
+    SPARC-specific
+
+     * [146]15783 ICE with union assignment in 64-bit mode
+     * [147]15626 GCC 3.4 emits "ld: warning: relocation error:
+       R_SPARC_UA32"
+
+    x86-64-specific
+
+     * [148]14326 boehm-gc hardcodes to 3DNow! prefetch for x86_64
+     * [149]14723 Backported -march=nocona from mainline
+     * [150]15290 __float128 failed to pass to function properly
+
+    Cygwin/Mingw32-specific
+
+     * [151]15250 Option -mms-bitfields support on GCC 3.4 is not
+       conformant to MS layout
+     * [152]15551 -mtune=pentium4 -O2 with sjlj EH breaks stack probe
+       worker on windows32 targets
+
+    Bugs specific to embedded processors
+
+     * [153]8309 [m68k] -m5200 produces erroneous SImode set of short
+       varaible on stack
+     * [154]13250 [SH] Gcc code for rotation clobbers the register, but
+       gcc continues to use the register as if it was not clobbered
+     * [155]13803 [coldfire] movqi operand constraints too restrictivefor
+       TARGET_COLDFIRE
+     * [156]14093 [SH] ICE for code when using -mhitachi option in SH
+     * [157]14457 [m6811hc] ICE with simple c++ source
+     * [158]14542 [m6811hc] ICE on simple source
+     * [159]15100 [SH] cc1plus got hang-up on
+       libstdc++-v3/testsuite/abi_check.cc
+     * [160]15296 [CRIS] Delayed branch scheduling causing invalid code on
+       cris-*
+     * [161]15396 [SH] ICE with -O2 -fPIC
+     * [162]15782 [coldfire] m68k_output_mi_thunk emits wrong code for
+       ColdFire
+
+    Testsuite problems (compiler not affected)
+
+     * [163]11610 libstdc++ testcases 27_io/* don't work properly remotely
+     * [164]15488 (libstdc++) possibly insufficient file permissions for
+       executing test suite
+     * [165]15489 (libstdc++) testsuite_files determined incorrectly
+
+    Documentation bugs
+
+     * [166]13928 (libstdc++) no whatis info in some man pages generated
+       by doxygen
+     * [167]14150 Ada documentation out of date
+     * [168]14949 (c++) Need to document method visibility changes
+     * [169]15123 libstdc++-doc: Allocators.3 manpage is empty
+     __________________________________________________________________
+
+GCC 3.4.2
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.4.2 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+    Bootstrap failures and issues
+
+     * [170]16469 [mips-sgi-irix5.3] bootstrap fails in
+       libstdc++-v3/testsuite
+     * [171]16344 [hppa-linux-gnu] libstdc++'s PCH built by
+       profiledbootstrap does not work with the built compiler
+     * [172]16842 [Solaris/x86] mkheaders can not find mkheaders.conf
+
+    Multi-platform internal compiler errors (ICEs)
+
+     * [173]12608 (c++) ICE: expected class 't', have 'x' (error_mark) in
+       cp_parser_class_specifier, in cp/parser.c
+     * [174]14492 ICE in loc_descriptor_from_tree, in dwarf2out.c
+     * [175]15461 (c++) ICE due to NRV and inlining
+     * [176]15890 (c++) ICE in c_expand_expr, in c-common.c
+     * [177]16180 ICE: segmentation fault in RTL optimization
+     * [178]16224 (c++) ICE in write_unscoped_name (template/namespace)
+     * [179]16408 ICE: in delete_insn, in cfgrtl.c
+     * [180]16529 (c++) ICE for: namespace-alias shall not be declared as
+       the name of any other entity
+     * [181]16698 (c++) ICE with exceptions and declaration of __cxa_throw
+     * [182]16706 (c++) ICE in finish_member_declaration, in
+       cp/semantics.c
+     * [183]16810 (c++) Legal C++ program with cast gives ICE in
+       build_ptrmemfunc
+     * [184]16851 (c++) ICE when throwing a comma expression
+     * [185]16870 (c++) Boost.Spirit causes ICE in tsubst, in cp/pt.c
+     * [186]16904 (c++) ICE in finish_class_member_access_expr, in
+       cp/typeck.c
+     * [187]16905 (c++) ICE (segfault) with exceptions
+     * [188]16964 (c++) ICE in cp_parser_class_specifier due to
+       redefinition
+     * [189]17068 (c++) ICE: tree check: expected class 'd', have 'x'
+       (identifier_node) in dependent_template_p, in cp/pt.c
+
+    Preprocessor bugs
+
+     * [190]16366 Preprocessor option -remap causes memory corruption
+
+    Optimization
+
+     * [191]15345 unreferenced nested inline functions not optimized away
+     * [192]16590 Incorrect execution when compiling with -O2
+     * [193]16693 Bitwise AND is lost when used within a cast to an enum
+       of the same precision
+     * [194]17078 Jump into if(0) substatement fails
+
+    Problems in generated debug information
+
+     * [195]13956 incorrect stabs for nested local variables
+
+    C front end bugs
+
+     * [196]16684 GCC should not warn about redundant redeclarations of
+       built-ins
+
+    C++ compiler and library
+
+     * [197]12658 Thread safety problems in locale::global() and
+       locale::locale()
+     * [198]13092 g++ accepts invalid pointer-to-member conversion
+     * [199]15320 Excessive memory consumption
+     * [200]16246 Incorrect template argument deduction
+     * [201]16273 Memory exhausted when using nested classes and virtual
+       functions
+     * [202]16401 ostringstream in gcc 3.4.x very slow for big data
+     * [203]16411 undefined reference to
+       __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char>
+       >::file()
+     * [204]16489 G++ incorrectly rejects use of a null constant integral
+       expression as a null constant pointer
+     * [205]16618 offsetof fails with constant member
+     * [206]16637 syntax error reported for valid input code
+     * [207]16717 __attribute__((constructor)) broken in C++
+     * [208]16813 compiler error in DEBUG version of range insertion
+       std::map::insert
+     * [209]16853 pointer-to-member initialization from incompatible one
+       accepted
+     * [210]16889 ambiguity is not detected
+     * [211]16959 Segmentation fault in ios_base::sync_with_stdio
+
+    Java compiler and library
+
+     * [212]7587 direct threaded interpreter not thread-safe
+     * [213]16473 ServerSocket accept() leaks file descriptors
+     * [214]16478 Hash synchronization deadlock with finalizers
+
+    Alpha-specific
+
+     * [215]10695 ICE in dwarf2out_frame_debug_expr, in dwarf2out.c
+     * [216]16974 could not split insn (ice in final_scan_insn, in
+       final.c)
+
+    x86-specific
+
+     * [217]16298 ICE in output_operand
+     * [218]17113 ICE with SSE2 intrinsics
+
+    x86-64 specific
+
+     * [219]14697 libstdc++ couldn't find 32bit libgcc_s
+
+    MIPS-specific
+
+     * [220]15869 [mips64] No NOP after LW (with -mips1 -O0)
+     * [221]16325 [mips64] value profiling clobbers gp on mips
+     * [222]16357 [mipsisa64-elf] ICE copying 7 bytes between extern
+       char[]s
+     * [223]16380 [mips64] Use of uninitialised register after dbra
+       conversion
+     * [224]16407 [mips64] Unaligned access to local variables
+     * [225]16643 [mips64] verify_local_live_at_start ICE after
+       crossjumping & cfgcleanup
+
+    ARM-specific
+
+     * [226]15927 THUMB -O2: strength-reduced iteration variable ends up
+       off by 1
+     * [227]15948 THUMB: ICE with non-commutative cbranch
+     * [228]17019 THUMB: bad switch statement in md code for
+       addsi3_cbranch_scratch
+
+    IA64-specific
+
+     * [229]16130 ICE on valid code: in bundling, in config/ia64/ia64.c
+       (-mtune=merced)
+     * [230]16142 ICE on valid code: in bundling, in config/ia64/ia64.c
+       (-mtune=itanium)
+     * [231]16278 Gcc failed to build Linux kernel with -mtune=merced
+     * [232]16414 ICE on valid code: typo in comparison of asm_noperands
+       result
+     * [233]16445 ICE on valid code: don't count ignored insns
+     * [234]16490 ICE (segfault) while compiling with -fprofile-use
+     * [235]16683 ia64 does not honor SUBTARGET_EXTRA_SPECS
+
+    PowerPC-specific
+
+     * [236]16195 (ppc64): Miscompilation of GCC 3.3.x by 3.4.x
+     * [237]16239 ICE on ppc64 (mozilla 1.7 compile, -O1 -fno-exceptions
+       issue)
+
+    SPARC-specific
+
+     * [238]16199 ICE while compiling apache 2.0.49
+     * [239]16416 -m64 doesn't imply -mcpu=v9 anymore
+     * [240]16430 ICE when returning non-C aggregates larger than 16 bytes
+
+    Bugs specific to embedded processors
+
+     * [241]16379 [m32r] can't output large model function call of memcpy
+     * [242]17093 [m32r] ICE with -msdata=use -O0
+     * [243]17119 [m32r] ICE at switch case 0x8000
+
+    DJGPP-specific
+
+     * [244]15928 libstdc++ in 3.4.x doesn't cross-compile for djgpp
+
+    Alpha Tru64-specific
+
+     * [245]16210 libstdc++ gratuitously omits "long long" I/O
+
+    Testsuite, documentation issues (compiler is not affected):
+
+     * [246]15488 (libstdc++) possibly insufficient file permissions for
+       executing test suite
+     * [247]16250 ada/doctools runs makeinfo even in release tarball
+     __________________________________________________________________
+
+GCC 3.4.3
+
+   This is the [248]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.4.3 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+    Bootstrap failures
+
+     * [249]17369 [ia64] Bootstrap failure with binutils-2.15.90.0.1.1
+     * [250]17850 [arm-elf] bootstrap failure - libstdc++ uses strtold
+       when undeclared
+
+    Internal compiler errors (ICEs) affecting multiple platforms
+
+     * [251]13948 (java) GCJ segmentation fault while compiling GL4Java
+       .class files
+     * [252]14492 ICE in loc_descriptor_from_tree, in dwarf2out.c
+     * [253]16301 (c++) ICE when "strong" attribute is attached to a using
+       directive
+     * [254]16566 ICE with flexible arrays
+     * [255]17023 ICE with nested functions in parameter declaration
+     * [256]17027 ICE with noreturn function in loop at -O2
+     * [257]17524 ICE in grokdeclarator, in cp/decl.c
+     * [258]17826 (c++) ICE in cp_tree_equal
+
+    C and optimization bugs
+
+     * [259]15526 -ftrapv aborts on 0 * (-1)
+     * [260]16999 #ident stopped working
+     * [261]17503 quadratic behaviour in invalid_mode_change_p
+     * [262]17581 Long long arithmetic fails inside a switch/case
+       statement when compiled with -O2
+     * [263]18129 -fwritable-strings doesn't work
+
+    C++ compiler and library bugs
+
+     * [264]10975 incorrect initial ostringstream::tellp()
+     * [265]11722 Unbuffered filebuf::sgetn is slow
+     * [266]14534 Unrecognizing static function as a template parameter
+       when its return value is also templated
+     * [267]15172 Copy constructor optimization in aggregate
+       initialization
+     * [268]15786 Bad error message for frequently occuring error.
+     * [269]16162 Rejects valid member-template-definition
+     * [270]16612 empty basic_strings can't live in shared memory
+     * [271]16715 std::basic_iostream is instantiated when used, even
+       though instantiations are already contained in libstdc++
+     * [272]16848 code in /ext/demangle.h appears broken
+     * [273]17132 GCC fails to eliminate function template specialization
+       when argument deduction fails
+     * [274]17259 One more _S_leaf incorrectly qualified with _RopeRep::
+       in ropeimpl.h
+     * [275]17327 use of `enumeral_type' in template type unification
+     * [276]17393 "unused variable '._0'" warning with -Wall
+     * [277]17501 Confusion with member templates
+     * [278]17537 g++ not passing -lstdc++ to linker when all command line
+       arguments are libraries
+     * [279]17585 usage of unqualified name of static member from within
+       class not allowed
+     * [280]17821 Poor diagnostic for using "." instead of "->"
+     * [281]17829 wrong error: call of overloaded function is ambiguous
+     * [282]17851 Misleading diagnostic for invalid function declarations
+       with undeclared types
+     * [283]17976 Destructor is called twice
+     * [284]18020 rejects valid definition of enum value in template
+     * [285]18093 bogus conflict in namespace aliasing
+     * [286]18140 C++ parser bug when using >> in templates
+
+    Fortran
+
+     * [287]17541 data statements with double precision constants fail
+
+    x86-specific
+
+     * [288]17853 -O2 ICE for MMX testcase
+
+    SPARC-specific
+
+     * [289]17245 ICE compiling gsl-1.5 statistics/lag1.c
+
+    Darwin-specific
+
+     * [290]17167 FATAL:Symbol L_foo$stub already defined.
+
+    AIX-specific
+
+     * [291]17277 could not catch an exception when specified -maix64
+
+    Solaris-specific
+
+     * [292]17505 <cmath> calls acosf(), ceilf(), and other functions
+       missing from system libraries
+
+    HP/UX specific:
+
+     * [293]17684 /usr/ccs/bin/ld: Can't create libgcc_s.sl
+
+    ARM-specific
+
+     * [294]17384 ICE with mode attribute on structures
+
+    MIPS-specific
+
+     * [295]17770 No NOP after LWL with -mips1
+
+    Other embedded target specific
+
+     * [296]11476 [arc-elf] gcc ICE on newlib's vfprintf.c
+     * [297]14064 [avr-elf] -fdata-sections triggers ICE
+     * [298]14678 [m68hc11-elf] gcc ICE
+     * [299]15583 [powerpc-rtems] powerpc-rtems lacks __USE_INIT_FINI__
+     * [300]15790 [i686-coff] Alignment error building gcc with i686-coff
+       target
+     * [301]15886 [SH] Miscompilation with -O2 -fPIC
+     * [302]16884 [avr-elf] [fweb related] bug while initializing
+       variables
+
+    Bugs relating to debugger support
+
+     * [303]13841 missing debug info for _Complex function arguments
+     * [304]15860 [big-endian targets] No DW_AT_location debug info is
+       emitted for formal arguments to a function that uses "register"
+       qualifiers
+
+    Testsuite issues (compiler not affected)
+
+     * [305]17465 Testsuite in libffi overrides LD_LIBRARY_PATH
+     * [306]17469 Testsuite in libstdc++ overrides LD_LIBRARY_PATH
+     * [307]18138 [mips-sgi-irix6.5] libgcc_s.so.1 not found by 64-bit
+       testsuite
+
+    Documentation
+
+     * [308]15498 typo in gcc manual: non-existing locale example en_UK,
+       should be en_GB
+     * [309]15747 [mips-sgi-irix5.3] /bin/sh hangs during bootstrap:
+       document broken shell
+     * [310]16406 USE_LD_AS_NEEDED undocumented
+     __________________________________________________________________
+
+GCC 3.4.4
+
+   This is the [311]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.4.4 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+     __________________________________________________________________
+
+GCC 3.4.5
+
+   This is the [312]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.4.5 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+    Bootstrap issues
+
+     * [313]24688 sco_math fixincl breaks math.h
+
+    C compiler bugs
+
+     * [314]17188 struct Foo { } redefinition
+     * [315]20187 wrong code for ((unsigned char)(unsigned long
+       long)((a?a:1)&(a*b)))?0:1)
+     * [316]21873 infinite warning loop on bad array initializer
+     * [317]21899 enum definition accepts values to be overriden
+     * [318]22061 ICE in find_function_data, in function.c
+     * [319]22308 Failure to diagnose violation of constraint 6.516p2
+     * [320]22458 ICE on missing brace
+     * [321]22589 ICE casting to long long
+     * [322]24101 Segfault with preprocessed source
+
+    C++ compiler and library bugs
+
+     * [323]10611 operations on vector mode not recognized in C++
+     * [324]13377 unexpected behavior of namespace usage directive
+     * [325]16002 Strange error message with new parser
+     * [326]17413 local classes as template argument
+     * [327]17609 spurious error message after using keyword
+     * [328]17618 ICE in cp_convert_to_pointer, in cp/cvt.c
+     * [329]18124 ICE with invalid template template parameter
+     * [330]18155 typedef in template declaration not rejected
+     * [331]18177 ICE with const_cast for undeclared variable
+     * [332]18368 C++ error message regression
+     * [333]16378 ICE when returning a copy of a packed member
+     * [334]18466 int ::i; accepted
+     * [335]18512 ICE on invalid usage of template base class
+     * [336]18454 ICE when returning undefined type
+     * [337]18738 typename not allowed with non-dependent qualified name
+     * [338]18803 rejects access to operator() in template
+     * [339]19004 ICE in uses_template_parms, in cp/pt.c
+     * [340]19208 Spurious error about variably modified type
+     * [341]18253 bad error message / ICE for invalid template parameter
+     * [342]19608 ICE after friend function definition in local class
+     * [343]19884 ICE on explicit instantiation of a non-template
+       constructor
+     * [344]20153 ICE when C++ template function contains anonymous union
+     * [345]20563 Infinite loop in diagnostic (and ice after error
+       message)
+     * [346]20789 ICE with incomplete type in template
+     * [347]21336 Internal compiler error when using custom new operators
+     * [348]21768 ICE in error message due to violation of coding
+       conventions
+     * [349]21853 constness of pointer to data member ignored
+     * [350]21903 Default argument of template function causes a
+       compile-time error
+     * [351]21983 multiple diagnostics
+     * [352]21987 New testsuite failure
+       g++.dg/warn/conversion-function-1.C
+     * [353]22153 ICE on invalid template specialization
+     * [354]22172 Internal compiler error, seg fault.
+     * [355]21286 filebuf::xsgetn vs pipes
+     * [356]22233 ICE with wrong number of template parameters
+     * [357]22508 ICE after invalid operator new
+     * [358]22545 ICE with pointer to class member & user defined
+       conversion operator
+     * [359]23528 Wrong default allocator in ext/hash_map
+     * [360]23550 char_traits requirements/1.cc test bad math
+     * [361]23586 Bad diagnostic for invalid namespace-name
+     * [362]23624 ICE in invert_truthvalue, in fold-const.c
+     * [363]23639 Bad error message: not a member of '<declaration error>'
+     * [364]23797 ICE on typename outside template
+     * [365]23965 Bogus error message: no matching function for call to
+       'foo(<type error>)'
+     * [366]24052 &#`label_decl' not supported by dump_expr#<expression
+       error>
+     * [367]24580 virtual base class cause exception not to be caught
+
+    Problems in generated debug information
+
+     * [368]24267 Bad DWARF for altivec vectors
+
+    Optimizations issues
+
+     * [369]17810 ICE in verify_local_live_at_start
+     * [370]17860 Wrong generated code for loop with varying bound
+     * [371]21709 ICE on compile-time complex NaN
+     * [372]21964 broken tail call at -O2 or more
+     * [373]22167 Strange optimization bug when using -Os
+     * [374]22619 Compilation failure for real_const_1.f and
+       real_const_2.f90
+     * [375]23241 Invalid code generated for comparison of uchar to 255
+     * [376]23478 Miscompilation due to reloading of a var that is also
+       used in EH pad
+     * [377]24470 segmentation fault in cc1plus when compiling with -O
+     * [378]24950 ICE in operand_subword_force
+
+    Precompiled headers problems
+
+     * [379]14400 Cannot compile qt-x11-free-3.3.0
+     * [380]14940 PCH largefile test fails on various platforms
+
+    Preprocessor bugs
+
+     * [381]20239 ICE on empty preprocessed input
+     * [382]15220 "gcc -E -MM -MG" reports missing system headers in
+       source directory
+
+    Testsuite issues
+
+     * [383]19275 gcc.dg/20020919-1.c fails with -fpic/-fPIC on
+       i686-pc-linux-gnu
+
+    Alpha specific
+
+     * [384]21888 bootstrap failure with linker relaxation enabled
+
+    ARM specific
+
+     * [385]15342 [arm-linux]: ICE in verify_local_live_at_start
+     * [386]23985 Memory aliasing information incorrect in inlined memcpy
+
+    ColdFile specific
+
+     * [387]16719 Illegal move of byte into address register causes
+       compiler to ICE
+
+    HPPA specific
+
+     * [388]21723 ICE while building libgfortran
+     * [389]21841 -mhp-ld/-mgnu-ld documentation
+
+    IA-64 specific
+
+     * [390]23644 IA-64 hardware models and configuration options
+       documentation error
+     * [391]24718 Shared libgcc not used for linking by default
+
+    M68000 specific
+
+     * [392]18421 ICE in reload_cse_simplify_operands, in postreload.c
+
+    MIPS specific
+
+     * [393]20621 ICE in change_address_1, in emit-rtl.c
+
+    PowerPC and PowerPC64 specific
+
+     * [394]18583 error on valid code: const
+       __attribute__((altivec(vector__))) doesn't work in arrays
+     * [395]20191 ICE in reload_cse_simplify_operands
+     * [396]22083 AIX: TARGET_C99_FUNCTIONS is wrongly defined
+     * [397]23070 CALL_V4_CLEAR_FP_ARGS flag not properly set
+     * [398]23404 gij trashes args of functions with more than 8 fp args
+     * [399]23539 C & C++ compiler generating misaligned references
+       regardless of compiler flags
+     * [400]24102 floatdisf2_internal2 broken
+     * [401]24465 -mminimal-toc miscompilation of __thread vars
+
+    Solaris specific
+
+     * [402]19933 Problem with define of HUGE_VAL in math_c99
+     * [403]21889 Native Solaris assembler cannot grok DTP-relative debug
+       symbols
+
+    SPARC specific
+
+     * [404]19300 PCH failures on sparc-linux
+     * [405]20301 Assembler labels have a leading "-"
+     * [406]20673 C PCH testsuite assembly comparison failure
+
+    x86 and x86_64 specific
+
+     * [407]18582 ICE with arrays of type V2DF
+     * [408]19340 Compilation SEGFAULTs with -O1 -fschedule-insns2
+       -fsched2-use-traces
+     * [409]21716 ICE in reg-stack.c's swap_rtx_condition
+     * [410]24315 amd64 fails -fpeephole2
+     __________________________________________________________________
+
+GCC 3.4.6
+
+   This is the [411]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.4.6 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+   Please send FSF & GNU inquiries & questions to [412]gnu@gnu.org. There
+   are also [413]other ways to contact the FSF.
+
+   These pages are maintained by [414]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [415]GCC manuals. If that fails, the
+    [416]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [417]gcc@gnu.org or
+    [418]gcc@gcc.gnu.org. All of our lists have [419]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-05-03 [420]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6
+   2. http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
+   3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
+   4. http://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems
+   5. http://gcc.gnu.org/gcc-3.4/mips-abi.html
+   6. http://gcc.gnu.org/gcc-3.4/sparc-abi.html
+   7. http://www.boost.org/
+   8. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11953
+   9. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8361
+  10. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Other-Builtins.html#Other%20Builtins
+  11. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_closed.html#209
+  12. http://gcc.gnu.org/bugs.html#cxx_rvalbind
+  13. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
+  14. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
+  15. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Objective-C-Dialect-Options.html
+  16. http://www.gnu.org/software/classpath/
+  17. http://www.eclipse.org/
+  18. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/g77/News.html
+  19. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Alpha-Built-in-Functions.html
+  20. http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51A_HTML/ARH9MBTE/DTMNPLTN.HTM#normal-argument-list-structure
+  21. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html
+  22. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Comparison-of-the-two-descriptions.html
+  23. http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gccint/Processor-pipeline-description.html
+  24. http://gcc.gnu.org/gcc-3.4/mips-abi.html
+  25. http://gcc.gnu.org/gcc-3.4/powerpc-abi.html
+  26. http://gcc.gnu.org/gcc-3.4/sparc-abi.html
+  27. http://gcc.gnu.org/bugzilla/buglist.cgi?short_desc_type=notregexp&short_desc=%5C%5B3%5C.4.*%5BRr%5Degression&target_milestone=3.4.0&bug_status=RESOLVED&resolution=FIXED
+  28. http://gcc.gnu.org/PR10129
+  29. http://gcc.gnu.org/PR14576
+  30. http://gcc.gnu.org/PR14760
+  31. http://gcc.gnu.org/PR14671
+  32. http://gcc.gnu.org/PR15093
+  33. http://gcc.gnu.org/PR15178
+  34. http://gcc.gnu.org/PR12753
+  35. http://gcc.gnu.org/PR13985
+  36. http://gcc.gnu.org/PR14810
+  37. http://gcc.gnu.org/PR14883
+  38. http://gcc.gnu.org/PR15044
+  39. http://gcc.gnu.org/PR15057
+  40. http://gcc.gnu.org/PR15064
+  41. http://gcc.gnu.org/PR15142
+  42. http://gcc.gnu.org/PR15159
+  43. http://gcc.gnu.org/PR15165
+  44. http://gcc.gnu.org/PR15193
+  45. http://gcc.gnu.org/PR15209
+  46. http://gcc.gnu.org/PR15227
+  47. http://gcc.gnu.org/PR15285
+  48. http://gcc.gnu.org/PR15299
+  49. http://gcc.gnu.org/PR15329
+  50. http://gcc.gnu.org/PR15550
+  51. http://gcc.gnu.org/PR15554
+  52. http://gcc.gnu.org/PR15640
+  53. http://gcc.gnu.org/PR15666
+  54. http://gcc.gnu.org/PR15696
+  55. http://gcc.gnu.org/PR15701
+  56. http://gcc.gnu.org/PR15761
+  57. http://gcc.gnu.org/PR15829
+  58. http://gcc.gnu.org/PR14538
+  59. http://gcc.gnu.org/PR12391
+  60. http://gcc.gnu.org/PR14649
+  61. http://gcc.gnu.org/PR15004
+  62. http://gcc.gnu.org/PR15749
+  63. http://gcc.gnu.org/PR10646
+  64. http://gcc.gnu.org/PR12077
+  65. http://gcc.gnu.org/PR13598
+  66. http://gcc.gnu.org/PR14211
+  67. http://gcc.gnu.org/PR14220
+  68. http://gcc.gnu.org/PR14245
+  69. http://gcc.gnu.org/PR14340
+  70. http://gcc.gnu.org/PR14600
+  71. http://gcc.gnu.org/PR14668
+  72. http://gcc.gnu.org/PR14775
+  73. http://gcc.gnu.org/PR14821
+  74. http://gcc.gnu.org/PR14930
+  75. http://gcc.gnu.org/PR14932
+  76. http://gcc.gnu.org/PR14950
+  77. http://gcc.gnu.org/PR14962
+  78. http://gcc.gnu.org/PR14975
+  79. http://gcc.gnu.org/PR15002
+  80. http://gcc.gnu.org/PR15025
+  81. http://gcc.gnu.org/PR15046
+  82. http://gcc.gnu.org/PR15069
+  83. http://gcc.gnu.org/PR15074
+  84. http://gcc.gnu.org/PR15083
+  85. http://gcc.gnu.org/PR15096
+  86. http://gcc.gnu.org/PR15287
+  87. http://gcc.gnu.org/PR15317
+  88. http://gcc.gnu.org/PR15337
+  89. http://gcc.gnu.org/PR15361
+  90. http://gcc.gnu.org/PR15412
+  91. http://gcc.gnu.org/PR15427
+  92. http://gcc.gnu.org/PR15471
+  93. http://gcc.gnu.org/PR15503
+  94. http://gcc.gnu.org/PR15507
+  95. http://gcc.gnu.org/PR15542
+  96. http://gcc.gnu.org/PR15565
+  97. http://gcc.gnu.org/PR15625
+  98. http://gcc.gnu.org/PR15629
+  99. http://gcc.gnu.org/PR15742
+ 100. http://gcc.gnu.org/PR15775
+ 101. http://gcc.gnu.org/PR15821
+ 102. http://gcc.gnu.org/PR15862
+ 103. http://gcc.gnu.org/PR15875
+ 104. http://gcc.gnu.org/PR15877
+ 105. http://gcc.gnu.org/PR15947
+ 106. http://gcc.gnu.org/PR16020
+ 107. http://gcc.gnu.org/PR16154
+ 108. http://gcc.gnu.org/PR16174
+ 109. http://gcc.gnu.org/PR14315
+ 110. http://gcc.gnu.org/PR15151
+ 111. http://gcc.gnu.org/PR7993
+ 112. http://gcc.gnu.org/PR15228
+ 113. http://gcc.gnu.org/PR15345
+ 114. http://gcc.gnu.org/PR15945
+ 115. http://gcc.gnu.org/PR15526
+ 116. http://gcc.gnu.org/PR14690
+ 117. http://gcc.gnu.org/PR15112
+ 118. http://gcc.gnu.org/PR15067
+ 119. http://gcc.gnu.org/PR1963
+ 120. http://gcc.gnu.org/PR15717
+ 121. http://gcc.gnu.org/PR14782
+ 122. http://gcc.gnu.org/PR14828
+ 123. http://gcc.gnu.org/PR15202
+ 124. http://gcc.gnu.org/PR14610
+ 125. http://gcc.gnu.org/PR14813
+ 126. http://gcc.gnu.org/PR14857
+ 127. http://gcc.gnu.org/PR15598
+ 128. http://gcc.gnu.org/PR15653
+ 129. http://gcc.gnu.org/PR15189
+ 130. http://gcc.gnu.org/PR15331
+ 131. http://gcc.gnu.org/PR16144
+ 132. http://gcc.gnu.org/PR16176
+ 133. http://gcc.gnu.org/PR11591
+ 134. http://gcc.gnu.org/PR12028
+ 135. http://gcc.gnu.org/PR14478
+ 136. http://gcc.gnu.org/PR14567
+ 137. http://gcc.gnu.org/PR14715
+ 138. http://gcc.gnu.org/PR14902
+ 139. http://gcc.gnu.org/PR14924
+ 140. http://gcc.gnu.org/PR14960
+ 141. http://gcc.gnu.org/PR15106
+ 142. http://gcc.gnu.org/PR16026
+ 143. http://gcc.gnu.org/PR15191
+ 144. http://gcc.gnu.org/PR15662
+ 145. http://gcc.gnu.org/PR15054
+ 146. http://gcc.gnu.org/PR15783
+ 147. http://gcc.gnu.org/PR15626
+ 148. http://gcc.gnu.org/PR14326
+ 149. http://gcc.gnu.org/PR14723
+ 150. http://gcc.gnu.org/PR15290
+ 151. http://gcc.gnu.org/PR15250
+ 152. http://gcc.gnu.org/PR15551
+ 153. http://gcc.gnu.org/PR8309
+ 154. http://gcc.gnu.org/PR13250
+ 155. http://gcc.gnu.org/PR13803
+ 156. http://gcc.gnu.org/PR14093
+ 157. http://gcc.gnu.org/PR14457
+ 158. http://gcc.gnu.org/PR14542
+ 159. http://gcc.gnu.org/PR15100
+ 160. http://gcc.gnu.org/PR15296
+ 161. http://gcc.gnu.org/PR15396
+ 162. http://gcc.gnu.org/PR15782
+ 163. http://gcc.gnu.org/PR11610
+ 164. http://gcc.gnu.org/PR15488
+ 165. http://gcc.gnu.org/PR15489
+ 166. http://gcc.gnu.org/PR13928
+ 167. http://gcc.gnu.org/PR14150
+ 168. http://gcc.gnu.org/PR14949
+ 169. http://gcc.gnu.org/PR15123
+ 170. http://gcc.gnu.org/PR16469
+ 171. http://gcc.gnu.org/PR16344
+ 172. http://gcc.gnu.org/PR16842
+ 173. http://gcc.gnu.org/PR12608
+ 174. http://gcc.gnu.org/PR14492
+ 175. http://gcc.gnu.org/PR15461
+ 176. http://gcc.gnu.org/PR15890
+ 177. http://gcc.gnu.org/PR16180
+ 178. http://gcc.gnu.org/PR16224
+ 179. http://gcc.gnu.org/PR16408
+ 180. http://gcc.gnu.org/PR16529
+ 181. http://gcc.gnu.org/PR16698
+ 182. http://gcc.gnu.org/PR16706
+ 183. http://gcc.gnu.org/PR16810
+ 184. http://gcc.gnu.org/PR16851
+ 185. http://gcc.gnu.org/PR16870
+ 186. http://gcc.gnu.org/PR16904
+ 187. http://gcc.gnu.org/PR16905
+ 188. http://gcc.gnu.org/PR16964
+ 189. http://gcc.gnu.org/PR17068
+ 190. http://gcc.gnu.org/PR16366
+ 191. http://gcc.gnu.org/PR15345
+ 192. http://gcc.gnu.org/PR16590
+ 193. http://gcc.gnu.org/PR16693
+ 194. http://gcc.gnu.org/PR17078
+ 195. http://gcc.gnu.org/PR13956
+ 196. http://gcc.gnu.org/PR16684
+ 197. http://gcc.gnu.org/PR12658
+ 198. http://gcc.gnu.org/PR13092
+ 199. http://gcc.gnu.org/PR15320
+ 200. http://gcc.gnu.org/PR16246
+ 201. http://gcc.gnu.org/PR16273
+ 202. http://gcc.gnu.org/PR16401
+ 203. http://gcc.gnu.org/PR16411
+ 204. http://gcc.gnu.org/PR16489
+ 205. http://gcc.gnu.org/PR16618
+ 206. http://gcc.gnu.org/PR16637
+ 207. http://gcc.gnu.org/PR16717
+ 208. http://gcc.gnu.org/PR16813
+ 209. http://gcc.gnu.org/PR16853
+ 210. http://gcc.gnu.org/PR16889
+ 211. http://gcc.gnu.org/PR16959
+ 212. http://gcc.gnu.org/PR7587
+ 213. http://gcc.gnu.org/PR16473
+ 214. http://gcc.gnu.org/PR16478
+ 215. http://gcc.gnu.org/PR10695
+ 216. http://gcc.gnu.org/PR16974
+ 217. http://gcc.gnu.org/PR16298
+ 218. http://gcc.gnu.org/PR17113
+ 219. http://gcc.gnu.org/PR14697
+ 220. http://gcc.gnu.org/PR15869
+ 221. http://gcc.gnu.org/PR16325
+ 222. http://gcc.gnu.org/PR16357
+ 223. http://gcc.gnu.org/PR16380
+ 224. http://gcc.gnu.org/PR16407
+ 225. http://gcc.gnu.org/PR16643
+ 226. http://gcc.gnu.org/PR15927
+ 227. http://gcc.gnu.org/PR15948
+ 228. http://gcc.gnu.org/PR17019
+ 229. http://gcc.gnu.org/PR16130
+ 230. http://gcc.gnu.org/PR16142
+ 231. http://gcc.gnu.org/PR16278
+ 232. http://gcc.gnu.org/PR16414
+ 233. http://gcc.gnu.org/PR16445
+ 234. http://gcc.gnu.org/PR16490
+ 235. http://gcc.gnu.org/PR16683
+ 236. http://gcc.gnu.org/PR16195
+ 237. http://gcc.gnu.org/PR16239
+ 238. http://gcc.gnu.org/PR16199
+ 239. http://gcc.gnu.org/PR16416
+ 240. http://gcc.gnu.org/PR16430
+ 241. http://gcc.gnu.org/PR16379
+ 242. http://gcc.gnu.org/PR17093
+ 243. http://gcc.gnu.org/PR17119
+ 244. http://gcc.gnu.org/PR15928
+ 245. http://gcc.gnu.org/PR16210
+ 246. http://gcc.gnu.org/PR15488
+ 247. http://gcc.gnu.org/PR16250
+ 248. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.3
+ 249. http://gcc.gnu.org/PR17369
+ 250. http://gcc.gnu.org/PR17850
+ 251. http://gcc.gnu.org/PR13948
+ 252. http://gcc.gnu.org/PR14492
+ 253. http://gcc.gnu.org/PR16301
+ 254. http://gcc.gnu.org/PR16566
+ 255. http://gcc.gnu.org/PR17023
+ 256. http://gcc.gnu.org/PR17027
+ 257. http://gcc.gnu.org/PR17524
+ 258. http://gcc.gnu.org/PR17826
+ 259. http://gcc.gnu.org/PR15526
+ 260. http://gcc.gnu.org/PR16999
+ 261. http://gcc.gnu.org/PR17503
+ 262. http://gcc.gnu.org/PR17581
+ 263. http://gcc.gnu.org/PR18129
+ 264. http://gcc.gnu.org/PR10975
+ 265. http://gcc.gnu.org/PR11722
+ 266. http://gcc.gnu.org/PR14534
+ 267. http://gcc.gnu.org/PR15172
+ 268. http://gcc.gnu.org/PR15786
+ 269. http://gcc.gnu.org/PR16162
+ 270. http://gcc.gnu.org/PR16612
+ 271. http://gcc.gnu.org/PR16715
+ 272. http://gcc.gnu.org/PR16848
+ 273. http://gcc.gnu.org/PR17132
+ 274. http://gcc.gnu.org/PR17259
+ 275. http://gcc.gnu.org/PR17327
+ 276. http://gcc.gnu.org/PR17393
+ 277. http://gcc.gnu.org/PR17501
+ 278. http://gcc.gnu.org/PR17537
+ 279. http://gcc.gnu.org/PR17585
+ 280. http://gcc.gnu.org/PR17821
+ 281. http://gcc.gnu.org/PR17829
+ 282. http://gcc.gnu.org/PR17851
+ 283. http://gcc.gnu.org/PR17976
+ 284. http://gcc.gnu.org/PR18020
+ 285. http://gcc.gnu.org/PR18093
+ 286. http://gcc.gnu.org/PR18140
+ 287. http://gcc.gnu.org/PR17541
+ 288. http://gcc.gnu.org/PR17853
+ 289. http://gcc.gnu.org/PR17245
+ 290. http://gcc.gnu.org/PR17167
+ 291. http://gcc.gnu.org/PR17277
+ 292. http://gcc.gnu.org/PR17505
+ 293. http://gcc.gnu.org/PR17684
+ 294. http://gcc.gnu.org/PR17384
+ 295. http://gcc.gnu.org/PR17770
+ 296. http://gcc.gnu.org/PR11476
+ 297. http://gcc.gnu.org/PR14064
+ 298. http://gcc.gnu.org/PR14678
+ 299. http://gcc.gnu.org/PR15583
+ 300. http://gcc.gnu.org/PR15790
+ 301. http://gcc.gnu.org/PR15886
+ 302. http://gcc.gnu.org/PR16884
+ 303. http://gcc.gnu.org/PR13841
+ 304. http://gcc.gnu.org/PR15860
+ 305. http://gcc.gnu.org/PR17465
+ 306. http://gcc.gnu.org/PR17469
+ 307. http://gcc.gnu.org/PR18138
+ 308. http://gcc.gnu.org/PR15498
+ 309. http://gcc.gnu.org/PR15747
+ 310. http://gcc.gnu.org/PR16406
+ 311. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.4
+ 312. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.5
+ 313. http://gcc.gnu.org/PR24688
+ 314. http://gcc.gnu.org/PR17188
+ 315. http://gcc.gnu.org/PR20187
+ 316. http://gcc.gnu.org/PR21873
+ 317. http://gcc.gnu.org/PR21899
+ 318. http://gcc.gnu.org/PR22061
+ 319. http://gcc.gnu.org/PR22208
+ 320. http://gcc.gnu.org/PR22458
+ 321. http://gcc.gnu.org/PR22589
+ 322. http://gcc.gnu.org/PR24101
+ 323. http://gcc.gnu.org/PR10611
+ 324. http://gcc.gnu.org/PR13377
+ 325. http://gcc.gnu.org/PR16002
+ 326. http://gcc.gnu.org/PR17413
+ 327. http://gcc.gnu.org/PR17609
+ 328. http://gcc.gnu.org/PR17618
+ 329. http://gcc.gnu.org/PR18124
+ 330. http://gcc.gnu.org/PR18155
+ 331. http://gcc.gnu.org/PR18177
+ 332. http://gcc.gnu.org/PR18368
+ 333. http://gcc.gnu.org/PR18378
+ 334. http://gcc.gnu.org/PR18466
+ 335. http://gcc.gnu.org/PR18512
+ 336. http://gcc.gnu.org/PR18545
+ 337. http://gcc.gnu.org/PR18738
+ 338. http://gcc.gnu.org/PR18803
+ 339. http://gcc.gnu.org/PR19004
+ 340. http://gcc.gnu.org/PR19208
+ 341. http://gcc.gnu.org/PR19253
+ 342. http://gcc.gnu.org/PR19608
+ 343. http://gcc.gnu.org/PR19884
+ 344. http://gcc.gnu.org/PR20153
+ 345. http://gcc.gnu.org/PR20563
+ 346. http://gcc.gnu.org/PR20789
+ 347. http://gcc.gnu.org/PR21336
+ 348. http://gcc.gnu.org/PR21768
+ 349. http://gcc.gnu.org/PR21853
+ 350. http://gcc.gnu.org/PR21903
+ 351. http://gcc.gnu.org/PR21983
+ 352. http://gcc.gnu.org/PR21987
+ 353. http://gcc.gnu.org/PR22153
+ 354. http://gcc.gnu.org/PR22172
+ 355. http://gcc.gnu.org/PR21286
+ 356. http://gcc.gnu.org/PR22233
+ 357. http://gcc.gnu.org/PR22508
+ 358. http://gcc.gnu.org/PR22545
+ 359. http://gcc.gnu.org/PR23528
+ 360. http://gcc.gnu.org/PR23550
+ 361. http://gcc.gnu.org/PR23586
+ 362. http://gcc.gnu.org/PR23624
+ 363. http://gcc.gnu.org/PR23639
+ 364. http://gcc.gnu.org/PR23797
+ 365. http://gcc.gnu.org/PR23965
+ 366. http://gcc.gnu.org/PR24052
+ 367. http://gcc.gnu.org/PR24580
+ 368. http://gcc.gnu.org/PR24267
+ 369. http://gcc.gnu.org/PR17810
+ 370. http://gcc.gnu.org/PR17860
+ 371. http://gcc/gnu.org/PR21709
+ 372. http://gcc.gnu.org/PR21964
+ 373. http://gcc.gnu.org/PR22167
+ 374. http://gcc.gnu.org/PR22619
+ 375. http://gcc.gnu.org/PR23241
+ 376. http://gcc.gnu.org/PR23478
+ 377. http://gcc.gnu.org/PR24470
+ 378. http://gcc.gnu.org/PR24950
+ 379. http://gcc.gnu.org/PR14400
+ 380. http://gcc.gnu.org/PR14940
+ 381. http://gcc.gnu.org/PR20239
+ 382. http://gcc.gnu.org/PR15220
+ 383. http://gcc.gnu.org/PR19275
+ 384. http://gcc.gnu.org/PR21888
+ 385. http://gcc.gnu.org/PR15342
+ 386. http://gcc.gnu.org/PR23985
+ 387. http://gcc.gnu.org/PR16719
+ 388. http://gcc.gnu.org/PR21723
+ 389. http://gcc.gnu.org/PR21841
+ 390. http://gcc.gnu.org/PR23644
+ 391. http://gcc.gnu.org/PR24718
+ 392. http://gcc.gnu.org/PR18421
+ 393. http://gcc.gnu.org/PR20621
+ 394. http://gcc.gnu.org/PR18583
+ 395. http://gcc.gnu.org/PR20191
+ 396. http://gcc.gnu.org/PR22083
+ 397. http://gcc.gnu.org/PR23070
+ 398. http://gcc.gnu.org/PR23404
+ 399. http://gcc.gnu.org/PR23539
+ 400. http://gcc.gnu.org/PR24102
+ 401. http://gcc.gnu.org/PR24465
+ 402. http://gcc.gnu.org/PR19933
+ 403. http://gcc.gnu.org/PR21889
+ 404. http://gcc.gnu.org/PR19300
+ 405. http://gcc.gnu.org/PR20301
+ 406. http://gcc.gnu.org/PR20673
+ 407. http://gcc.gnu.org/PR18582
+ 408. http://gcc.gnu.org/PR19340
+ 409. http://gcc.gnu.org/PR21716
+ 410. http://gcc.gnu.org/PR24315
+ 411. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.6
+ 412. mailto:gnu@gnu.org
+ 413. http://www.gnu.org/home.html#ContactInfo
+ 414. http://gcc.gnu.org/about.html
+ 415. http://gcc.gnu.org/onlinedocs/
+ 416. mailto:gcc-help@gcc.gnu.org
+ 417. mailto:gcc@gnu.org
+ 418. mailto:gcc@gcc.gnu.org
+ 419. http://gcc.gnu.org/lists.html
+ 420. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.3/index.html
+                           GCC 3.3 Release Series
+
+   May 03, 2005
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 3.3.6.
+
+   This release is a bug-fix release, containing fixes for regressions in
+   GCC 3.3.5 relative to previous releases of GCC.
+
+   This release is the last of the series 3.3.x.
+
+   The GCC 3.3 release series includes numerous [2]new features,
+   improvements, bug fixes, and other changes, thanks to an [3]amazing
+   group of volunteers.
+
+Release History
+
+   GCC 3.3.6
+          May 3, 2005 ([4]changes)
+
+   GCC 3.3.5
+          September 30, 2004 ([5]changes)
+
+   GCC 3.3.4
+          May 31, 2004 ([6]changes)
+
+   GCC 3.3.3
+          February 14, 2004 ([7]changes)
+
+   GCC 3.3.2
+          October 16, 2003 ([8]changes)
+
+   GCC 3.3.1
+          August 8, 2003 ([9]changes)
+
+   GCC 3.3
+          May 14, 2003 ([10]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [11]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [12]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [13]GCC
+   project web site or contact the [14]GCC development mailing list.
+
+   To obtain GCC please use [15]our mirror sites, or our CVS server.
+
+   Please send FSF & GNU inquiries & questions to [16]gnu@gnu.org. There
+   are also [17]other ways to contact the FSF.
+
+   These pages are maintained by [18]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [19]GCC manuals. If that fails, the
+    [20]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [21]gcc@gnu.org or [22]gcc@gcc.gnu.org.
+    All of our lists have [23]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [24]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-3.3/changes.html
+   3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   4. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.6
+   5. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.5
+   6. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.4
+   7. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3
+   8. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2
+   9. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.1
+  10. http://gcc.gnu.org/gcc-3.3/changes.html
+  11. http://gcc.gnu.org/gcc-3.3/buildstat.html
+  12. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+  13. http://gcc.gnu.org/index.html
+  14. mailto:gcc@gcc.gnu.org
+  15. http://gcc.gnu.org/mirrors.html
+  16. mailto:gnu@gnu.org
+  17. http://www.gnu.org/home.html#ContactInfo
+  18. http://gcc.gnu.org/about.html
+  19. http://gcc.gnu.org/onlinedocs/
+  20. mailto:gcc-help@gcc.gnu.org
+  21. mailto:gcc@gnu.org
+  22. mailto:gcc@gcc.gnu.org
+  23. http://gcc.gnu.org/lists.html
+  24. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.3/changes.html
+                           GCC 3.3 Release Series
+                      Changes, New Features, and Fixes
+
+   The latest release in the 3.3 release series is [1]GCC 3.3.6.
+
+Caveats
+
+     * The preprocessor no longer accepts multi-line string literals. They
+       were deprecated in 3.0, 3.1, and 3.2.
+     * The preprocessor no longer supports the -A- switch when appearing
+       alone. -A- followed by an assertion is still supported.
+     * Support for all the systems [2]obsoleted in GCC 3.1 has been
+       removed from GCC 3.3. See below for a [3]list of systems which are
+       obsoleted in this release.
+     * Checking for null format arguments has been decoupled from the rest
+       of the format checking mechanism. Programs which use the format
+       attribute may regain this functionality by using the new [4]nonnull
+       function attribute. Note that all functions for which GCC has a
+       built-in format attribute, an appropriate built-in nonnull
+       attribute is also applied.
+     * The DWARF (version 1) debugging format has been deprecated and will
+       be removed in a future version of GCC. Version 2 of the DWARF
+       debugging format will continue to be supported for the foreseeable
+       future.
+     * The C and Objective-C compilers no longer accept the "Naming Types"
+       extension (typedef foo = bar); it was already unavailable in C++.
+       Code which uses it will need to be changed to use the "typeof"
+       extension instead: typedef typeof(bar) foo. (We have removed this
+       extension without a period of deprecation because it has caused the
+       compiler to crash since version 3.0 and no one noticed until very
+       recently. Thus we conclude it is not in widespread use.)
+     * The -traditional C compiler option has been removed. It was
+       deprecated in 3.1 and 3.2. (Traditional preprocessing remains
+       available.) The <varargs.h> header, used for writing variadic
+       functions in traditional C, still exists but will produce an error
+       message if used.
+     * GCC 3.3.1 automatically places zero-initialized variables in the
+       .bss section on some operating systems. Versions of GNU Emacs up to
+       (and including) 21.3 will not work correctly when using this
+       optimization; you can use -fno-zero-initialized-in-bss to disable
+       it.
+
+General Optimizer Improvements
+
+     * A new scheme for accurately describing processor pipelines, the
+       [5]DFA scheduler, has been added.
+     * Pavel Nejedly, Charles University Prague, has contributed new file
+       format used by the edge coverage profiler (-fprofile-arcs).
+       The new format is robust and diagnoses common mistakes where
+       profiles from different versions (or compilations) of the program
+       are combined resulting in nonsensical profiles and slow code to
+       produced with profile feedback. Additionally this format allows
+       extra data to be gathered. Currently, overall statistics are
+       produced helping optimizers to identify hot spots of a program
+       globally replacing the old intra-procedural scheme and resulting in
+       better code. Note that the gcov tool from older GCC versions will
+       not be able to parse the profiles generated by GCC 3.3 and vice
+       versa.
+     * Jan Hubicka, SuSE Labs, has contributed a new superblock formation
+       pass enabled using -ftracer. This pass simplifies the control flow
+       of functions allowing other optimizations to do better job.
+       He also contributed the function reordering pass
+       (-freorder-functions) to optimize function placement using profile
+       feedback.
+
+New Languages and Language specific improvements
+
+  C/ObjC/C++
+
+     * The preprocessor now accepts directives within macro arguments. It
+       processes them just as if they had not been within macro arguments.
+     * The separate ISO and traditional preprocessors have been completely
+       removed. The front end handles either type of preprocessed output
+       if necessary.
+     * In C99 mode preprocessor arithmetic is done in the precision of the
+       target's intmax_t, as required by that standard.
+     * The preprocessor can now copy comments inside macros to the output
+       file when the macro is expanded. This feature, enabled using the
+       -CC option, is intended for use by applications which place
+       metadata or directives inside comments, such as lint.
+     * The method of constructing the list of directories to be searched
+       for header files has been revised. If a directory named by a -I
+       option is a standard system include directory, the option is
+       ignored to ensure that the default search order for system
+       directories and the special treatment of system header files are
+       not defeated.
+     * A few more [6]ISO C99 features now work correctly.
+     * A new function attribute, nonnull, has been added which allows
+       pointer arguments to functions to be specified as requiring a
+       non-null value. The compiler currently uses this information to
+       issue a warning when it detects a null value passed in such an
+       argument slot.
+     * A new type attribute, may_alias, has been added. Accesses to
+       objects with types with this attribute are not subjected to
+       type-based alias analysis, but are instead assumed to be able to
+       alias any other type of objects, just like the char type.
+
+  C++
+
+     * Type based alias analysis has been implemented for C++ aggregate
+       types.
+
+  Objective-C
+
+     * Generate an error if Objective-C objects are passed by value in
+       function and method calls.
+     * When -Wselector is used, check the whole list of selectors at the
+       end of compilation, and emit a warning if a @selector() is not
+       known.
+     * Define __NEXT_RUNTIME__ when compiling for the NeXT runtime.
+     * No longer need to include objc/objc-class.h to compile self calls
+       in class methods (NeXT runtime only).
+     * New -Wundeclared-selector option.
+     * Removed selector bloating which was causing object files to be 10%
+       bigger on average (GNU runtime only).
+     * Using at run time @protocol() objects has been fixed in certain
+       situations (GNU runtime only).
+     * Type checking has been fixed and improved in many situations
+       involving protocols.
+
+  Java
+
+     * The java.sql and javax.sql packages now implement the JDBC 3.0 (JDK
+       1.4) API.
+     * The JDK 1.4 assert facility has been implemented.
+     * The bytecode interpreter is now direct threaded and thus faster.
+
+  Fortran
+
+     * Fortran improvements are listed in [7]the Fortran documentation.
+
+  Ada
+
+     * Ada tasking now works with glibc 2.3.x threading libraries.
+
+New Targets and Target Specific Improvements
+
+     * The following changes have been made to the HP-PA port:
+          + The port now defaults to scheduling for the PA8000 series of
+            processors.
+          + Scheduling support for the PA7300 processor has been added.
+          + The 32-bit port now supports weak symbols under HP-UX 11.
+          + The handling of initializers and finalizers has been improved
+            under HP-UX 11. The 64-bit port no longer uses collect2.
+          + Dwarf2 EH support has been added to the 32-bit linux port.
+          + ABI fixes to correct the passing of small structures by value.
+     * The SPARC, HP-PA, SH4, and x86/pentium ports have been converted to
+       use the DFA processor pipeline description.
+     * The following NetBSD configurations for the SuperH processor family
+       have been added:
+          + SH3, big-endian, sh-*-netbsdelf*
+          + SH3, little-endian, shle-*-netbsdelf*
+          + SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd*
+          + SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd*
+          + SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd*
+          + SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd*
+     * The following changes have been made to the IA-32/x86-64 port:
+          + SSE2 and 3dNOW! intrinsics are now supported.
+          + Support for thread local storage has been added to the IA-32
+            and x86-64 ports.
+          + The x86-64 port has been significantly improved.
+     * The following changes have been made to the MIPS port:
+          + All configurations now accept the -mabi switch. Note that you
+            will need appropriate multilibs for this option to work
+            properly.
+          + ELF configurations will always pass an ABI flag to the
+            assembler, except when the MIPS EABI is selected.
+          + -mabi=64 no longer selects MIPS IV code.
+          + The -mcpu option, which was deprecated in 3.1 and 3.2, has
+            been removed from this release.
+          + -march now changes the core ISA level. In previous releases,
+            it would change the use of processor-specific extensions, but
+            would leave the core ISA unchanged. For example, mips64-elf
+            -march=r8000 will now generate MIPS IV code.
+          + Under most configurations, -mipsN now acts as a synonym for
+            -march.
+          + There are some new preprocessor macros to describe the -march
+            and -mtune settings. See the documentation of those options
+            for details.
+          + Support for the NEC VR-Series processors has been added. This
+            includes the 54xx, 5500, and 41xx series.
+          + Support for the Sandcraft sr71k processor has been added.
+     * The following changes have been made to the S/390 port:
+          + Support to build the Java runtime libraries has been added.
+            Java is now enabled by default on s390-*-linux* and
+            s390x-*-linux* targets.
+          + Multilib support for the s390x-*-linux* target has been added;
+            this allows to build 31-bit binaries using the -m31 option.
+          + Support for thread local storage has been added.
+          + Inline assembler code may now use the 'Q' constraint to
+            specify memory operands without index register.
+          + Various platform-specific performance improvements have been
+            implemented; in particular, the compiler now uses the BRANCH
+            ON COUNT family of instructions and makes more frequent use of
+            the TEST UNDER MASK family of instructions.
+     * The following changes have been made to the PowerPC port:
+          + Support for IBM Power4 processor added.
+          + Support for Motorola e500 SPE added.
+          + Support for AIX 5.2 added.
+          + Function and Data sections now supported on AIX.
+          + Sibcall optimizations added.
+     * The support for H8 Tiny is added to the H8/300 port with -mn.
+
+Obsolete Systems
+
+   Support for a number of older systems has been declared obsolete in GCC
+   3.3. Unless there is activity to revive them, the next release of GCC
+   will have their sources permanently removed.
+
+   All configurations of the following processor architectures have been
+   declared obsolete:
+     * Matsushita MN10200, mn10200-*-*
+     * Motorola 88000, m88k-*-*
+     * IBM ROMP, romp-*-*
+
+   Also, some individual systems have been obsoleted:
+     * Alpha
+          + Interix, alpha*-*-interix*
+          + Linux libc1, alpha*-*-linux*libc1*
+          + Linux ECOFF, alpha*-*-linux*ecoff*
+     * ARM
+          + Generic a.out, arm*-*-aout*
+          + Conix, arm*-*-conix*
+          + "Old ABI," arm*-*-oabi
+          + StrongARM/COFF, strongarm-*-coff*
+     * HPPA (PA-RISC)
+          + Generic OSF, hppa1.0-*-osf*
+          + Generic BSD, hppa1.0-*-bsd*
+          + HP/UX versions 7, 8, and 9, hppa1.[01]-*-hpux[789]*
+          + HiUX, hppa*-*-hiux*
+          + Mach Lites, hppa*-*-lites*
+     * Intel 386 family
+          + Windows NT 3.x, i?86-*-win32
+     * MC68000 family
+          + HP systems, m68000-hp-bsd* and m68k-hp-bsd*
+          + Sun systems, m68000-sun-sunos*, m68k-sun-sunos*, and
+            m68k-sun-mach*
+          + AT&T systems, m68000-att-sysv*
+          + Atari systems, m68k-atari-sysv*
+          + Motorola systems, m68k-motorola-sysv*
+          + NCR systems, m68k-ncr-sysv*
+          + Plexus systems, m68k-plexus-sysv*
+          + Commodore systems, m68k-cbm-sysv*
+          + Citicorp TTI, m68k-tti-*
+          + Unos, m68k-crds-unos*
+          + Concurrent RTU, m68k-ccur-rtu*
+          + Linux a.out, m68k-*-linux*aout*
+          + Linux libc1, m68k-*-linux*libc1*
+          + pSOS, m68k-*-psos*
+     * MIPS
+          + Generic ECOFF, mips*-*-ecoff*
+          + SINIX, mips-sni-sysv4
+          + Orion RTEMS, mips64orion-*-rtems*
+     * National Semiconductor 32000
+          + OpenBSD, ns32k-*-openbsd*
+     * POWER (aka RS/6000) and PowerPC
+          + AIX versions 1, 2, and 3, rs6000-ibm-aix[123]*
+          + Bull BOSX, rs6000-bull-bosx
+          + Generic Mach, rs6000-*-mach*
+          + Generic SysV, powerpc*-*-sysv*
+          + Linux libc1, powerpc*-*-linux*libc1*
+     * Sun SPARC
+          + Generic a.out, sparc-*-aout*, sparclet-*-aout*,
+            sparclite-*-aout*, and sparc86x-*-aout*
+          + NetBSD a.out, sparc-*-netbsd*aout*
+          + Generic BSD, sparc-*-bsd*
+          + ChorusOS, sparc-*-chorusos*
+          + Linux a.out, sparc-*-linux*aout*
+          + Linux libc1, sparc-*-linux*libc1*
+          + LynxOS, sparc-*-lynxos*
+          + Solaris on HAL hardware, sparc-hal-solaris2*
+          + SunOS versions 3 and 4, sparc-*-sunos[34]*
+     * NEC V850
+          + RTEMS, v850-*-rtems*
+     * VAX
+          + VMS, vax-*-vms*
+
+Documentation improvements
+
+Other significant improvements
+
+     * Almost all front-end dependencies in the compiler have been
+       separated out into a set of language hooks. This should make adding
+       a new front end clearer and easier.
+     * One effect of removing the separate preprocessor is a small
+       increase in the robustness of the compiler in general, and the
+       maintainability of target descriptions. Previously target-specific
+       built-in macros and others, such as __FAST_MATH__, had to be
+       handled with so-called specs that were hard to maintain. Often they
+       would fail to behave properly when conflicting options were
+       supplied on the command line, and define macros in the user's
+       namespace even when strict ISO compliance was requested.
+       Integrating the preprocessor has cleanly solved these issues.
+     * The Makefile suite now supports redirection of make install by
+       means of the variable DESTDIR.
+     __________________________________________________________________
+
+GCC 3.3
+
+   Detailed release notes for the GCC 3.3 release follow.
+
+  Bug Fixes
+
+    bootstrap failures
+
+     * [8]10140 cross compiler build failures: missing __mempcpy (DUP:
+       [9]10198,[10]10338)
+
+    Internal compiler errors (multi-platform)
+
+     * [11]3581 large string causes segmentation fault in cc1
+     * [12]4382 __builtin_{set,long}jmp with -O3 can crash the compiler
+     * [13]5533 (c++) ICE when processing std::accumulate(begin, end,
+       init, invalid_op)
+     * [14]6387 -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out
+     * [15]6412 (c++) ICE in retrieve_specialization
+     * [16]6620 (c++) partial template specialization causes an ICE
+       (segmentation fault)
+     * [17]6663 (c++) ICE with attribute aligned
+     * [18]7068 ICE with incomplete types
+     * [19]7083 (c++) ICE using -gstabs with dodgy class derivation
+     * [20]7647 (c++) ICE when data member has the name of the enclosing
+       class
+     * [21]7675 ICE in fixup_var_refs_1
+     * [22]7718 'complex' template instantiation causes ICE
+     * [23]8116 (c++) ICE in member template function
+     * [24]8358 (ada) Ada compiler accesses freed memory, crashes
+     * [25]8511 (c++) ICE: (hopefully) reproducible cc1plus segmentation
+       fault
+     * [26]8564 (c++) ICE in find_function_data, in function.c
+     * [27]8660 (c++) template overloading ICE in tsubst_expr, in cp/pt.c
+     * [28]8766 (c++) ICE after failed initialization of static template
+       variable
+     * [29]8803 ICE in instantiate_virtual_regs_1, in function.c
+     * [30]8846 (c++) ICE after diagnostic if fr_FR@euro locale is set
+     * [31]8906 (c++) ICE (Segmentation fault) when parsing nested-class
+       definition
+     * [32]9216 (c++) ICE on missing template parameter
+     * [33]9261 (c++) ICE in arg_assoc, in cp/decl2.c
+     * [34]9263 (fortran) ICE caused by invalid PARAMETER in implied DO
+       loop
+     * [35]9429 (c++) ICE in template instantiation with a pointered new
+       operator
+     * [36]9516 Internal error when using a big array
+     * [37]9600 (c++) ICE with typedefs in template class
+     * [38]9629 (c++) virtual inheritance segfault
+     * [39]9672 (c++) ICE: Error reporting routines re-entered
+     * [40]9749 (c++) ICE in write_expression on invalid function
+       prototype
+     * [41]9794 (fortran) ICE: floating point exception during constant
+       folding
+     * [42]9829 (c++) Missing colon in nested namespace usage causes ICE
+     * [43]9916 (c++) ICE with noreturn function in ?: statement
+     * [44]9936 ICE with local function and variable-length 2d array
+     * [45]10262 (c++) cc1plus crashes with large generated code
+     * [46]10278 (c++) ICE in parser for invalid code
+     * [47]10446 (c++) ICE on definition of nonexistent member function of
+       nested class in a class template
+     * [48]10451 (c++) ICE in grokdeclarator on spurious mutable
+       declaration
+     * [49]10506 (c++) ICE in build_new at cp/init.c with
+       -fkeep-inline-functions and multiple inheritance
+     * [50]10549 (c++) ICE in store_bit_field on bitfields that exceed the
+       precision of the declared type
+
+    Optimization bugs
+
+     * [51]2001 Inordinately long compile times in reload CSE regs
+     * [52]2391 Exponential compilation time explosion in combine
+     * [53]2960 Duplicate loop conditions even with -Os
+     * [54]4046 redundant conditional branch
+     * [55]6405 Loop-unrolling related performance regressions
+     * [56]6798 very long compile time with large case-statement
+     * [57]6871 const objects shouldn't be moved to .bss
+     * [58]6909 problem w/ -Os on modified loop-2c.c test case
+     * [59]7189 gcc -O2 -Wall does not print ``control reaches end of
+       non-void function'' warning
+     * [60]7642 optimization problem with signbit()
+     * [61]8634 incorrect code for inlining of memcpy under -O2
+     * [62]8750 Cygwin prolog generation erroneously emitting __alloca as
+       regular function call
+
+    C front end
+
+     * [63]2161 long if-else cascade overflows parser stack
+     * [64]4319 short accepted on typedef'd char
+     * [65]8602 incorrect line numbers in warning messages when using
+       inline functions
+     * [66]9177 -fdump-translation-unit: C front end deletes function_decl
+       AST nodes and breaks debugging dumps
+     * [67]9853 miscompilation of non-constant structure initializer
+
+    c++ compiler and library
+
+     * [68]45 legal template specialization code is rejected (DUP:
+       [69]3784)
+     * [70]764 lookup failure: friend operator and dereferencing a pointer
+       and templates (DUP: [71]5116)
+     * [72]2862 gcc accepts invalid explicit instantiation syntax (DUP:
+       2863)
+     * [73]3663 G++ doesn't check access control during template
+       instantiation
+     * [74]3797 gcc fails to emit explicit specialization of a template
+       member
+     * [75]3948 Two destructors are called when no copy destructor is
+       defined (ABI change)
+     * [76]4137 Conversion operator within template is not accepted
+     * [77]4361 bogus ambiguity taking the address of a member template
+     * [78]4802 g++ accepts illegal template code (access to private
+       member; DUP: [79]5837)
+     * [80]4803 inline function is used but never defined, and g++ does
+       not object
+     * [81]5094 Partial specialization cannot be friend?
+     * [82]5730 complex<double>::norm() -- huge slowdown from egcs-2.91.66
+     * [83]6713 Regression wrt 3.0.4: g++ -O2 leads to seg fault at run
+       time
+     * [84]7015 certain __asm__ constructs rejected
+     * [85]7086 compile time regression (quadratic behavior in
+       fixup_var_refs)
+     * [86]7099 G++ doesn't set the noreturn attribute on std::exit and
+       std::abort
+     * [87]7247 copy constructor missing when inlining enabled (invalid
+       optimization?)
+     * [88]7441 string array initialization compilation time regression
+       from seconds to minutes
+     * [89]7768 __PRETTY_FUNCTION__ for template destructor is wrong
+     * [90]7804 bad printing of floating point constant in warning message
+     * [91]8099 Friend classes and template specializations
+     * [92]8117 member function pointers and multiple inheritance
+     * [93]8205 using declaration and multiple inheritance
+     * [94]8645 unnecessary non-zero checks in stl_tree.h
+     * [95]8724 explicit destructor call for incomplete class allowed
+     * [96]8805 compile time regression with many member variables
+     * [97]8691 -O3 and -fno-implicit-templates are incompatible
+     * [98]8700 unhelpful error message for binding temp to reference
+     * [99]8724 explicit destructor call for incomplete class allowed
+     * [100]8949 numeric_limits<>::denorm_min() and is_iec559 problems
+     * [101]9016 Failure to consistently constant fold "constant" C++
+       objects
+     * [102]9053 g++ confused about ambiguity of overloaded function
+       templates
+     * [103]9152 undefined virtual thunks
+     * [104]9182 basic_filebuf<> does not report errors in codecvt<>::out
+     * [105]9297 data corruption due to codegen bug (when copying.)
+     * [106]9318 i/ostream::operator>>/<<(streambuf*) broken
+     * [107]9320 Incorrect usage of traits_type::int_type in stdio_filebuf
+     * [108]9400 bogus -Wshadow warning: shadowed declaration of this in
+       local classes
+     * [109]9424 i/ostream::operator>>/<<(streambuf*) drops characters
+     * [110]9425 filebuf::pbackfail broken (DUP: [111]9439)
+     * [112]9474 GCC freezes in compiling a weird code mixing <iostream>
+       and <iostream.h>
+     * [113]9548 Incorrect results from setf(ios::fixed) and precision(-1)
+       [114][DR 231]
+     * [115]9555 ostream inserters fail to set badbit on exception
+     * [116]9561 ostream inserters rethrow exception of wrong type
+     * [117]9563 ostream::sentry returns true after a failed preparation
+     * [118]9582 one-definition rule violation in std::allocator
+     * [119]9622 __PRETTY_FUNCTION__ incorrect in template destructors
+     * [120]9683 bug in initialization chains for static const variables
+       from template classes
+     * [121]9791 -Woverloaded-virtual reports hiding of destructor
+     * [122]9817 collate::compare doesn't handle nul characters
+     * [123]9825 filebuf::sputbackc breaks sbumpc
+     * [124]9826 operator>>(basic_istream, basic_string) fails to compile
+       with custom traits
+     * [125]9924 Multiple using statements for builtin functions not
+       allowed
+     * [126]9946 destructor is not called for temporary object
+     * [127]9964 filebuf::close() sometimes fails to close file
+     * [128]9988 filebuf::overflow writes EOF to file
+     * [129]10033 optimization breaks polymorphic references w/ typeid
+       operator
+     * [130]10097 filebuf::underflow drops characters
+     * [131]10132 filebuf destructor can throw exceptions
+     * [132]10180 gcc fails to warn about non-inlined function
+     * [133]10199 method parametrized by template does not work everywhere
+     * [134]10300 use of array-new (nothrow) in segfaults on NULL return
+     * [135]10427 Stack corruption with variable-length automatic arrays
+       and virtual destructors
+     * [136]10503 Compilation never stops in fixed_type_or_null
+
+    Objective-C
+
+     * [137]5956 selectors aren't matched properly when added to the
+       selector table
+
+    Fortran compiler and library
+
+     * [138]1832 list directed i/o overflow hangs, -fbounds-check doesn't
+       detect
+     * [139]3924 g77 generates code that is rejected by GAS if COFF debug
+       info requested
+     * [140]5634 doc: explain that configure --prefix=~/... does not work
+     * [141]6367 multiple repeat counts confuse namelist read into array
+     * [142]6491 Logical operations error on logicals when using
+       -fugly-logint
+     * [143]6742 Generation of C++ Prototype for FORTRAN and extern "C"
+     * [144]7113 Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os
+       on irix6.5
+     * [145]7236 OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should
+       assume a direct access file
+     * [146]7278 g77 "bug"; the executable misbehaves (with -O2
+       -fno-automatic)
+     * [147]7384 DATE_AND_TIME milliseconds field inactive on Windows
+     * [148]7388 Incorrect output with 0-based array of characters
+     * [149]8587 Double complex zero ** double precision number -> NaN
+       instead of zero
+     * [150]9038 -ffixed-line-length-none -x f77-cpp-input gives: Warning:
+       unknown register name line-length-none
+     * [151]10197 Direct access files not unformatted by default
+
+    Java compiler and library
+
+     * [152]6005 gcj fails to build rhug on alpha
+     * [153]6389 System.getProperty("") should always throw an
+       IllegalArgumentException
+     * [154]6576 java.util.ResourceBundle.getResource ignores locale
+     * [155]6652 new java.io.File("").getCanonicalFile() throws exception
+     * [156]7060 getMethod() doesn't search super interface
+     * [157]7073 bytecode interpreter gives wrong answer for interface
+       getSuperclass()
+     * [158]7180 possible bug in
+       javax.naming.spi.NamingManager.getPlusPath()
+     * [159]7416 java.security startup refs "GNU libgcj.security"
+     * [160]7570 Runtime.exec with null envp: child doesn't inherit parent
+       env (DUP: [161]7578)
+     * [162]7611 Internal error while compiling libjava with -O
+     * [163]7709 NullPointerException in _Jv_ResolvePoolEntry
+     * [164]7766 ZipInputStream.available returns 0 immediately after
+       construction
+     * [165]7785 Calendar.getTimeInMillis/setTimeInMillis should be public
+     * [166]7786 TimeZone.getDSTSavings() from JDK1.4 not implemented
+     * [167]8142 '$' in class names vs. dlopen 'dynamic string tokens'
+     * [168]8234 ZipInputStream chokes when InputStream.read() returns
+       small chunks
+     * [169]8415 reflection bug: exception info for Method
+     * [170]8481 java.Random.nextInt(int) may return negative
+     * [171]8593 Error reading GZIPped files with BufferedReader
+     * [172]8759 java.beans.Introspector has no flushCaches() or
+       flushFromCaches() methods
+     * [173]8997 spin() calls Thread.sleep
+     * [174]9253 on win32, java.io.File.listFiles("C:\\") returns pwd
+       instead of the root content of C:
+     * [175]9254 java::lang::Object::wait(), threads-win32.cc returns
+       wrong return codes
+     * [176]9271 Severe bias in java.security.SecureRandom
+
+    Ada compiler and library
+
+     * [177]6767 make gnatlib-shared fails on -laddr2line
+     * [178]9911 gnatmake fails to link when GCC configured with
+       --with-sjlj-exceptions=yes
+     * [179]10020 Can't bootstrap gcc on AIX with Ada enabled
+     * [180]10546 Ada tasking not working on Red Hat 9
+
+    preprocessor
+
+     * [181]7029 preprocessor should ignore #warning with -M
+
+    ARM-specific
+
+     * [182]2903 [arm] Optimization bug with long long arithmetic
+     * [183]7873 arm-linux-gcc fails when assigning address to a bit field
+
+    FreeBSD-specific
+
+     * [184]7680 float functions undefined in math.h/cmath with #define
+       _XOPEN_SOURCE
+
+    HP-UX or HP-PA-specific
+
+     * [185]8705 [HP-PA] ICE in emit_move_insn_1, in expr.c
+     * [186]9986 [HP-UX] Incorrect transformation of fputs_unlocked to
+       fputc_unlocked
+     * [187]10056 [HP-PA] ICE at -O2 when building c++ code from doxygen
+
+    m68hc11-specific
+
+     * [188]6744 Bad assembler code generated: reference to pseudo
+       register z
+     * [189]7361 Internal compiler error in reload_cse_simplify_operands,
+       in reload1.c
+
+    MIPS-specific
+
+     * [190]9496 [mips-linux] bug in optimizer?
+
+    PowerPC-specific
+
+     * [191]7067 -Os with -mcpu=powerpc optimizes for speed (?) instead of
+       space
+     * [192]8480 reload ICEs for LAPACK code on powerpc64-linux
+     * [193]8784 [AIX] Internal compiler error in simplify_gen_subreg
+     * [194]10315 [powerpc] ICE: in extract_insn, in recog.c
+
+    SPARC-specific
+
+     * [195]10267 (documentation) Wrong build instructions for
+       *-*-solaris2*
+
+    x86-specific (Intel/AMD)
+
+     * [196]7916 ICE in instantiate_virtual_register_1
+     * [197]7926 (c++) i486 instructions in header files make c++ programs
+       crash on i386
+     * [198]8555 ICE in gen_split_1231
+     * [199]8994 ICE with -O -march=pentium4
+     * [200]9426 ICE with -fssa -funroll-loops -fprofile-arcs
+     * [201]9806 ICE in inline assembly with -fPIC flag
+     * [202]10077 gcc -msse2 generates movd to move dwords between xmm
+       regs
+     * [203]10233 64-bit comparison only comparing bottom 32-bits
+     * [204]10286 type-punning doesn't work with __m64 and -O
+     * [205]10308 [x86] ICE with -O -fgcse or -O2
+     __________________________________________________________________
+
+GCC 3.3.1
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.3.1 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+    Bootstrap failures
+
+     * [206]11272 [Solaris] make bootstrap fails while building libstdc++
+
+    Internal compiler errors (multi-platform)
+
+     * [207]5754 ICE on invalid nested template class
+     * [208]6597 ICE in set_mem_alias_set compiling Qt with -O2 on ia64
+       and --enable-checking
+     * [209]6949 (c++) ICE in tsubst_decl, in cp/pt.c
+     * [210]7053 (c++) ICE when declaring a function already defined as a
+       friend method of a template class
+     * [211]8164 (c++) ICE when using different const expressions as
+       template parameter
+     * [212]8384 (c++) ICE in is_base_type, in dwarf2out.c
+     * [213]9559 (c++) ICE with invalid initialization of a static const
+     * [214]9649 (c++) ICE in finish_member_declaration, in cp/semantics.c
+       when redeclaring a static member variable
+     * [215]9864 (fortran) ICE in add_abstract_origin_attribute, in
+       dwarfout.c with -g -O -finline-functions
+     * [216]10432 (c++) ICE in poplevel, in cp/decl.c
+     * [217]10475 ICE in subreg_highpart_offset for code with long long
+     * [218]10635 (c++) ICE when dereferencing an incomplete type casted
+       from a void pointer
+     * [219]10661 (c++) ICE in instantiate_decl, in cp/pt.c while
+       instantiating static member variables
+     * [220]10700 ICE in copy_to_mode_reg on 64-bit targets
+     * [221]10712 (c++) ICE in constructor_name_full, in cp/decl2.c
+     * [222]10796 (c++) ICE when defining an enum with two values: -1 and
+       MAX_INT_64BIT
+     * [223]10890 ICE in merge_assigned_reloads building Linux 2.4.2x
+       sched.c
+     * [224]10939 (c++) ICE with template code
+     * [225]10956 (c++) ICE when specializing a template member function
+       of a template class, in tsubst, in cp/pt.c
+     * [226]11041 (c++) ICE: const myclass &x = *x; (when operator*()
+       defined)
+     * [227]11059 (c++) ICE with empty union
+     * [228]11083 (c++) ICE in commit_one_edge_insertion, in cfgrtl.c with
+       -O2 -fnon-call-exceptions
+     * [229]11105 (c++) ICE in mangle_conv_op_name_for_type
+     * [230]11149 (c++) ICE on error when instantiation with call function
+       of a base type
+     * [231]11228 (c++) ICE on new-expression using array operator new and
+       default-initialization
+     * [232]11282 (c++) Infinite memory usage after syntax error
+     * [233]11301 (fortran) ICE with -fno-globals
+     * [234]11308 (c++) ICE when using an enum type name as if it were a
+       class or namespace
+     * [235]11473 (c++) ICE with -gstabs when empty struct inherits from
+       an empty struct
+     * [236]11503 (c++) ICE when instantiating template with ADDR_EXPR
+     * [237]11513 (c++) ICE in push_template_decl_real, in cp/pt.c:
+       template member functions
+
+    Optimization bugs
+
+     * [238]11198 -O2 -frename-registers generates wrong code (aliasing
+       problem)
+     * [239]11304 Wrong code production with -fomit-frame-pointer
+     * [240]11381 volatile memory access optimized away
+     * [241]11536 [strength-reduce] -O2 optimization produces wrong code
+     * [242]11557 constant folding bug generates wrong code
+
+    C front end
+
+     * [243]5897 No warning for statement after return
+     * [244]11279 DWARF-2 output mishandles large enums
+
+    Preprocessor bugs
+
+     * [245]11022 no warning for non-compatible macro redefinition
+
+    C++ compiler and library
+
+     * [246]2330 static_cast<>() to a private base is allowed
+     * [247]5388 Incorrect message "operands to ?: have different types"
+     * [248]5390 Libiberty fails to demangle multi-digit template
+       parameters
+     * [249]7877 Incorrect parameter passing to specializations of member
+       function templates
+     * [250]9393 Anonymous namespaces and compiling the same file twice
+     * [251]10032 -pedantic converts some errors to warnings
+     * [252]10468 const typeof(x) is non-const, but only in templates
+     * [253]10527 confused error message with "new int()" parameter
+       initializer
+     * [254]10679 parameter MIN_INLINE_INSNS is not honored
+     * [255]10682 gcc chokes on a typedef for an enum inside a class
+       template
+     * [256]10689 pow(std::complex(0),1/3) returns (nan, nan) instead of
+       0.
+     * [257]10845 template member function (with nested template as
+       parameter) cannot be called anymore if another unrelated template
+       member function is defined
+     * [258]10849 Cannot define an out-of-class specialization of a
+       private nested template class
+     * [259]10888 Suppress -Winline warnings for system headers
+     * [260]10929 -Winline warns about functions for which no definition
+       is visible
+     * [261]10931 valid conversion static_cast<const unsigned
+       int&>(lvalue-of-type-int) is rejected
+     * [262]10940 Bad code with explicit specialization
+     * [263]10968 If member function implicitly instantiated, explicit
+       instantiation of class fails to instantiate it
+     * [264]10990 Cannot convert with dynamic_cast<> to a private base
+       class from within a member function
+     * [265]11039 Bad interaction between implicit typename deprecation
+       and friendship
+     * [266]11062 (libstdc++) avoid __attribute__ ((unused)); say
+       "__unused__" instead
+     * [267]11095 C++ iostream manipulator causes segfault when called
+       with negative argument
+     * [268]11098 g++ doesn't emit complete debugging information for
+       local variables in destructors
+     * [269]11137 Linux shared library constructors not called unless
+       there's one global object
+     * [270]11154 spurious ambiguity report for template class
+       specialization
+     * [271]11329 Compiler cannot find user defined implicit typecast
+     * [272]11332 Spurious error with casts in ?: expression
+     * [273]11431 static_cast behavior with subclasses when default
+       constructor available
+     * [274]11528 money_get facet does not accept "$.00" as valid
+     * [275]11546 Type lookup problems in out-of-line definition of a
+       class doubly nested from a template class
+     * [276]11567 C++ code containing templated member function with same
+       name as pure virtual member function results in linking failure
+     * [277]11645 Failure to deal with using and private inheritance
+
+    Java compiler and library
+
+     * [278]5179 Qualified static field access doesn't initialize its
+       class
+     * [279]8204 gcj -O2 to native reorders certain instructions
+       improperly
+     * [280]10838 java.io.ObjectInputStream syntax error
+     * [281]10886 The RMI registry that comes with GCJ does not work
+       correctly
+     * [282]11349 JNDI URL context factories not located correctly
+
+    x86-specific (Intel/AMD)
+
+     * [283]4823 ICE on inline assembly code
+     * [284]8878 miscompilation with -O and SSE
+     * [285]9815 (c++ library) atomicity.h - fails to compile with -O3
+       -masm=intel
+     * [286]10402 (inline assembly) [x86] ICE in merge_assigned_reloads,
+       in reload1.c
+     * [287]10504 ICE with SSE2 code and -O3 -mcpu=pentium4 -msse2
+     * [288]10673 ICE for x86-64 on freebsd libc vfprintf.c source
+     * [289]11044 [x86] out of range loop instructions for FP code on K6
+     * [290]11089 ICE: instantiate_virtual_regs_lossage while using SSE
+       built-ins
+     * [291]11420 [x86_64] gcc generates invalid asm code when "-O -fPIC"
+       is used
+
+    SPARC- or Solaris- specific
+
+     * [292]9362 solaris 'as' dies when fed .s and "-gstabs"
+     * [293]10142 [SPARC64] gcc produces wrong code when passing
+       structures by value
+     * [294]10663 New configure check aborts with Sun tools.
+     * [295]10835 combinatorial explosion in scheduler on HyperSPARC
+     * [296]10876 ICE in calculate_giv_inc when building KDE
+     * [297]10955 wrong code at -O3 for structure argument in context of
+       structure return
+     * [298]11018 -mcpu=ultrasparc busts tar-1.13.25
+     * [299]11556 [sparc64] ICE in gen_reg_rtx() while compiling 2.6.x
+       Linux kernel
+
+    ia64 specific
+
+     * [300]10907 gcc violates the ia64 ABI (GP must be preserved)
+     * [301]11320 scheduler bug (in machine depended reorganization pass)
+     * [302]11599 bug with conditional and __builtin_prefetch
+
+    PowerPC specific
+
+     * [303]9745 [powerpc] gcc mis-compiles libmcrypt (alias problem
+       during loop)
+     * [304]10871 error in rs6000_stack_info save_size computation
+     * [305]11440 gcc mis-compiles c++ code (libkhtml) with -O2, -fno-gcse
+       cures it
+
+    m68k-specific
+
+     * [306]7594 [m68k] ICE on legal code associated with simplify-rtx
+     * [307]10557 [m68k] ICE in subreg_offset_representable_p
+     * [308]11054 [m68k] ICE in reg_overlap_mentioned_p
+
+    ARM-specific
+
+     * [309]10834 [arm] GCC 3.3 still generates incorrect instructions for
+       functions with __attribute__ ((interrupt ("IRQ")))
+     * [310]10842 [arm] Clobbered link register is copied to pc under
+       certain circumstances
+     * [311]11052 [arm] noce_process_if_block() can lose REG_INC notes
+     * [312]11183 [arm] ICE in change_address_1 (3.3) / subreg_hard_regno
+       (3.4)
+
+    MIPS-specific
+
+     * [313]11084 ICE in propagate_one_insn, in flow.c
+
+    SH-specific
+
+     * [314]10331 can't compile c++ part of gcc cross compiler for sh-elf
+     * [315]10413 [SH] ICE in reload_cse_simplify_operands, in reload1.c
+     * [316]11096 i686-linux to sh-linux cross compiler fails to compile
+       C++ files
+
+    GNU/Linux (or Hurd?) specific
+
+     * [317]2873 Bogus fixinclude of stdio.h from glibc 2.2.3
+
+    UnixWare specific
+
+     * [318]3163 configure bug: gcc/aclocal.m4 mmap test fails on UnixWare
+       7.1.1
+
+    Cygwin (or mingw) specific
+
+     * [319]5287 ICE with dllimport attribute
+     * [320]10148 [MingW/CygWin] Compiler dumps core
+
+    DJGPP specific
+
+     * [321]8787 GCC fails to emit .intel_syntax when invoked with
+       -masm=intel on DJGPP
+
+    Darwin (and MacOS X) specific
+
+     * [322]10900 trampolines crash
+
+    Documentation
+
+     * [323]1607 (c++) Format attributes on methods undocumented
+     * [324]4252 Invalid option `-fdump-translation-unit'
+     * [325]4490 Clarify restrictions on -m96bit-long-double,
+       -m128bit-long-double
+     * [326]10355 document an issue with regparm attribute on some systems
+       (e.g. Solaris)
+     * [327]10726 (fortran) Documentation for function "IDate Intrinsic
+       (Unix)" is wrong
+     * [328]10805 document bug in old version of Sun assembler
+     * [329]10815 warn against GNU binutils on AIX
+     * [330]10877 document need for newer binutils on i?86-*-linux-gnu
+     * [331]11280 Manual incorrect with respect to -freorder-blocks
+     * [332]11466 Document -mlittle-endian and its restrictions for the
+       sparc64 port
+
+    Testsuite bugs (compiler itself is not affected)
+
+     * [333]10737 newer bison causes g++.dg/parse/crash2.C to incorrectly
+       report failure
+     * [334]10810 gcc-3.3 fails make check: buffer overrun in
+       test_demangle.c
+     __________________________________________________________________
+
+GCC 3.3.2
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from [335]GCC's bug
+   tracking system that are known to be fixed in the 3.3.2 release. This
+   list might not be complete (that is, it is possible that some PRs that
+   have been fixed are not listed here).
+
+    Bootstrap failures and problems
+
+     * [336]8336 [SCO5] bootstrap config still tries to use COFF options
+     * [337]9330 [alpha-osf] Bootstrap failure on Compaq Tru64 with
+       --enable-threads=posix
+     * [338]9631 [hppa64-linux] gcc-3.3 fails to bootstrap
+     * [339]9877 fixincludes makes a bad sys/byteorder.h on svr5 (UnixWare
+       7.1.1)
+     * [340]11687 xstormy16-elf build fails in libf2c
+     * [341]12263 [SGI IRIX] bootstrap fails during compile of
+       libf2c/libI77/backspace.c
+     * [342]12490 buffer overflow in scan-decls.c (during Solaris 9
+       fix-header processing)
+
+    Internal compiler errors (multi-platform)
+
+     * [343]7277 Casting integers to vector types causes ICE
+     * [344]7939 (c++) ICE on invalid function template specialization
+     * [345]11063 (c++) ICE on parsing initialization list of const array
+       member
+     * [346]11207 ICE with negative index in array element designator
+     * [347]11522 (fortran) g77 dwarf-2 ICE in
+       add_abstract_origin_attribute
+     * [348]11595 (c++) ICE on duplicate label definition
+     * [349]11646 (c++) ICE in commit_one_edge_insertion with
+       -fnon-call-exceptions -fgcse -O
+     * [350]11665 ICE in struct initializer when taking address
+     * [351]11852 (c++) ICE with bad struct initializer.
+     * [352]11878 (c++) ICE in cp_expr_size
+     * [353]11883 ICE with any -O on mercury-generated C code
+     * [354]11991 (c++) ICE in cxx_incomplete_type_diagnostic, in
+       cp/typeck2.c when applying typeid operator to template template
+       parameter
+     * [355]12146 ICE in lookup_template_function, in cp/pt.c
+     * [356]12215 ICE in make_label_edge with -fnon-call-exceptions
+       -fno-gcse -O2
+     * [357]12369 (c++) ICE with templates and friends
+     * [358]12446 ICE in emit_move_insn on complicated array reference
+     * [359]12510 ICE in final_scan_insn
+     * [360]12544 ICE with large parameters used in nested functions
+
+    C and optimization bugs
+
+     * [361]9862 spurious warnings with -W -finline-functions
+     * [362]10962 lookup_field is a linear search on a linked list (can be
+       slow if large struct)
+     * [363]11370 -Wunreachable-code gives false complaints
+     * [364]11637 invalid assembly with -fnon-call-exceptions
+     * [365]11885 Problem with bitfields in packed structs
+     * [366]12082 Inappropriate unreachable code warnings
+     * [367]12180 Inline optimization fails for variadic function
+     * [368]12340 loop unroller + gcse produces wrong code
+
+    C++ compiler and library
+
+     * [369]3907 nested template parameter collides with member name
+     * [370]5293 confusing message when binding a temporary to a reference
+     * [371]5296 [DR115] Pointers to functions and to template functions
+       behave differently in deduction
+     * [372]7939 ICE on function template specialization
+     * [373]8656 Unable to assign function with __attribute__ and pointer
+       return type to an appropriate variable
+     * [374]10147 Confusing error message for invalid template function
+       argument
+     * [375]11400 std::search_n() makes assumptions about Size parameter
+     * [376]11409 issues with using declarations, overloading, and
+       built-in functions
+     * [377]11740 ctype<wchar_t>::do_is(mask, wchar_t) doesn't handle
+       multiple bits in mask
+     * [378]11786 operator() call on variable in other namespace not
+       recognized
+     * [379]11867 static_cast ignores ambiguity
+     * [380]11928 bug with conversion operators that are typedefs
+     * [381]12114 Uninitialized memory accessed in dtor
+     * [382]12163 static_cast + explicit constructor regression
+     * [383]12181 Wrong code with comma operator and c++
+     * [384]12236 regparm and fastcall messes up parameters
+     * [385]12266 incorrect instantiation of unneeded template during
+       overload resolution
+     * [386]12296 istream::peek() doesn't set eofbit
+     * [387]12298 [sjlj exceptions] Stack unwind destroys
+       not-yet-constructed object
+     * [388]12369 ICE with templates and friends
+     * [389]12337 apparently infinite loop in g++
+     * [390]12344 stdcall attribute ignored if function returns a pointer
+     * [391]12451 missing(late) class forward declaration in cxxabi.h
+     * [392]12486 g++ accepts invalid use of a qualified name
+
+    x86 specific (Intel/AMD)
+
+     * [393]8869 [x86 MMX] ICE with const variable optimization and MMX
+       builtins
+     * [394]9786 ICE in fixup_abnormal_edges with -fnon-call-exceptions
+       -O2
+     * [395]11689 g++3.3 emits un-assembleable code for k6 architecture
+     * [396]12116 [k6] Invalid assembly output values with X-MAME code
+     * [397]12070 ICE converting between double and long double with
+       -msoft-float
+
+    ia64-specific
+
+     * [398]11184 [ia64 hpux] ICE on __builtin_apply building libobjc
+     * [399]11535 __builtin_return_address may not work on ia64
+     * [400]11693 [ia64] ICE in gen_nop_type
+     * [401]12224 [ia64] Thread-local storage doesn't work
+
+    PowerPC-specific
+
+     * [402]11087 [powerpc64-linux] GCC miscompiles raid1.c from linux
+       kernel
+     * [403]11319 loop miscompiled on ppc32
+     * [404]11949 ICE Compiler segfault with ffmpeg -maltivec code
+
+    SPARC-specific
+
+     * [405]11662 wrong code for expr. with cast to long long and
+       exclusive or
+     * [406]11965 invalid assembler code for a shift < 32 operation
+     * [407]12301 (c++) stack corruption when a returned expression throws
+       an exception
+
+    Alpha-specific
+
+     * [408]11717 [alpha-linux] unrecognizable insn compiling for.c of
+       kernel 2.4.22-pre8
+
+    HPUX-specific
+
+     * [409]11313 problem with #pragma weak and static inline functions
+     * [410]11712 __STDC_EXT__ not defined for C++ by default anymore?
+
+    Solaris specific
+
+     * [411]12166 Profiled programs crash if PROFDIR is set
+
+    Solaris-x86 specific
+
+     * [412]12101 i386 Solaris no longer works with GNU as?
+
+    Miscellaneous embedded target-specific bugs
+
+     * [413]10988 [m32r-elf] wrong blockmove code with -O3
+     * [414]11805 [h8300-unknown-coff] [H8300] ICE for simple code with
+       -O2
+     * [415]11902 [sh4] spec file improperly inserts rpath even when none
+       needed
+     * [416]11903 [sh4] -pthread fails to link due to error in spec file
+       on sh4
+     __________________________________________________________________
+
+GCC 3.3.3
+
+  Minor features
+
+   In addition to the bug fixes documented below, this release contains
+   few minor features such as:
+     * Support for --with-sysroot
+     * Support for automatic detection of executable stacks
+     * Support for SSE3 instructions
+     * Support for thread local storage debugging under GDB on S390
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from [417]GCC's bug
+   tracking system that are known to be fixed in the 3.3.3 release. This
+   list might not be complete (that is, it is possible that some PRs that
+   have been fixed are not listed here).
+
+    Bootstrap failures and issues
+
+     * [418]11890 Building cross gcc-3.3.1 for sparc-sun-solaris2.6 fails
+     * [419]12399 boehm-gc fails (when building a cross compiler): libtool
+       unable to infer tagged configuration
+     * [420]13068 mklibgcc.in doesn't handle multi-level multilib
+       subdirectories properly
+
+    Internal compiler errors (multi-platform)
+
+     * [421]10060 ICE (stack overflow) on huge file (300k lines) due to
+       recursive behaviour of copy_rtx_if_shared, in emit_rtl.c
+     * [422]10555 (c++) ICE on undefined template argument
+     * [423]10706 (c++) ICE in mangle_class_name_for_template
+     * [424]11496 (fortran) error in flow_loops_find when -funroll-loops
+       active
+     * [425]11741 ICE in pre_insert_copy_insn, in gcse.c
+     * [426]12440 GCC crashes during compilation of quicktime4linux 2.0.0
+     * [427]12632 (fortran) -fbounds-check ICE
+     * [428]12712 (c++) ICE on short legit C++ code fragment with gcc
+       3.3.2
+     * [429]12726 (c++) ICE (segfault) on trivial code
+     * [430]12890 (c++) ICE on compilation of class with throwing method
+     * [431]12900 (c++) ICE in rtl_verify_flow_info_1
+     * [432]13060 (fortran) ICE in fixup_var_refs_1, in function.c on
+       correct code with -O2 -fno-force-mem
+     * [433]13289 (c++) ICE in regenerate_decl_from_template on recursive
+       template
+     * [434]13318 ICE: floating point exception in the loop optimizer
+     * [435]13392 (c++) ICE in convert_from_eh_region_ranges_1, in
+       except.c
+     * [436]13574 (c++) invalid array default initializer in class lets
+       gcc consume all memory and die
+     * [437]13475 ICE on SIMD variables with partial value initialization
+     * [438]13797 (c++) ICE on invalid template parameter
+     * [439]13824 (java) gcj SEGV with simple .java program
+
+    C and optimization bugs
+
+     * [440]8776 loop invariants are not removed (most likely)
+     * [441]10339 [sparc,ppc,ppc64] Invalid optimization: replacing
+       strncmp by memcmp
+     * [442]11350 undefined labels with -Os -fPIC
+     * [443]12826 Optimizer removes reference through volatile pointer
+     * [444]12500 stabs debug info: void no longer a predefined / builtin
+       type
+     * [445]12941 builtin-bitops-1.c miscompilation (latent bug)
+     * [446]12953 tree inliner bug (in inline_forbidden_p) and fix
+     * [447]13041 linux-2.6/sound/core/oss/rate.c miscompiled
+     * [448]13507 spurious printf format warning
+     * [449]13382 Type information for const pointer disappears during
+       optimization.
+     * [450]13394 noreturn attribute ignored on recursive invokation
+     * [451]13400 Compiled code crashes storing to read-only location
+     * [452]13521 Endless loop in calculate_global_regs_live
+
+    C++ compiler and library
+
+   Some of the bug fixes in this list were made to implement decisions
+   that the ISO C++ standards committee has made concerning several defect
+   reports (DRs). Links in the list below point to detailed discussion of
+   the relevant defect report.
+     * [453]2094 unimplemented: use of `ptrmem_cst' in template type
+       unification
+     * [454]2294 using declaration confusion
+     * [455]5050 template instantiation depth exceeds limit: recursion
+       problem?
+     * [456]9371 Bad exception handling in
+       i/ostream::operator>>/<<(streambuf*)
+     * [457]9546 bad exception handling in ostream members
+     * [458]10081 basic_ios::_M_cache_locale leaves NULL members in the
+       face of unknown locales
+     * [459]10093 [460][DR 61] Setting failbit in exceptions doesn't work
+     * [461]10095 istream::operator>>(int&) sets ios::badbit when
+       ios::failbit is set.
+     * [462]11554 Warning about reordering of initializers doesn't mention
+       location of constructor
+     * [463]12297 istream::sentry::sentry() handles eof() incorrectly.
+     * [464]12352 Exception safety problems in src/localename.cc
+     * [465]12438 Memory leak in locale::combine()
+     * [466]12540 Memory leak in locale::locale(const char*)
+     * [467]12594 DRs [468]60 [TC] and [469]63 [TC] not implemented
+     * [470]12657 Resolution of [471]DR 292 (WP) still unimplemented
+     * [472]12696 memory eating infinite loop in diagnostics (error
+       recovery problem)
+     * [473]12815 Code compiled with optimization behaves unexpectedly
+     * [474]12862 Conflicts between typedefs/enums and namespace member
+       declarations
+     * [475]12926 Wrong value after assignment in initialize list using
+       bit-fields
+     * [476]12967 Resolution of [477]DR 300 [WP] still unimplemented
+     * [478]12971 Resolution of [479]DR 328 [WP] still unimplemented
+     * [480]13007 basic_streambuf::pubimbue, imbue wrong
+     * [481]13009 Implicitly-defined assignment operator writes to wrong
+       memory
+     * [482]13057 regparm attribute not applied to destructor
+     * [483]13070 -Wformat option ignored in g++
+     * [484]13081 forward template declarations in <complex> let inlining
+       fail
+     * [485]13239 Assertion does not seem to work correctly anymore
+     * [486]13262 "xxx is private within this context" when initializing a
+       self-contained template class
+     * [487]13290 simple typo in concept checking for std::generate_n
+     * [488]13323 Template code does not compile in presence of typedef
+     * [489]13369 __verify_grouping (and __add_grouping?) not correct
+     * [490]13371 infinite loop with packed struct and inlining
+     * [491]13445 Template argument replacement "dereferences" a typedef
+     * [492]13461 Fails to access protected-ctor from public constant
+     * [493]13462 Non-standard-conforming type set::pointer
+     * [494]13478 gcc uses wrong constructor to initialize a const
+       reference
+     * [495]13544 "conflicting types" for enums in different scopes
+     * [496]13650 string::compare should not (always) use
+       traits_type::length()
+     * [497]13683 bogus warning about passing non-PODs through ellipsis
+     * [498]13688 Derived class is denied access to protected base class
+       member class
+     * [499]13774 Member variable cleared in virtual multiple inheritance
+       class
+     * [500]13884 Protect sstream.tcc from extern template use
+
+    Java compiler and library
+
+     * [501]10746 [win32] garbage collection crash in GCJ
+
+    Objective-C compiler and library
+
+     * [502]11433 Crash due to dereferencing null pointer when querying
+       protocol
+
+    Fortran compiler and library
+
+     * [503]12633 logical expression gives incorrect result with
+       -fugly-logint option
+     * [504]13037 [gcse-lm] g77 generates incorrect code
+     * [505]13213 Hex constant problem when compiling with -fugly-logint
+       and -ftypeless-boz
+
+    x86-specific (Intel/AMD)
+
+     * [506]4490 ICE with -m128bit-long-double
+     * [507]12292 [x86_64] ICE: RTL check: expected code `const_int', have
+       `reg' in make_field_assignment, in combine.c
+     * [508]12441 ICE: can't find a register to spill
+     * [509]12943 array static-init failure under -fpic, -fPIC
+     * [510]13608 Incorrect code with -O3 -ffast-math
+
+    PowerPC-specific
+
+     * [511]11598 testcase gcc.dg/20020118-1.c fails runtime check of
+       __attribute__((aligned(16)))
+     * [512]11793 ICE in extract_insn, in recog.c (const_vector's)
+     * [513]12467 vmsumubm emitted when vmsummbm appropriate (typo in
+       altivec.md)
+     * [514]12537 g++ generates writeable text sections
+
+    SPARC-specific
+
+     * [515]12496 wrong result for __atomic_add(&value, -1) when using -O0
+       -m64
+     * [516]12865 mprotect call to make trampoline executable may fail
+     * [517]13354 ICE in sparc_emit_set_const32
+
+    ARM-specific
+
+     * [518]10467 [arm] ICE in pre_insert_copy_insn,
+
+    ia64-specific
+
+     * [519]11226 ICE passing struct arg with two floats
+     * [520]11227 ICE for _Complex float, _Complex long double args
+     * [521]12644 GCC 3.3.2 fails to compile glibc on ia64
+     * [522]13149 build gcc-3.3.2 1305 error:unrecognizable insn
+     * Various fixes for libunwind
+
+    Alpha-specific
+
+     * [523]12654 Incorrect comparison code generated for Alpha
+     * [524]12965 SEGV+ICE in cc1plus on alpha-linux with -O2
+     * [525]13031 ICE (unrecognizable insn) when building gnome-libs-1.4.2
+
+    HPPA-specific
+
+     * [526]11634 [hppa] ICE in verify_local_live_at_start, in flow.c
+     * [527]12158 [hppa] compilation does not terminate at -O1
+
+    S390-specific
+
+     * [528]11992 Wrong built-in code for memcmp with length 1<<24: only
+       (1<<24)-1 possible for CLCL-Instruction
+
+    SH-specific
+
+     * [529]9365 segfault in gen_far_branch (config/sh/sh.c)
+     * [530]10392 optimizer generates faulty array indexing
+     * [531]11322 SH profiler outputs multiple definitions of symbol
+     * [532]13069 gcc/config/sh/rtems.h broken
+     * [533]13302 Putting a va_list in a struct causes seg fault
+     * [534]13585 Incorrect optimization of call to sfunc
+     * Fix inappropriately exported libgcc functions from the shared
+       library
+
+    Other embedded target specific
+
+     * [535]8916 [mcore] unsigned char assign gets hosed.
+     * [536]11576 [h8300] ICE in change_address_1, in emit-rtl.c
+     * [537]13122 [h8300] local variable gets corrupted by function call
+       when -fomit-frame-pointer is given
+     * [538]13256 [cris] strict_low_part mistreated in delay slots
+     * [539]13373 [mcore] optimization with -frerun-cse-after-loop
+       -fexpensive-optimizations produces wrong code on mcore
+
+    GNU HURD-specific
+
+     * [540]12561 gcc/config/t-gnu needs updating to work with
+       --with-sysroot
+
+    Tru64 Unix specific
+
+     * [541]6243 testsuite fails almost all tests due to no libintl in
+       LD_LIBRARY_PATH during test.
+     * [542]11397 weak aliases broken on Tru64 UNIX
+
+    AIX-specific
+
+     * [543]12505 build failure due to defines of uchar in cpphash.h and
+       sys/types.h
+     * [544]13150 WEAK symbols not exported by collect2
+
+    IRIX-specific
+
+     * [545]12666 fixincludes problem on IRIX 6.5.19m
+
+    Solaris-specific
+
+     * [546]12969 Including sys/byteorder.h breaks configure checks
+
+    Testsuite problems (compiler is not affected)
+
+     * [547]10819 testsuite creates CR+LF on compiler version lines in
+       test summary files
+     * [548]11612 abi_check not finding correct libgcc_s.so.1
+
+    Miscellaneous
+
+     * [549]13211 using -###, incorrect warnings about unused linker file
+       are produced
+     __________________________________________________________________
+
+GCC 3.3.4
+
+   This is the [550]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.3.4 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+     __________________________________________________________________
+
+GCC 3.3.5
+
+   This is the [551]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.3.5 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+     __________________________________________________________________
+
+GCC 3.3.6
+
+   This is the [552]list of problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.3.6 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here).
+
+   Please send FSF & GNU inquiries & questions to [553]gnu@gnu.org. There
+   are also [554]other ways to contact the FSF.
+
+   These pages are maintained by [555]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [556]GCC manuals. If that fails, the
+    [557]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [558]gcc@gnu.org or
+    [559]gcc@gcc.gnu.org. All of our lists have [560]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-08-20 [561]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.6
+   2. http://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems
+   3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
+   4. http://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute
+   5. http://gcc.gnu.org/news/dfa.html
+   6. http://gcc.gnu.org/gcc-3.3/c99status.html
+   7. http://gcc.gnu.org/onlinedocs/gcc-3.3.6/g77/News.html
+   8. http://gcc.gnu.org/PR10140
+   9. http://gcc.gnu.org/PR10198
+  10. http://gcc.gnu.org/PR10338
+  11. http://gcc.gnu.org/PR3581
+  12. http://gcc.gnu.org/PR4382
+  13. http://gcc.gnu.org/PR5533
+  14. http://gcc.gnu.org/PR6387
+  15. http://gcc.gnu.org/PR6412
+  16. http://gcc.gnu.org/PR6620
+  17. http://gcc.gnu.org/PR6663
+  18. http://gcc.gnu.org/PR7068
+  19. http://gcc.gnu.org/PR7083
+  20. http://gcc.gnu.org/PR7647
+  21. http://gcc.gnu.org/PR7675
+  22. http://gcc.gnu.org/PR7718
+  23. http://gcc.gnu.org/PR8116
+  24. http://gcc.gnu.org/PR8358
+  25. http://gcc.gnu.org/PR8511
+  26. http://gcc.gnu.org/PR8564
+  27. http://gcc.gnu.org/PR8660
+  28. http://gcc.gnu.org/PR8766
+  29. http://gcc.gnu.org/PR8803
+  30. http://gcc.gnu.org/PR8846
+  31. http://gcc.gnu.org/PR8906
+  32. http://gcc.gnu.org/PR9216
+  33. http://gcc.gnu.org/PR9261
+  34. http://gcc.gnu.org/PR9263
+  35. http://gcc.gnu.org/PR9429
+  36. http://gcc.gnu.org/PR9516
+  37. http://gcc.gnu.org/PR9600
+  38. http://gcc.gnu.org/PR9629
+  39. http://gcc.gnu.org/PR9672
+  40. http://gcc.gnu.org/PR9749
+  41. http://gcc.gnu.org/PR9794
+  42. http://gcc.gnu.org/PR9829
+  43. http://gcc.gnu.org/PR9916
+  44. http://gcc.gnu.org/PR9936
+  45. http://gcc.gnu.org/PR10262
+  46. http://gcc.gnu.org/PR10278
+  47. http://gcc.gnu.org/PR10446
+  48. http://gcc.gnu.org/PR10451
+  49. http://gcc.gnu.org/PR10506
+  50. http://gcc.gnu.org/PR10549
+  51. http://gcc.gnu.org/PR2001
+  52. http://gcc.gnu.org/PR2391
+  53. http://gcc.gnu.org/PR2960
+  54. http://gcc.gnu.org/PR4046
+  55. http://gcc.gnu.org/PR6405
+  56. http://gcc.gnu.org/PR6798
+  57. http://gcc.gnu.org/PR6871
+  58. http://gcc.gnu.org/PR6909
+  59. http://gcc.gnu.org/PR7189
+  60. http://gcc.gnu.org/PR7642
+  61. http://gcc.gnu.org/PR8634
+  62. http://gcc.gnu.org/PR8750
+  63. http://gcc.gnu.org/PR2161
+  64. http://gcc.gnu.org/PR4319
+  65. http://gcc.gnu.org/PR8602
+  66. http://gcc.gnu.org/PR9177
+  67. http://gcc.gnu.org/PR9853
+  68. http://gcc.gnu.org/PR45
+  69. http://gcc.gnu.org/PR3784
+  70. http://gcc.gnu.org/PR764
+  71. http://gcc.gnu.org/PR5116
+  72. http://gcc.gnu.org/PR2862
+  73. http://gcc.gnu.org/PR3663
+  74. http://gcc.gnu.org/PR3797
+  75. http://gcc.gnu.org/PR3948
+  76. http://gcc.gnu.org/PR4137
+  77. http://gcc.gnu.org/PR4361
+  78. http://gcc.gnu.org/PR4802
+  79. http://gcc.gnu.org/PR5837
+  80. http://gcc.gnu.org/PR4803
+  81. http://gcc.gnu.org/PR5094
+  82. http://gcc.gnu.org/PR5730
+  83. http://gcc.gnu.org/PR6713
+  84. http://gcc.gnu.org/PR7015
+  85. http://gcc.gnu.org/PR7086
+  86. http://gcc.gnu.org/PR7099
+  87. http://gcc.gnu.org/PR7247
+  88. http://gcc.gnu.org/PR7441
+  89. http://gcc.gnu.org/PR7768
+  90. http://gcc.gnu.org/PR7804
+  91. http://gcc.gnu.org/PR8099
+  92. http://gcc.gnu.org/PR8117
+  93. http://gcc.gnu.org/PR8205
+  94. http://gcc.gnu.org/PR8645
+  95. http://gcc.gnu.org/PR8724
+  96. http://gcc.gnu.org/PR8805
+  97. http://gcc.gnu.org/PR8691
+  98. http://gcc.gnu.org/PR8700
+  99. http://gcc.gnu.org/PR8724
+ 100. http://gcc.gnu.org/PR8949
+ 101. http://gcc.gnu.org/PR9016
+ 102. http://gcc.gnu.org/PR9053
+ 103. http://gcc.gnu.org/PR9152
+ 104. http://gcc.gnu.org/PR9182
+ 105. http://gcc.gnu.org/PR9297
+ 106. http://gcc.gnu.org/PR9318
+ 107. http://gcc.gnu.org/PR9320
+ 108. http://gcc.gnu.org/PR9400
+ 109. http://gcc.gnu.org/PR9424
+ 110. http://gcc.gnu.org/PR9425
+ 111. http://gcc.gnu.org/PR9439
+ 112. http://gcc.gnu.org/PR9474
+ 113. http://gcc.gnu.org/PR9548
+ 114. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#231
+ 115. http://gcc.gnu.org/PR9555
+ 116. http://gcc.gnu.org/PR9561
+ 117. http://gcc.gnu.org/PR9563
+ 118. http://gcc.gnu.org/PR9582
+ 119. http://gcc.gnu.org/PR9622
+ 120. http://gcc.gnu.org/PR9683
+ 121. http://gcc.gnu.org/PR9791
+ 122. http://gcc.gnu.org/PR9817
+ 123. http://gcc.gnu.org/PR9825
+ 124. http://gcc.gnu.org/PR9826
+ 125. http://gcc.gnu.org/PR9924
+ 126. http://gcc.gnu.org/PR9946
+ 127. http://gcc.gnu.org/PR9964
+ 128. http://gcc.gnu.org/PR9988
+ 129. http://gcc.gnu.org/PR10033
+ 130. http://gcc.gnu.org/PR10097
+ 131. http://gcc.gnu.org/PR10132
+ 132. http://gcc.gnu.org/PR10180
+ 133. http://gcc.gnu.org/PR10199
+ 134. http://gcc.gnu.org/PR10300
+ 135. http://gcc.gnu.org/PR10427
+ 136. http://gcc.gnu.org/PR10503
+ 137. http://gcc.gnu.org/PR5956
+ 138. http://gcc.gnu.org/PR1832
+ 139. http://gcc.gnu.org/PR3924
+ 140. http://gcc.gnu.org/PR5634
+ 141. http://gcc.gnu.org/PR6367
+ 142. http://gcc.gnu.org/PR6491
+ 143. http://gcc.gnu.org/PR6742
+ 144. http://gcc.gnu.org/PR7113
+ 145. http://gcc.gnu.org/PR7236
+ 146. http://gcc.gnu.org/PR7278
+ 147. http://gcc.gnu.org/PR7384
+ 148. http://gcc.gnu.org/PR7388
+ 149. http://gcc.gnu.org/PR8587
+ 150. http://gcc.gnu.org/PR9038
+ 151. http://gcc.gnu.org/PR10197
+ 152. http://gcc.gnu.org/PR6005
+ 153. http://gcc.gnu.org/PR6389
+ 154. http://gcc.gnu.org/PR6576
+ 155. http://gcc.gnu.org/PR6652
+ 156. http://gcc.gnu.org/PR7060
+ 157. http://gcc.gnu.org/PR7073
+ 158. http://gcc.gnu.org/PR7180
+ 159. http://gcc.gnu.org/PR7416
+ 160. http://gcc.gnu.org/PR7570
+ 161. http://gcc.gnu.org/PR7578
+ 162. http://gcc.gnu.org/PR7611
+ 163. http://gcc.gnu.org/PR7709
+ 164. http://gcc.gnu.org/PR7766
+ 165. http://gcc.gnu.org/PR7785
+ 166. http://gcc.gnu.org/PR7786
+ 167. http://gcc.gnu.org/PR8142
+ 168. http://gcc.gnu.org/PR8234
+ 169. http://gcc.gnu.org/PR8415
+ 170. http://gcc.gnu.org/PR8481
+ 171. http://gcc.gnu.org/PR8593
+ 172. http://gcc.gnu.org/PR8759
+ 173. http://gcc.gnu.org/PR8997
+ 174. http://gcc.gnu.org/PR9253
+ 175. http://gcc.gnu.org/PR9254
+ 176. http://gcc.gnu.org/PR9271
+ 177. http://gcc.gnu.org/PR6767
+ 178. http://gcc.gnu.org/PR9911
+ 179. http://gcc.gnu.org/PR10020
+ 180. http://gcc.gnu.org/PR10546
+ 181. http://gcc.gnu.org/PR7029
+ 182. http://gcc.gnu.org/PR2903
+ 183. http://gcc.gnu.org/PR7873
+ 184. http://gcc.gnu.org/PR7680
+ 185. http://gcc.gnu.org/PR8705
+ 186. http://gcc.gnu.org/PR9986
+ 187. http://gcc.gnu.org/PR10056
+ 188. http://gcc.gnu.org/PR6744
+ 189. http://gcc.gnu.org/PR7361
+ 190. http://gcc.gnu.org/PR9496
+ 191. http://gcc.gnu.org/PR7067
+ 192. http://gcc.gnu.org/PR8480
+ 193. http://gcc.gnu.org/PR8784
+ 194. http://gcc.gnu.org/PR10315
+ 195. http://gcc.gnu.org/PR10267
+ 196. http://gcc.gnu.org/PR7916
+ 197. http://gcc.gnu.org/PR7926
+ 198. http://gcc.gnu.org/PR8555
+ 199. http://gcc.gnu.org/PR8994
+ 200. http://gcc.gnu.org/PR9426
+ 201. http://gcc.gnu.org/PR9806
+ 202. http://gcc.gnu.org/PR10077
+ 203. http://gcc.gnu.org/PR10233
+ 204. http://gcc.gnu.org/PR10286
+ 205. http://gcc.gnu.org/PR10308
+ 206. http://gcc.gnu.org/PR11272
+ 207. http://gcc.gnu.org/PR5754
+ 208. http://gcc.gnu.org/PR6597
+ 209. http://gcc.gnu.org/PR6949
+ 210. http://gcc.gnu.org/PR7053
+ 211. http://gcc.gnu.org/PR8164
+ 212. http://gcc.gnu.org/PR8384
+ 213. http://gcc.gnu.org/PR9559
+ 214. http://gcc.gnu.org/PR9649
+ 215. http://gcc.gnu.org/PR9864
+ 216. http://gcc.gnu.org/PR10432
+ 217. http://gcc.gnu.org/PR10475
+ 218. http://gcc.gnu.org/PR10635
+ 219. http://gcc.gnu.org/PR10661
+ 220. http://gcc.gnu.org/PR10700
+ 221. http://gcc.gnu.org/PR10712
+ 222. http://gcc.gnu.org/PR10796
+ 223. http://gcc.gnu.org/PR10890
+ 224. http://gcc.gnu.org/PR10939
+ 225. http://gcc.gnu.org/PR10956
+ 226. http://gcc.gnu.org/PR11041
+ 227. http://gcc.gnu.org/PR11059
+ 228. http://gcc.gnu.org/PR11083
+ 229. http://gcc.gnu.org/PR11105
+ 230. http://gcc.gnu.org/PR11149
+ 231. http://gcc.gnu.org/PR11228
+ 232. http://gcc.gnu.org/PR11282
+ 233. http://gcc.gnu.org/PR11301
+ 234. http://gcc.gnu.org/PR11308
+ 235. http://gcc.gnu.org/PR11473
+ 236. http://gcc.gnu.org/PR11503
+ 237. http://gcc.gnu.org/PR11513
+ 238. http://gcc.gnu.org/PR11198
+ 239. http://gcc.gnu.org/PR11304
+ 240. http://gcc.gnu.org/PR11381
+ 241. http://gcc.gnu.org/PR11536
+ 242. http://gcc.gnu.org/PR11557
+ 243. http://gcc.gnu.org/PR5897
+ 244. http://gcc.gnu.org/PR11279
+ 245. http://gcc.gnu.org/PR11022
+ 246. http://gcc.gnu.org/PR2330
+ 247. http://gcc.gnu.org/PR5388
+ 248. http://gcc.gnu.org/PR5390
+ 249. http://gcc.gnu.org/PR7877
+ 250. http://gcc.gnu.org/PR9393
+ 251. http://gcc.gnu.org/PR10032
+ 252. http://gcc.gnu.org/PR10468
+ 253. http://gcc.gnu.org/PR10527
+ 254. http://gcc.gnu.org/PR10679
+ 255. http://gcc.gnu.org/PR10682
+ 256. http://gcc.gnu.org/PR10689
+ 257. http://gcc.gnu.org/PR10845
+ 258. http://gcc.gnu.org/PR10849
+ 259. http://gcc.gnu.org/PR10888
+ 260. http://gcc.gnu.org/PR10929
+ 261. http://gcc.gnu.org/PR10931
+ 262. http://gcc.gnu.org/PR10940
+ 263. http://gcc.gnu.org/PR10968
+ 264. http://gcc.gnu.org/PR10990
+ 265. http://gcc.gnu.org/PR11039
+ 266. http://gcc.gnu.org/PR11062
+ 267. http://gcc.gnu.org/PR11095
+ 268. http://gcc.gnu.org/PR11098
+ 269. http://gcc.gnu.org/PR11137
+ 270. http://gcc.gnu.org/PR11154
+ 271. http://gcc.gnu.org/PR11329
+ 272. http://gcc.gnu.org/PR11332
+ 273. http://gcc.gnu.org/PR11431
+ 274. http://gcc.gnu.org/PR11528
+ 275. http://gcc.gnu.org/PR11546
+ 276. http://gcc.gnu.org/PR11567
+ 277. http://gcc.gnu.org/PR11645
+ 278. http://gcc.gnu.org/PR5179
+ 279. http://gcc.gnu.org/PR8204
+ 280. http://gcc.gnu.org/PR10838
+ 281. http://gcc.gnu.org/PR10886
+ 282. http://gcc.gnu.org/PR11349
+ 283. http://gcc.gnu.org/PR4823
+ 284. http://gcc.gnu.org/PR8878
+ 285. http://gcc.gnu.org/PR9815
+ 286. http://gcc.gnu.org/PR10402
+ 287. http://gcc.gnu.org/PR10504
+ 288. http://gcc.gnu.org/PR10673
+ 289. http://gcc.gnu.org/PR11044
+ 290. http://gcc.gnu.org/PR11089
+ 291. http://gcc.gnu.org/PR11420
+ 292. http://gcc.gnu.org/PR9362
+ 293. http://gcc.gnu.org/PR10142
+ 294. http://gcc.gnu.org/PR10663
+ 295. http://gcc.gnu.org/PR10835
+ 296. http://gcc.gnu.org/PR10876
+ 297. http://gcc.gnu.org/PR10955
+ 298. http://gcc.gnu.org/PR11018
+ 299. http://gcc.gnu.org/PR11556
+ 300. http://gcc.gnu.org/PR10907
+ 301. http://gcc.gnu.org/PR11320
+ 302. http://gcc.gnu.org/PR11599
+ 303. http://gcc.gnu.org/PR9745
+ 304. http://gcc.gnu.org/PR10871
+ 305. http://gcc.gnu.org/PR11440
+ 306. http://gcc.gnu.org/PR7594
+ 307. http://gcc.gnu.org/PR10557
+ 308. http://gcc.gnu.org/PR11054
+ 309. http://gcc.gnu.org/PR10834
+ 310. http://gcc.gnu.org/PR10842
+ 311. http://gcc.gnu.org/PR11052
+ 312. http://gcc.gnu.org/PR11183
+ 313. http://gcc.gnu.org/PR11084
+ 314. http://gcc.gnu.org/PR10331
+ 315. http://gcc.gnu.org/PR10413
+ 316. http://gcc.gnu.org/PR11096
+ 317. http://gcc.gnu.org/PR2873
+ 318. http://gcc.gnu.org/PR3163
+ 319. http://gcc.gnu.org/PR5287
+ 320. http://gcc.gnu.org/PR10148
+ 321. http://gcc.gnu.org/PR8787
+ 322. http://gcc.gnu.org/PR10900
+ 323. http://gcc.gnu.org/PR1607
+ 324. http://gcc.gnu.org/PR4252
+ 325. http://gcc.gnu.org/PR4490
+ 326. http://gcc.gnu.org/PR10355
+ 327. http://gcc.gnu.org/PR10726
+ 328. http://gcc.gnu.org/PR10805
+ 329. http://gcc.gnu.org/PR10815
+ 330. http://gcc.gnu.org/PR10877
+ 331. http://gcc.gnu.org/PR11280
+ 332. http://gcc.gnu.org/PR11466
+ 333. http://gcc.gnu.org/PR10737
+ 334. http://gcc.gnu.org/PR10810
+ 335. http://gcc.gnu.org/bugzilla/
+ 336. http://gcc.gnu.org/PR8336
+ 337. http://gcc.gnu.org/PR9330
+ 338. http://gcc.gnu.org/PR9631
+ 339. http://gcc.gnu.org/PR9877
+ 340. http://gcc.gnu.org/PR11687
+ 341. http://gcc.gnu.org/PR12263
+ 342. http://gcc.gnu.org/PR12490
+ 343. http://gcc.gnu.org/PR7277
+ 344. http://gcc.gnu.org/PR7939
+ 345. http://gcc.gnu.org/PR11063
+ 346. http://gcc.gnu.org/PR11207
+ 347. http://gcc.gnu.org/PR11522
+ 348. http://gcc.gnu.org/PR11595
+ 349. http://gcc.gnu.org/PR11646
+ 350. http://gcc.gnu.org/PR11665
+ 351. http://gcc.gnu.org/PR11852
+ 352. http://gcc.gnu.org/PR11878
+ 353. http://gcc.gnu.org/PR11883
+ 354. http://gcc.gnu.org/PR11991
+ 355. http://gcc.gnu.org/PR12146
+ 356. http://gcc.gnu.org/PR12215
+ 357. http://gcc.gnu.org/PR12369
+ 358. http://gcc.gnu.org/PR12446
+ 359. http://gcc.gnu.org/PR12510
+ 360. http://gcc.gnu.org/PR12544
+ 361. http://gcc.gnu.org/PR9862
+ 362. http://gcc.gnu.org/PR10962
+ 363. http://gcc.gnu.org/PR11370
+ 364. http://gcc.gnu.org/PR11637
+ 365. http://gcc.gnu.org/PR11885
+ 366. http://gcc.gnu.org/PR12082
+ 367. http://gcc.gnu.org/PR12180
+ 368. http://gcc.gnu.org/PR12340
+ 369. http://gcc.gnu.org/PR3907
+ 370. http://gcc.gnu.org/PR5293
+ 371. http://gcc.gnu.org/PR5296
+ 372. http://gcc.gnu.org/PR7939
+ 373. http://gcc.gnu.org/PR8656
+ 374. http://gcc.gnu.org/PR10147
+ 375. http://gcc.gnu.org/PR11400
+ 376. http://gcc.gnu.org/PR11409
+ 377. http://gcc.gnu.org/PR11740
+ 378. http://gcc.gnu.org/PR11786
+ 379. http://gcc.gnu.org/PR11867
+ 380. http://gcc.gnu.org/PR11928
+ 381. http://gcc.gnu.org/PR12114
+ 382. http://gcc.gnu.org/PR12163
+ 383. http://gcc.gnu.org/PR12181
+ 384. http://gcc.gnu.org/PR12236
+ 385. http://gcc.gnu.org/PR12266
+ 386. http://gcc.gnu.org/PR12296
+ 387. http://gcc.gnu.org/PR12298
+ 388. http://gcc.gnu.org/PR12369
+ 389. http://gcc.gnu.org/PR12337
+ 390. http://gcc.gnu.org/PR12344
+ 391. http://gcc.gnu.org/PR12451
+ 392. http://gcc.gnu.org/PR12486
+ 393. http://gcc.gnu.org/PR8869
+ 394. http://gcc.gnu.org/PR9786
+ 395. http://gcc.gnu.org/PR11689
+ 396. http://gcc.gnu.org/PR12116
+ 397. http://gcc.gnu.org/PR12070
+ 398. http://gcc.gnu.org/PR11184
+ 399. http://gcc.gnu.org/PR11535
+ 400. http://gcc.gnu.org/PR11693
+ 401. http://gcc.gnu.org/PR12224
+ 402. http://gcc.gnu.org/PR11087
+ 403. http://gcc.gnu.org/PR11319
+ 404. http://gcc.gnu.org/PR11949
+ 405. http://gcc.gnu.org/PR11662
+ 406. http://gcc.gnu.org/PR11965
+ 407. http://gcc.gnu.org/PR12301
+ 408. http://gcc.gnu.org/PR11717
+ 409. http://gcc.gnu.org/PR11313
+ 410. http://gcc.gnu.org/PR11712
+ 411. http://gcc.gnu.org/PR12166
+ 412. http://gcc.gnu.org/PR12101
+ 413. http://gcc.gnu.org/PR10988
+ 414. http://gcc.gnu.org/PR11805
+ 415. http://gcc.gnu.org/PR11902
+ 416. http://gcc.gnu.org/PR11903
+ 417. http://gcc.gnu.org/bugzilla/
+ 418. http://gcc.gnu.org/PR11890
+ 419. http://gcc.gnu.org/PR12399
+ 420. http://gcc.gnu.org/PR13068
+ 421. http://gcc.gnu.org/PR10060
+ 422. http://gcc.gnu.org/PR10555
+ 423. http://gcc.gnu.org/PR10706
+ 424. http://gcc.gnu.org/PR11496
+ 425. http://gcc.gnu.org/PR11741
+ 426. http://gcc.gnu.org/PR12440
+ 427. http://gcc.gnu.org/PR12632
+ 428. http://gcc.gnu.org/PR12712
+ 429. http://gcc.gnu.org/PR12726
+ 430. http://gcc.gnu.org/PR12890
+ 431. http://gcc.gnu.org/PR12900
+ 432. http://gcc.gnu.org/PR13060
+ 433. http://gcc.gnu.org/PR13289
+ 434. http://gcc.gnu.org/PR13318
+ 435. http://gcc.gnu.org/PR13392
+ 436. http://gcc.gnu.org/PR13574
+ 437. http://gcc.gnu.org/PR13475
+ 438. http://gcc.gnu.org/PR13797
+ 439. http://gcc.gnu.org/PR13824
+ 440. http://gcc.gnu.org/PR8776
+ 441. http://gcc.gnu.org/PR10339
+ 442. http://gcc.gnu.org/PR11350
+ 443. http://gcc.gnu.org/PR12826
+ 444. http://gcc.gnu.org/PR12500
+ 445. http://gcc.gnu.org/PR12941
+ 446. http://gcc.gnu.org/PR12953
+ 447. http://gcc.gnu.org/PR13041
+ 448. http://gcc.gnu.org/PR13507
+ 449. http://gcc.gnu.org/PR13382
+ 450. http://gcc.gnu.org/PR13394
+ 451. http://gcc.gnu.org/PR13400
+ 452. http://gcc.gnu.org/PR13521
+ 453. http://gcc.gnu.org/PR2094
+ 454. http://gcc.gnu.org/PR2294
+ 455. http://gcc.gnu.org/PR5050
+ 456. http://gcc.gnu.org/PR9371
+ 457. http://gcc.gnu.org/PR9546
+ 458. http://gcc.gnu.org/PR10081
+ 459. http://gcc.gnu.org/PR10093
+ 460. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#61
+ 461. http://gcc.gnu.org/PR10095
+ 462. http://gcc.gnu.org/PR11554
+ 463. http://gcc.gnu.org/PR12297
+ 464. http://gcc.gnu.org/PR12352
+ 465. http://gcc.gnu.org/PR12438
+ 466. http://gcc.gnu.org/PR12540
+ 467. http://gcc.gnu.org/PR12594
+ 468. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#60
+ 469. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#63
+ 470. http://gcc.gnu.org/PR12657
+ 471. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#292
+ 472. http://gcc.gnu.org/PR12696
+ 473. http://gcc.gnu.org/PR12815
+ 474. http://gcc.gnu.org/PR12862
+ 475. http://gcc.gnu.org/PR12926
+ 476. http://gcc.gnu.org/PR12967
+ 477. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html
+ 478. http://gcc.gnu.org/PR12971
+ 479. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#328
+ 480. http://gcc.gnu.org/PR13007
+ 481. http://gcc.gnu.org/PR13009
+ 482. http://gcc.gnu.org/PR13057
+ 483. http://gcc.gnu.org/PR13070
+ 484. http://gcc.gnu.org/PR13081
+ 485. http://gcc.gnu.org/PR13239
+ 486. http://gcc.gnu.org/PR13262
+ 487. http://gcc.gnu.org/PR13290
+ 488. http://gcc.gnu.org/PR13323
+ 489. http://gcc.gnu.org/PR13369
+ 490. http://gcc.gnu.org/PR13371
+ 491. http://gcc.gnu.org/PR13445
+ 492. http://gcc.gnu.org/PR13461
+ 493. http://gcc.gnu.org/PR13462
+ 494. http://gcc.gnu.org/PR13478
+ 495. http://gcc.gnu.org/PR13544
+ 496. http://gcc.gnu.org/PR13650
+ 497. http://gcc.gnu.org/PR13683
+ 498. http://gcc.gnu.org/PR13688
+ 499. http://gcc.gnu.org/PR13774
+ 500. http://gcc.gnu.org/PR13884
+ 501. http://gcc.gnu.org/PR10746
+ 502. http://gcc.gnu.org/PR11433
+ 503. http://gcc.gnu.org/PR12633
+ 504. http://gcc.gnu.org/PR13037
+ 505. http://gcc.gnu.org/PR13213
+ 506. http://gcc.gnu.org/PR4490
+ 507. http://gcc.gnu.org/PR12292
+ 508. http://gcc.gnu.org/PR12441
+ 509. http://gcc.gnu.org/PR12943
+ 510. http://gcc.gnu.org/PR13608
+ 511. http://gcc.gnu.org/PR11598
+ 512. http://gcc.gnu.org/PR11793
+ 513. http://gcc.gnu.org/PR12467
+ 514. http://gcc.gnu.org/PR12537
+ 515. http://gcc.gnu.org/PR12496
+ 516. http://gcc.gnu.org/PR12865
+ 517. http://gcc.gnu.org/PR13354
+ 518. http://gcc.gnu.org/PR10467
+ 519. http://gcc.gnu.org/PR11226
+ 520. http://gcc.gnu.org/PR11227
+ 521. http://gcc.gnu.org/PR12644
+ 522. http://gcc.gnu.org/PR13149
+ 523. http://gcc.gnu.org/PR12654
+ 524. http://gcc.gnu.org/PR12965
+ 525. http://gcc.gnu.org/PR13031
+ 526. http://gcc.gnu.org/PR11634
+ 527. http://gcc.gnu.org/PR12158
+ 528. http://gcc.gnu.org/PR11992
+ 529. http://gcc.gnu.org/PR9365
+ 530. http://gcc.gnu.org/PR10392
+ 531. http://gcc.gnu.org/PR11322
+ 532. http://gcc.gnu.org/PR13069
+ 533. http://gcc.gnu.org/PR13302
+ 534. http://gcc.gnu.org/PR13585
+ 535. http://gcc.gnu.org/PR8916
+ 536. http://gcc.gnu.org/PR11576
+ 537. http://gcc.gnu.org/PR13122
+ 538. http://gcc.gnu.org/PR13256
+ 539. http://gcc.gnu.org/PR13373
+ 540. http://gcc.gnu.org/PR12561
+ 541. http://gcc.gnu.org/PR6243
+ 542. http://gcc.gnu.org/PR11397
+ 543. http://gcc.gnu.org/PR12505
+ 544. http://gcc.gnu.org/PR13150
+ 545. http://gcc.gnu.org/PR12666
+ 546. http://gcc.gnu.org/PR12969
+ 547. http://gcc.gnu.org/PR10819
+ 548. http://gcc.gnu.org/PR11612
+ 549. http://gcc.gnu.org/PR13211
+ 550. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.3.4
+ 551. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.3.5
+ 552. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.3.6
+ 553. mailto:gnu@gnu.org
+ 554. http://www.gnu.org/home.html#ContactInfo
+ 555. http://gcc.gnu.org/about.html
+ 556. http://gcc.gnu.org/onlinedocs/
+ 557. mailto:gcc-help@gcc.gnu.org
+ 558. mailto:gcc@gnu.org
+ 559. mailto:gcc@gcc.gnu.org
+ 560. http://gcc.gnu.org/lists.html
+ 561. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.2/index.html
+                           GCC 3.2 Release Series
+
+   April 25, 2003
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 3.2.3.
+
+   The purpose of the GCC 3.2 release series is to provide a stable
+   platform for OS distributors to use building their next releases. A
+   primary objective was to stabilize the C++ ABI; we believe that the
+   interface to the compiler and the C++ standard library are now
+   relatively stable.
+
+   Be aware that C++ code compiled by GCC 3.2.x will (in general) not
+   interoperate with code compiled by GCC 3.1.1 or earlier.
+
+   Please refer to our [2]detailed list of news, caveats, and bug-fixes
+   for further information.
+
+Release History
+
+   GCC 3.2.3
+          April 25, 2003 ([3]changes)
+
+   GCC 3.2.2
+          February 5, 2003 ([4]changes)
+
+   GCC 3.2.1
+          November 19, 2002 ([5]changes)
+
+   GCC 3.2
+          August 14, 2002 ([6]changes)
+
+References and Acknowledgements
+
+   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.
+
+   A list of [7]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, improvements, bug fixes, and other changes as
+   well as test results to GCC. This [8]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [9]GCC project
+   web site or contact the [10]GCC development mailing list.
+
+   To obtain GCC please use [11]our mirror sites, or our CVS server.
+
+   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.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [15]GCC manuals. If that fails, the
+    [16]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org.
+    All of our lists have [19]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [20]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-3.2/changes.html
+   3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
+   4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2
+   5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1
+   6. http://gcc.gnu.org/gcc-3.2/changes.html#3.2
+   7. http://gcc.gnu.org/gcc-3.2/buildstat.html
+   8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   9. http://gcc.gnu.org/index.html
+  10. mailto:gcc@gcc.gnu.org
+  11. http://gcc.gnu.org/mirrors.html
+  12. mailto:gnu@gnu.org
+  13. http://www.gnu.org/home.html#ContactInfo
+  14. http://gcc.gnu.org/about.html
+  15. http://gcc.gnu.org/onlinedocs/
+  16. mailto:gcc-help@gcc.gnu.org
+  17. mailto:gcc@gnu.org
+  18. mailto:gcc@gcc.gnu.org
+  19. http://gcc.gnu.org/lists.html
+  20. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.2/changes.html
+                           GCC 3.2 Release Series
+                      Changes, New Features, and Fixes
+
+   The latest release in the 3.2 release series is [1]GCC 3.2.3.
+
+Caveats and New Features
+
+  Caveats
+
+     * The C++ compiler does not correctly zero-initialize
+       pointers-to-data members. You must explicitly initialize them. For
+       example: int S::*m(0); will work, but depending on
+       default-initialization to zero will not work. This bug cannot be
+       fixed in GCC 3.2 without inducing unacceptable risks. It will be
+       fixed in GCC 3.3.
+     * This GCC release is based on the GCC 3.1 sourcebase, and thus has
+       all the [2]changes in the GCC 3.1 series. In addition, GCC 3.2 has
+       a number of C++ ABI fixes which make its C++ compiler generate
+       binary code which is incompatible with the C++ compilers found in
+       earlier GCC releases, including GCC 3.1 and GCC 3.1.1.
+
+  Frontend Enhancements
+
+    C/C++/Objective-C
+
+     * The method of constructing the list of directories to be searched
+       for header files has been revised. If a directory named by a -I
+       option is a standard system include directory, the option is
+       ignored to ensure that the default search order for system
+       directories and the special treatment of system header files are
+       not defeated.
+     * The C and Objective-C compilers no longer accept the "Naming Types"
+       extension (typedef foo = bar); it was already unavailable in C++.
+       Code which uses it will need to be changed to use the "typeof"
+       extension instead: typedef typeof(bar) foo. (We have removed this
+       extension without a period of deprecation because it has caused the
+       compiler to crash since version 3.0 and no one noticed until very
+       recently. Thus we conclude it is not in widespread use.)
+
+    C++
+
+     * GCC 3.2 fixed serveral differences between the C++ ABI implemented
+       in GCC and the multi-vendor standard, but more have been found
+       since the release. 3.2.1 adds a new warning, -Wabi, to warn about
+       code which is affected by these bugs. We will fix these bugs in
+       some future release, once we are confident that all have been
+       found; until then, it is our intention to make changes to the ABI
+       only if they are necessary for correct compilation of C++, as
+       opposed to conformance to the ABI documents.
+     * For details on how to build an ABI compliant compiler for GNU/Linux
+       systems, check the [3]common C++ ABI page.
+
+  New Targets and Target Specific Improvements
+
+    IA-32
+
+     * Fixed a number of bugs in SSE and MMX intrinsics.
+     * Fixed common compiler crashes with SSE instruction set enabled
+       (implied by -march=pentium3, pentium4, athlon-xp)
+     * __m128 and __m128i is not 128bit aligned when used in structures.
+
+    x86-64
+
+     * A bug whereby the compiler could generate bad code for bzero has
+       been fixed.
+     * ABI fixes (implying ABI incompatibilities with previous version in
+       some corner cases)
+     * Fixed prefetch code generation
+     __________________________________________________________________
+
+GCC 3.2.3
+
+   3.2.3 is a bug fix release only; there are no new features that were
+   not present in GCC 3.2.2.
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.2.3 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here), and some of the titles have been changed to
+   make them more clear.
+
+    Internal Compiler Errors (multi-platform)
+
+     * [4]3782: (c++) -quiet -fstats produces a segmentation fault in
+       cc1plus
+     * [5]6440: (c++) template specializations cause ICE
+     * [6]7050: (c++) ICE on: (i ? get_string() : throw)
+     * [7]7741: ICE on conflicting types (make_decl_rtl in varasm.c)
+     * [8]7982: (c++) ICE due to infinite recursion (using STL set)
+     * [9]8068: exceedingly high (infinite) memory usage
+     * [10]8178: ICE with __builtin_ffs
+     * [11]8396: ICE in copy_to_mode_reg, in explow.c
+     * [12]8674: (c++) ICE in cp_expr_size, in cp/cp-lang.c
+     * [13]9768: ICE when optimizing inline code at -O2
+     * [14]9798: (c++) Infinite recursion (segfault) in
+       cp/decl.c:push_using_directive with recursive using directives
+     * [15]9799: mismatching structure initializer with nested flexible
+       array member: ICE
+     * [16]9928: ICE on duplicate enum declaration
+     * [17]10114: ICE in mem_loc_descriptor, in dwarf2out.c (affects
+       sparc, alpha)
+     * [18]10352: ICE in find_reloads_toplev
+     * [19]10336: ICE with -Wunreachable-code
+
+    C/optimizer bugs:
+
+     * [20]8224: Incorrect joining of signed and unsigned division
+     * [21]8613: -O2 produces wrong code with builtin strlen and
+       postincrements
+     * [22]8828: gcc reports some code is unreachable when it is not
+     * [23]9226: GCSE breaking argument passing
+     * [24]9853: miscompilation of non-constant structure initializer
+     * [25]9797: C99-style struct initializers are miscompiled
+     * [26]9967: Some standard C function calls should not be replaced
+       when optimizing for size
+     * [27]10116: ce2: invalid merge of join_bb in the context of switch
+       statements
+     * [28]10171: wrong code for inlined function
+     * [29]10175: -Wunreachable-code doesn't work for single lines
+
+    C++ compiler and library:
+
+     * [30]8316: Confusing diagnostic for code that misuses conversion
+       operators
+     * [31]9169: filebuf output fails if codecvt<>::out returns noconv
+     * [32]9420: incomplete type incorrectly reported
+     * [33]9459: typeof in return type specification of template not
+       supported
+     * [34]9507: filebuf::open handles ios_base::ate incorrectly
+     * [35]9538: Out-of-bounds memory access in streambuf::sputbackc
+     * [36]9602: Total confusion about template/friend/virtual/abstract
+     * [37]9993: destructor not called for local object created within and
+       returned from infinite loop
+     * [38]10167: ieee_1003.1-2001 locale specialisations on a glibc-2.3.2
+       system
+
+    Java compiler and library:
+
+     * [39]9652: libgcj build fails on irix6.5.1[78]
+     * [40]10144: gas on solaris complains about bad .stabs lines for
+       java, native as unaffected
+
+    x86-specific (Intel/AMD):
+
+     * [41]8746: gcc miscompiles Linux kernel ppa driver on x86
+     * [42]9888: -mcpu=k6 -Os produces out of range loop instructions
+     * [43]9638: Cross-build for target i386-elf and i586-pc-linux-gnu
+       failed
+     * [44]9954: Cross-build for target i586-pc-linux-gnu (--with-newlib)
+       failed
+
+    SPARC-specific:
+
+     * [45]7784: [Sparc] ICE in extract_insn, in recog.c
+     * [46]7796: sparc extra failure with -m64 on execute/930921-1.c in
+       unroll.c
+     * [47]8281: ICE when compiling with -O2 -fPIC for Ultrasparc
+     * [48]8366: [Sparc] C testsuite failure with -m64 -fpic -O in
+       execute/loop-2d.c
+     * [49]8726: gcc -O2 miscompiles Samba 2.2.7 on 32-bit sparc
+     * [50]9414: Scheduling bug on Ultrasparc
+     * [51]10067: GCC-3.2.2 outputs invalid asm on sparc64
+
+    m68k-specific:
+
+     * [52]7248: broken "inclusive or" code
+     * [53]8343: m68k-elf/rtems ICE at instantiate_virtual_regs_1
+
+    PowerPC-specific:
+
+     * [54]9732: Wrong code with -O2 -fPIC
+     * [55]10073: ICE: powerpc cannot split insn
+
+    Alpha-specific:
+
+     * [56]7702: optimization problem on a DEC alpha under OSF1
+     * [57]9671: gcc.3.2.2 does not build on a HP Tru64 Unix v5.1B system
+
+    HP-specific:
+
+     * [58]8694: <string> breaks <ctype.h> on HP-UX 10.20 (DUP: 9275)
+     * [59]9953: (ada) gcc 3.2.x can't build 3.3-branch ada on HP-UX 10
+       (missing symbol)
+     * [60]10271: Floating point args don't get reloaded across function
+       calls with -O2
+
+    MIPS specific:
+
+     * [61]6362: mips-irix6 gcc-3.1 C testsuite failure with -mips4 in
+       compile/920501-4.c
+
+    CRIS specific:
+
+     * [62]10377: gcc-3.2.2 creates bad assembler code for cris
+
+    Miscellaneous and minor bugs:
+
+     * [63]6955: collect2 says "core dumped" when there is no core
+     __________________________________________________________________
+
+GCC 3.2.2
+
+   Beginning with 3.2.2, GCC's Makefile suite supports redirection of make
+   install by means of the DESTDIR variable. Parts of the GCC tree have
+   featured that support long before, but now it is available even from
+   the top level.
+
+   Other than that, GCC 3.2.2 is a bug fix release only; there are no new
+   features that were not present in GCC 3.2.1.
+
+  Bug Fixes
+
+   On the following i386-based systems GCC 3.2.1 broke the C ABI wrt.
+   functions returning structures: Cygwin, FreeBSD (GCC 3.2.1 as shipped
+   with FreeBSD 5.0 does not have this problem), Interix, a.out-based
+   Linux and NetBSD, OpenBSD, and Darwin. GCC 3.2.2 reverts this ABI
+   change, and thus restores ABI-compatibility with previous releases
+   (except GCC 3.2.1) on these platforms.
+
+   This section lists the problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.2.2 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here) and some of the titles have been changed to
+   make them more clear.
+
+    Internal Compiler Errors (multi-platform)
+
+     * [64]5919: (c++) ICE when passing variable array to template
+       function
+     * [65]7129: (c++) ICE with min/max assignment operators (<?= and >?=)
+     * [66]7507: ICE with -O2 when address of called function is a
+       complicated expression
+     * [67]7622: ICE with nested inline functions if function's address is
+       taken
+     * [68]7681: (fortran) ICE in compensate_edge, in reg-stack.c (also PR
+       [69]9258)
+     * [70]8031: (c++) ICE in code comparing typeids and casting from
+       virtual base
+     * [71]8275: ICE in simplify_subreg
+     * [72]8332: (c++) builtin strlen/template interaction causes ICE
+     * [73]8372: (c++) ICE on explicit call of destructor
+     * [74]8439: (c, not c++) empty struct causes ICE
+     * [75]8442: (c++) ICE with nested template classes
+     * [76]8518: ICE when compiling mplayer ("extern inline" issue)
+     * [77]8615: (c++) ICE with out-of-range character constant template
+       argument
+     * [78]8663: (c++) ICE in cp_expr_size, at cp-lang.c:307
+     * [79]8799: (c++) ICE: error reporting routines re-entered
+     * [80]9328: (c++) ICE with typeof(X) for overloaded X
+     * [81]9465: (preprocessor) cpp -traditional ICE on null bytes
+
+    C++ (compiler and library) bugs
+
+     * [82]47: scoping in nested classes is broken
+     * [83]6745: problems with iostream rdbuf() member function
+     * [84]8214: conversion from const char* const to char* sometimes
+       accepted illegally
+     * [85]8493: builtin strlen and overload resolution (same bug as
+       [86]8332)
+     * [87]8503: strange behaviour of function types
+     * [88]8727: compiler confused by inheritance from an anonymous struct
+     * [89]7445: poor performance of std::locale::classic() in
+       multi-threaded applications
+     * [90]8230: mishandling of overflow in vector<T>::resize
+     * [91]8399: sync_with_stdio(false) breaks unformatted input
+     * [92]8662: illegal access of private member of unnamed class is
+       accepted
+     * [93]8707: "make distclean" fails in libstdc++-v3 directory
+     * [94]8708: __USE_MALLOC doesn't work
+     * [95]8790: Use of non-thread-safe strtok in src/localename.cc
+     * [96]8887: Bug in date formats with --enable-clocale=generic
+     * [97]9076: Call Frame Instructions are not handled correctly during
+       unwind operation
+     * [98]9151: std::setprecision limited to 16 digits when outputting a
+       double to a stream
+     * [99]9168: codecvt<char, char, mbstate_t> overwrites output buffers
+     * [100]9269: libstdc++ headers: explicit specialization of function
+       must precede its first use
+     * [101]9322: return value of basic_streambuf<>::getloc affected by
+       locale::global
+     * [102]9433: segfault in runtime support for dynamic_cast
+
+    C and optimizer bugs
+
+     * [103]8032: GCC incorrectly initializes static structs that have
+       flexible arrays
+     * [104]8639: simple arithmetic expression broken
+     * [105]8794: optimization improperly eliminates certain expressions
+     * [106]8832: traditional "asm volatile" code is illegally optimized
+     * [107]8988: loop optimizer bug: with -O2, code is generated that
+       segfaults (found on i386, bug present for all platforms)
+     * [108]9492: structure copy clobbers subsequent stores to structure
+
+    Objective-C bugs
+
+     * [109]9267: Objective-C parser won't build with newer bison versions
+       (e.g. 1.875)
+
+    Ada bugs
+
+     * [110]8344: Ada build problem due to conflict between gcc/final.o,
+       gcc/ada/final.o
+
+    Preprocessor bugs
+
+     * [111]8524: _Pragma within macros is improperly expanded
+     * [112]8880: __WCHAR_TYPE__ macro incorrectly set to "long int" with
+       -fshort-wchar
+
+    ARM-specific
+
+     * [113]9090: arm ICE with >= -O2; regression from gcc-2.95
+
+    x86-specific (Intel/AMD)
+
+     * [114]8588: ICE in extract_insn, at recog.c:NNNN (shift instruction)
+     * [115]8599: loop unroll bug with -march=k6-3
+     * [116]9506: ABI breakage in structure return (affects BSD and
+       Cygwin, but not GNU/Linux)
+
+    FreeBSD 5.0 specific
+
+     * [117]9484: GCC 3.2.1 Bootstrap failure on FreeBSD 5.0
+
+    RTEMS-specific
+
+     * [118]9292: hppa1.1-rtems configurery problems
+     * [119]9293: [m68k-elf/rtems] config/m68k/t-crtstuff bug
+     * [120]9295: [mips-rtems] config/mips/rtems.h init/fini issue
+     * [121]9296: gthr-rtems regression
+     * [122]9316: powerpc-rtems: extending multilibs
+
+    HP-PA specific
+
+     * [123]9493: ICE with -O2 when building a simple function
+
+    Documentation
+
+     * [124]7341: hyperlink to gcov in GCC documentation doesn't work
+     * [125]8947: Please add a warning about "-malign-double" in docs
+     * [126]7448, [127]8882: typo cleanups
+     __________________________________________________________________
+
+GCC 3.2.1
+
+   3.2.1 adds a new warning, -Wabi. This option warns when GNU C++
+   generates code that is known not to be binary-compatible with the
+   vendor-neutral ia32/ia64 ABI. Please consult the GCC manual, included
+   in the distribution, for details.
+
+   This release also removes an old GCC extension, "naming types", and the
+   documentation now directs users to use a different GCC extension,
+   __typeof__, instead. The feature had evidently been broken for a while.
+
+   Otherwise, 3.2.1 is a bug fix release only; other than bug fixes and
+   the new warning there are no new features that were not present in GCC
+   3.2.
+
+   In addition, the previous fix for [128]PR 7445 (poor performance of
+   std::locale::classic() in multi-threaded applications) was reverted
+   ("unfixed"), because the "fix" was not thread-safe.
+
+  Bug Fixes
+
+   This section lists the problem reports (PRs) from GCC's bug tracking
+   system that are known to be fixed in the 3.2.1 release. This list might
+   not be complete (that is, it is possible that some PRs that have been
+   fixed are not listed here). As you can see, the number of bug fixes is
+   quite large, so it is strongly recommended that users of earlier GCC
+   3.x releases upgrade to GCC 3.2.1.
+
+    Internal Compiler Errors (multi-platform)
+
+     * [129]2521: (c++) ICE in build_ptrmemfunc, in cp/typeck.c
+     * [130]5661: (c++) ICE instantiating template on array of unknown
+       size (bad code)
+     * [131]6419: (c++) ICE in make_decl_rtl for "longest" attribute on
+       64-bit platforms
+     * [132]6994: (c++) ICE in find_function_data
+     * [133]7150: preprocessor: GCC -dM -E gives an ICE
+     * [134]7160: ICE when optimizing branches without a return value
+     * [135]7228: (c++) ICE when using member template and template
+       function
+     * [136]7266: (c++) ICE with -pedantic on missing typename
+     * [137]7353: ICE from use of "Naming Types" extension, see above
+     * [138]7411: ICE in instantiate_virtual_regs_1, in function.c
+     * [139]7478: (c++) ICE on static_cast inside template
+     * [140]7526: preprocessor core dump when _Pragma implies #pragma
+       dependency
+     * [141]7721: (c++) ICE on simple (but incorrect) template ([142]7803
+       is a duplicate)
+     * [143]7754: (c++) ICE on union with template parameter
+     * [144]7788: (c++) redeclaring a definition as an incomplete class
+       causes ICE
+     * [145]8031: (c++) ICE in comptypes, in cp/typeck.c
+     * [146]8055: preprocessor dies with SIG11 when building FreeBSD
+       kernel
+     * [147]8067: (c++) ICE due to mishandling of __FUNCTION__ and related
+       variables
+     * [148]8134: (c++) ICE in force_store_init_value on legal code
+     * [149]8149: (c++) ICE on incomplete type
+     * [150]8160: (c++) ICE in build_modify_expr, in cp/typeck.c: array
+       initialization
+
+    C++ (compiler and library) bugs
+
+     * [151]5607: No pointer adjustment in covariant return types
+     * [152]6579: Infinite loop with statement expressions in member
+       initialization
+     * [153]6803: Default copy constructor bug in GCC 3.1
+     * [154]7176: g++ confused by friend and static member with same name
+     * [155]7188: Segfault with template class and recursive (incorrect)
+       initializer list
+     * [156]7306: Regression: GCC 3.x fails to compile code with virtual
+       inheritance if a method has a variable number of arguments
+     * [157]7461: ctype<char>::classic_table() returns offset array on
+       Cygwin
+     * [158]7524: f(const float arg[3]) fails
+     * [159]7584: Erroneous ambiguous base error on using declaration
+     * [160]7676: Member template overloading problem
+     * [161]7679: infinite loop when a right parenthesis is missing
+     * [162]7811: default locale not taken from environment
+     * [163]7961: compare( char *) implemented incorrectly in
+       basic_string<>
+     * [164]8071: basic_ostream::operator<<(streambuf*) loops forever if
+       streambuf::underflow() leaves gptr() NULL (dups: [165]8127,
+       [166]6745)
+     * [167]8096: deque::at() throws std::range_error instead of
+       std::out_of_range
+     * [168]8127: cout << cin.rdbuf() infinite loop
+     * [169]8218: Excessively large memory consumed for classes with large
+       array members
+     * [170]8287: GCC 3.2: Destructor called for non-constructed local
+       object
+     * [171]8347: empty vector range used in string construction causes
+       core dump
+     * [172]8348: fail() flag is set in istringstream when eof() flag is
+       set
+     * [173]8391: regression: infinite loop in cp/decl2.c(finish_file)
+
+    C and optimizer bugs
+
+     * [174]6627: -fno-align-functions doesn't seem to disable function
+       alignment
+     * [175]6631: life_analysis misoptimizes code to initialize fields of
+       a structure
+     * [176]7102: unsigned char division results in floating exception
+     * [177]7120: Run once loop should *always* be unrolled
+       (pessimization)
+     * [178]7209: Bug involving array referencing and ?: operator
+     * [179]7515: invalid inlining of global function with -O3
+     * [180]7814: incorrect scheduling for glibc-2.2.92 strcpy test
+     * [181]8467: bug in sibling call optimization
+
+    Preprocessor bugs
+
+     * [182]4890: incorrect line markers from the traditional preprocessor
+     * [183]7357: -M option omits system headers files (making it the same
+       as -MM)
+     * [184]7358: Changes to Sun's make Dependencies
+     * [185]7602: C++ header files found in CPLUS_INCLUDE_PATH treated as
+       C headers
+     * [186]7862: Interrupting GCC -MD removes .d file but not .o
+     * [187]8190: Failed compilation deletes -MD dependency file
+     * [188]8524: _Pragma within macro is improperly expanded
+
+    x86 specific (Intel/AMD)
+
+     * [189]5351: (i686-only) function pass-by-value structure copy
+       corrupts stack ([190]7591 is a duplicate)
+     * [191]6845, [192]7034, [193]7124, [194]7174: ICE's with
+       -march=pentium3/pentium2/athlon (these are all the same underlying
+       bug, in MMX register use)
+     * [195]7134, [196]7375, [197]7390: ICE with -march=athlon (maybe same
+       as above?)
+     * [198]6890: xmmintrin.h, _MM_TRANSPOSE4_PS is broken
+     * [199]6981: wrong code in 64-bit manipulation on x86
+     * [200]7242: GCC -mcpu=pentium[23] doesn't define __tune_pentiumpro__
+       macro
+     * [201]7396: ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss SSE
+       intrinsics are broken
+     * [202]7630: GCC 3.2 breaks on Mozilla 1.0's JS sources with
+       -march=pentium4
+     * [203]7693: Typo in i386 mmintrin.h header
+     * [204]7723: ICE - Pentium3 sse - GCC 3.2
+     * [205]7951: ICE on -march=pentium4 -O2 -mfpmath=sse
+     * [206]8146: (i686 only) gcc 3.2 miscompiles gcc 2.95.3
+
+    PowerPC specific
+
+     * [207]5967: GCC bug when profiling nested functions on powerpc
+     * [208]6984: wrong code generated with -O2, -O3, -Os for do-while
+       loop on PowerPC
+     * [209]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5
+     * [210]7130: miscompiled code for GCC-3.1 in powerpc linux with
+       -funroll-all-loops
+     * [211]7133: PowerPC ICE: unrecognizable insn
+     * [212]7380: ICE in extract_insn, at recog.c:2148
+     * [213]8252: ICE on Altivec code with optimization turned on
+     * [214]8451: Altivec ICE in GCC 3.2
+
+    HP/PA specific
+
+     * [215]7250: __ashrdi3 returns wrong value on 32 bit hppa
+
+    SPARC specific
+
+     * [216]6668: when using --disable-multilib, libgcc_s.so is installed
+       in the wrong place on sparc-solaris
+     * [217]7151: ICE when compiling for UltraSPARC
+     * [218]7335: SPARC: ICE in verify_wide_reg (flow.c:557) with long
+       double and -O1
+     * [219]7842: [REGRESSION] SPARC code gen bug
+
+    ARM specific
+
+     * [220]7856: [arm] invalid offset in constant pool reference
+     * [221]7967: optimization produces wrong code (ARM)
+
+    Alpha specific
+
+     * [222]7374: __builtin_fabsl broken on alpha
+
+    IBM s390 specific
+
+     * [223]7370: ICE in fixup_var_refs_1 on s390x
+     * [224]7409: loop optimization bug on s390x-linux-gnu
+     * [225]8232: s390x: ICE when using bcmp with int length argument
+
+    SCO specific
+
+     * [226]7623: SCO OpenServer build fails with machmode.def: undefined
+       symbol: BITS_PER_UNIT
+
+    m68k/Coldfire specific
+
+     * [227]8314: crtbegin, crtend need to be multilib'ed for this
+       platform
+
+    Documentation
+
+     * [228]761: Document some undocumented options
+     * [229]5610: Fix documentation about invoking SSE instructions
+       (-mfpmath=sse)
+     * [230]7484: List -Wmissing-declarations as C-only option
+     * [231]7531: -mcmodel not documented for x86-64
+     * [232]8120: Update documentation of bad use of ##
+     __________________________________________________________________
+
+GCC 3.2
+
+   3.2 is a small bug fix release, but there is a change to the
+   application binary interface (ABI), hence the change to the second part
+   of the version number.
+
+   The main purpose of the 3.2 release is to correct a couple of problems
+   in the C++ ABI, with the intention of providing a stable interface
+   going forward.  Accordingly, 3.2 is only a small change to 3.1.1.
+
+  Bug Fixes
+
+    C++
+
+     * [233]7320: g++ 3.2 relocation problem
+     * [234]7470: vtable: virtual function pointers not in declaration
+       order
+
+    libstdc++
+
+     * [235]6410: Trouble with non-ASCII monetary symbols and wchar_t
+     * [236]6503, [237]6642, [238]7186: Problems with comparing or
+       subtracting various types of const and non-const iterators
+     * [239]7216: ambiguity with basic_iostream::traits_type
+     * [240]7220: problem with basic_istream::ignore(0,delimiter)
+     * [241]7222: locale::operator==() doesn't work on std::locale("")
+     * [242]7286: placement operator delete issue
+     * [243]7442: cxxabi.h does not match the C++ ABI
+     * [244]7445: poor performance of std::locale::classic() in
+       multi-threaded applications
+
+    x86-64 specific
+
+     * [245]7291: off-by-one in generated inline bzero code for x86-64
+
+   Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There
+   are also [247]other ways to contact the FSF.
+
+   These pages are maintained by [248]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [249]GCC manuals. If that fails, the
+    [250]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [251]gcc@gnu.org or
+    [252]gcc@gcc.gnu.org. All of our lists have [253]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [254]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
+   2. http://gcc.gnu.org/gcc-3.1/changes.html
+   3. http://gcc.gnu.org/gcc-3.2/c++-abi.html
+   4. http://gcc.gnu.org/PR3782
+   5. http://gcc.gnu.org/PR6440
+   6. http://gcc.gnu.org/PR7050
+   7. http://gcc.gnu.org/PR7741
+   8. http://gcc.gnu.org/PR7982
+   9. http://gcc.gnu.org/PR8068
+  10. http://gcc.gnu.org/PR8178
+  11. http://gcc.gnu.org/PR8396
+  12. http://gcc.gnu.org/PR8674
+  13. http://gcc.gnu.org/PR9768
+  14. http://gcc.gnu.org/PR9798
+  15. http://gcc.gnu.org/PR9799
+  16. http://gcc.gnu.org/PR9928
+  17. http://gcc.gnu.org/PR10114
+  18. http://gcc.gnu.org/PR10352
+  19. http://gcc.gnu.org/PR10336
+  20. http://gcc.gnu.org/PR8224
+  21. http://gcc.gnu.org/PR8613
+  22. http://gcc.gnu.org/PR8828
+  23. http://gcc.gnu.org/PR9226
+  24. http://gcc.gnu.org/PR9853
+  25. http://gcc.gnu.org/PR9797
+  26. http://gcc.gnu.org/PR9967
+  27. http://gcc.gnu.org/PR10116
+  28. http://gcc.gnu.org/PR10171
+  29. http://gcc.gnu.org/PR10175
+  30. http://gcc.gnu.org/PR8316
+  31. http://gcc.gnu.org/PR9169
+  32. http://gcc.gnu.org/PR9420
+  33. http://gcc.gnu.org/PR9459
+  34. http://gcc.gnu.org/PR9507
+  35. http://gcc.gnu.org/PR9538
+  36. http://gcc.gnu.org/PR9602
+  37. http://gcc.gnu.org/PR9993
+  38. http://gcc.gnu.org/PR10167
+  39. http://gcc.gnu.org/PR9652
+  40. http://gcc.gnu.org/PR10144
+  41. http://gcc.gnu.org/PR8746
+  42. http://gcc.gnu.org/PR9888
+  43. http://gcc.gnu.org/PR9638
+  44. http://gcc.gnu.org/PR9954
+  45. http://gcc.gnu.org/PR7784
+  46. http://gcc.gnu.org/PR7796
+  47. http://gcc.gnu.org/PR8281
+  48. http://gcc.gnu.org/PR8366
+  49. http://gcc.gnu.org/PR8726
+  50. http://gcc.gnu.org/PR9414
+  51. http://gcc.gnu.org/PR10067
+  52. http://gcc.gnu.org/PR7248
+  53. http://gcc.gnu.org/PR8343
+  54. http://gcc.gnu.org/PR9732
+  55. http://gcc.gnu.org/PR10073
+  56. http://gcc.gnu.org/PR7702
+  57. http://gcc.gnu.org/PR9671
+  58. http://gcc.gnu.org/PR8694
+  59. http://gcc.gnu.org/PR9953
+  60. http://gcc.gnu.org/PR10271
+  61. http://gcc.gnu.org/PR6362
+  62. http://gcc.gnu.org/PR10377
+  63. http://gcc.gnu.org/PR6955
+  64. http://gcc.gnu.org/PR5919
+  65. http://gcc.gnu.org/PR7129
+  66. http://gcc.gnu.org/PR7507
+  67. http://gcc.gnu.org/PR7622
+  68. http://gcc.gnu.org/PR7681
+  69. http://gcc.gnu.org/PR9528
+  70. http://gcc.gnu.org/PR8031
+  71. http://gcc.gnu.org/PR8275
+  72. http://gcc.gnu.org/PR8332
+  73. http://gcc.gnu.org/PR8372
+  74. http://gcc.gnu.org/PR8439
+  75. http://gcc.gnu.org/PR8442
+  76. http://gcc.gnu.org/PR8518
+  77. http://gcc.gnu.org/PR8615
+  78. http://gcc.gnu.org/PR8663
+  79. http://gcc.gnu.org/PR8799
+  80. http://gcc.gnu.org/PR9328
+  81. http://gcc.gnu.org/PR9465
+  82. http://gcc.gnu.org/PR47
+  83. http://gcc.gnu.org/PR6745
+  84. http://gcc.gnu.org/PR8214
+  85. http://gcc.gnu.org/PR8493
+  86. http://gcc.gnu.org/PR8332
+  87. http://gcc.gnu.org/PR8503
+  88. http://gcc.gnu.org/PR8727
+  89. http://gcc.gnu.org/PR7445
+  90. http://gcc.gnu.org/PR8230
+  91. http://gcc.gnu.org/PR8399
+  92. http://gcc.gnu.org/PR8662
+  93. http://gcc.gnu.org/PR8707
+  94. http://gcc.gnu.org/PR8708
+  95. http://gcc.gnu.org/PR8790
+  96. http://gcc.gnu.org/PR8887
+  97. http://gcc.gnu.org/PR9076
+  98. http://gcc.gnu.org/PR9151
+  99. http://gcc.gnu.org/PR9168
+ 100. http://gcc.gnu.org/PR9269
+ 101. http://gcc.gnu.org/PR9322
+ 102. http://gcc.gnu.org/PR9433
+ 103. http://gcc.gnu.org/PR8032
+ 104. http://gcc.gnu.org/PR8639
+ 105. http://gcc.gnu.org/PR8794
+ 106. http://gcc.gnu.org/PR8832
+ 107. http://gcc.gnu.org/PR8988
+ 108. http://gcc.gnu.org/PR9492
+ 109. http://gcc.gnu.org/PR9267
+ 110. http://gcc.gnu.org/PR8344
+ 111. http://gcc.gnu.org/PR8524
+ 112. http://gcc.gnu.org/PR8880
+ 113. http://gcc.gnu.org/PR9090
+ 114. http://gcc.gnu.org/PR8588
+ 115. http://gcc.gnu.org/PR8599
+ 116. http://gcc.gnu.org/PR9506
+ 117. http://gcc.gnu.org/PR9484
+ 118. http://gcc.gnu.org/PR9292
+ 119. http://gcc.gnu.org/PR9293
+ 120. http://gcc.gnu.org/PR9295
+ 121. http://gcc.gnu.org/PR9296
+ 122. http://gcc.gnu.org/PR9316
+ 123. http://gcc.gnu.org/PR9493
+ 124. http://gcc.gnu.org/PR7341
+ 125. http://gcc.gnu.org/PR8947
+ 126. http://gcc.gnu.org/PR7448
+ 127. http://gcc.gnu.org/PR8882
+ 128. http://gcc.gnu.org/PR7445
+ 129. http://gcc.gnu.org/PR2521
+ 130. http://gcc.gnu.org/PR5661
+ 131. http://gcc.gnu.org/PR6419
+ 132. http://gcc.gnu.org/PR6994
+ 133. http://gcc.gnu.org/PR7150
+ 134. http://gcc.gnu.org/PR7160
+ 135. http://gcc.gnu.org/PR7228
+ 136. http://gcc.gnu.org/PR7266
+ 137. http://gcc.gnu.org/PR7353
+ 138. http://gcc.gnu.org/PR7411
+ 139. http://gcc.gnu.org/PR7478
+ 140. http://gcc.gnu.org/PR7526
+ 141. http://gcc.gnu.org/PR7721
+ 142. http://gcc.gnu.org/PR7803
+ 143. http://gcc.gnu.org/PR7754
+ 144. http://gcc.gnu.org/PR7788
+ 145. http://gcc.gnu.org/PR8031
+ 146. http://gcc.gnu.org/PR8055
+ 147. http://gcc.gnu.org/PR8067
+ 148. http://gcc.gnu.org/PR8134
+ 149. http://gcc.gnu.org/PR8149
+ 150. http://gcc.gnu.org/PR8160
+ 151. http://gcc.gnu.org/PR5607
+ 152. http://gcc.gnu.org/PR6579
+ 153. http://gcc.gnu.org/PR6803
+ 154. http://gcc.gnu.org/PR7176
+ 155. http://gcc.gnu.org/PR7188
+ 156. http://gcc.gnu.org/PR7306
+ 157. http://gcc.gnu.org/PR7461
+ 158. http://gcc.gnu.org/PR7524
+ 159. http://gcc.gnu.org/PR7584
+ 160. http://gcc.gnu.org/PR7676
+ 161. http://gcc.gnu.org/PR7679
+ 162. http://gcc.gnu.org/PR7811
+ 163. http://gcc.gnu.org/PR7961
+ 164. http://gcc.gnu.org/PR8071
+ 165. http://gcc.gnu.org/PR8127
+ 166. http://gcc.gnu.org/PR6745
+ 167. http://gcc.gnu.org/PR8096
+ 168. http://gcc.gnu.org/PR8127
+ 169. http://gcc.gnu.org/PR8218
+ 170. http://gcc.gnu.org/PR8287
+ 171. http://gcc.gnu.org/PR8347
+ 172. http://gcc.gnu.org/PR8348
+ 173. http://gcc.gnu.org/PR8391
+ 174. http://gcc.gnu.org/PR6627
+ 175. http://gcc.gnu.org/PR6631
+ 176. http://gcc.gnu.org/PR7102
+ 177. http://gcc.gnu.org/PR7120
+ 178. http://gcc.gnu.org/PR7209
+ 179. http://gcc.gnu.org/PR7515
+ 180. http://gcc.gnu.org/PR7814
+ 181. http://gcc.gnu.org/PR8467
+ 182. http://gcc.gnu.org/PR4890
+ 183. http://gcc.gnu.org/PR7357
+ 184. http://gcc.gnu.org/PR7358
+ 185. http://gcc.gnu.org/PR7602
+ 186. http://gcc.gnu.org/PR7862
+ 187. http://gcc.gnu.org/PR8190
+ 188. http://gcc.gnu.org/PR8524
+ 189. http://gcc.gnu.org/PR5351
+ 190. http://gcc.gnu.org/PR7591
+ 191. http://gcc.gnu.org/PR6845
+ 192. http://gcc.gnu.org/PR7034
+ 193. http://gcc.gnu.org/PR7124
+ 194. http://gcc.gnu.org/PR7174
+ 195. http://gcc.gnu.org/PR7134
+ 196. http://gcc.gnu.org/PR7375
+ 197. http://gcc.gnu.org/PR7390
+ 198. http://gcc.gnu.org/PR6890
+ 199. http://gcc.gnu.org/PR6981
+ 200. http://gcc.gnu.org/PR7242
+ 201. http://gcc.gnu.org/PR7396
+ 202. http://gcc.gnu.org/PR7630
+ 203. http://gcc.gnu.org/PR7693
+ 204. http://gcc.gnu.org/PR7723
+ 205. http://gcc.gnu.org/PR7951
+ 206. http://gcc.gnu.org/PR8146
+ 207. http://gcc.gnu.org/PR5967
+ 208. http://gcc.gnu.org/PR6984
+ 209. http://gcc.gnu.org/PR7114
+ 210. http://gcc.gnu.org/PR7130
+ 211. http://gcc.gnu.org/PR7133
+ 212. http://gcc.gnu.org/PR7380
+ 213. http://gcc.gnu.org/PR8252
+ 214. http://gcc.gnu.org/PR8451
+ 215. http://gcc.gnu.org/PR7250
+ 216. http://gcc.gnu.org/PR6668
+ 217. http://gcc.gnu.org/PR7151
+ 218. http://gcc.gnu.org/PR7335
+ 219. http://gcc.gnu.org/PR7842
+ 220. http://gcc.gnu.org/PR7856
+ 221. http://gcc.gnu.org/PR7967
+ 222. http://gcc.gnu.org/PR7374
+ 223. http://gcc.gnu.org/PR7370
+ 224. http://gcc.gnu.org/PR7409
+ 225. http://gcc.gnu.org/PR8232
+ 226. http://gcc.gnu.org/PR7623
+ 227. http://gcc.gnu.org/PR8314
+ 228. http://gcc.gnu.org/PR761
+ 229. http://gcc.gnu.org/PR5610
+ 230. http://gcc.gnu.org/PR7484
+ 231. http://gcc.gnu.org/PR7531
+ 232. http://gcc.gnu.org/PR8120
+ 233. http://gcc.gnu.org/PR7320
+ 234. http://gcc.gnu.org/PR7470
+ 235. http://gcc.gnu.org/PR6410
+ 236. http://gcc.gnu.org/PR6503
+ 237. http://gcc.gnu.org/PR6642
+ 238. http://gcc.gnu.org/PR7186
+ 239. http://gcc.gnu.org/PR7216
+ 240. http://gcc.gnu.org/PR7220
+ 241. http://gcc.gnu.org/PR7222
+ 242. http://gcc.gnu.org/PR7286
+ 243. http://gcc.gnu.org/PR7442
+ 244. http://gcc.gnu.org/PR7445
+ 245. http://gcc.gnu.org/PR7291
+ 246. mailto:gnu@gnu.org
+ 247. http://www.gnu.org/home.html#ContactInfo
+ 248. http://gcc.gnu.org/about.html
+ 249. http://gcc.gnu.org/onlinedocs/
+ 250. mailto:gcc-help@gcc.gnu.org
+ 251. mailto:gcc@gnu.org
+ 252. mailto:gcc@gcc.gnu.org
+ 253. http://gcc.gnu.org/lists.html
+ 254. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.1/index.html
+                                   GCC 3.1
+
+   July 27, 2002
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 3.1.1.
+
+   The links below still apply to GCC 3.1.1.
+
+   May 15, 2002
+
+   The [2]GNU project and the GCC developers are pleased to announce the
+   release of GCC 3.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.
+
+   A list of [3]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed [4]new features, improvements, bug fixes, and other changes
+   as well as test results to GCC. This [5]amazing group of volunteers is
+   what makes GCC successful.
+
+   For additional information about GCC please refer to the [6]GCC project
+   web site or contact the [7]GCC development mailing list.
+
+   To obtain GCC please use [8]our mirror sites, or our CVS server.
+     __________________________________________________________________
+
+   Please send FSF & GNU inquiries & questions to [9]gnu@gnu.org. There
+   are also [10]other ways to contact the FSF.
+
+   These pages are maintained by [11]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [12]GCC manuals. If that fails, the
+    [13]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org.
+    All of our lists have [16]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [17]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://www.gnu.org/
+   3. http://gcc.gnu.org/gcc-3.1/buildstat.html
+   4. http://gcc.gnu.org/gcc-3.1/changes.html
+   5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   6. http://gcc.gnu.org/index.html
+   7. mailto:gcc@gcc.gnu.org
+   8. http://gcc.gnu.org/mirrors.html
+   9. mailto:gnu@gnu.org
+  10. http://www.gnu.org/home.html#ContactInfo
+  11. http://gcc.gnu.org/about.html
+  12. http://gcc.gnu.org/onlinedocs/
+  13. mailto:gcc-help@gcc.gnu.org
+  14. mailto:gcc@gnu.org
+  15. mailto:gcc@gcc.gnu.org
+  16. http://gcc.gnu.org/lists.html
+  17. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.1/changes.html
+                           GCC 3.1 Release Series
+                      Changes, New Features, and Fixes
+
+Additional changes in GCC 3.1.1
+
+     * A bug related to how structures and unions are returned has been
+       fixed for powerpc-*-netbsd*.
+     * An important bug in the implementation of -fprefetch-loop-arrays
+       has been fixed. Previously the optimization prefetched random
+       blocks of memory for most targets except for i386.
+     * The Java compiler now compiles Java programs much faster and also
+       works with parallel make.
+     * Nested functions have been fixed for mips*-*-netbsd*.
+     * Some missing floating point support routines have beed added for
+       mips*-*-netbsd*.
+     * This [1]message gives additional information about the bugs fixed
+       in this release.
+
+Caveats
+
+     * The -traditional C compiler option has been deprecated and will be
+       removed in GCC 3.3. (It remains possible to preprocess non-C code
+       with the traditional preprocessor.)
+     * The default debugging format for most ELF platforms (including
+       GNU/Linux and FreeBSD; notable exception is Solaris) has changed
+       from stabs to DWARF2. This requires GDB 5.1.1 or later.
+
+General Optimizer Improvements
+
+     * Jan Hubicka, SuSE Labs, together with Richard Henderson, Red Hat,
+       and Andreas Jaeger, SuSE Labs, has contributed [2]infrastructure
+       for profile driven optimizations.
+       Options -fprofile-arcs and -fbranch-probabilities can now be used
+       to improve speed of the generated code by profiling the actual
+       program behaviour on typical runs. In the absence of profile info
+       the compiler attempts to guess the profile statically.
+     * [3]SPEC2000 and SPEC95 benchmark suites are now used daily to
+       monitor performance of the generated code.
+       According to the SPECInt2000 results on an AMD Athlon CPU, the code
+       generated by GCC 3.1 is 6% faster on the average (8.2% faster with
+       profile feedback) compared to GCC 3.0. The code produced by GCC 3.0
+       is about 2.1% faster compared to 2.95.3. Tests were done using the
+       -O2 -march=athlon command-line options.
+     * Alexandre Oliva, of Red Hat, has generalized the tree inlining
+       infrastructure developed by CodeSourcery, LLC for the C++ front
+       end, so that it is now used in the C front end too. Inlining
+       functions as trees exposes them earlier to the compiler, giving it
+       more opportunities for optimization.
+     * Support for data prefetching instructions has been added to the GCC
+       back end and several targets. A new __builtin_prefetch intrinsic is
+       available to explicitly insert prefetch instructions and
+       experimental support for loop array prefetching has been added (see
+       -fprefetch-loop-array documentation).
+     * Support for emitting debugging information for macros has been
+       added for DWARF2. It is activated using -g3.
+
+New Languages and Language specific improvements
+
+  C/C++
+
+     * A few more [4]ISO C99 features.
+     * The preprocessor is 10-50% faster than the preprocessor in GCC 3.0.
+     * The preprocessor's symbol table has been merged with the symbol
+       table of the C, C++ and Objective-C front ends.
+     * The preprocessor consumes less memory than the preprocessor in GCC
+       3.0, often significantly so. On normal input files, it typically
+       consumes less memory than pre-3.0 cccp-based GCC, too.
+
+  C++
+
+     * -fhonor-std and -fno-honor-std have been removed. -fno-honor-std
+       was a workaround to allow std compliant code to work with the
+       non-std compliant libstdc++-v2. libstdc++-v3 is std compliant.
+     * The C++ ABI has been fixed so that void (A::*)() const is mangled
+       as "M1AKFvvE", rather than "MK1AFvvE" as before. This change only
+       affects pointer to cv-qualified member function types.
+     * The C++ ABI has been changed to correctly handle this code:
+    struct A {
+      void operator delete[] (void *, size_t);
+    };
+
+    struct B : public A {
+    };
+
+    new B[10];
+
+       The amount of storage allocated for the array will be greater than
+       it was in 3.0, in order to store the number of elements in the
+       array, so that the correct size can be passed to operator delete[]
+       when the array is deleted. Previously, the value passed to operator
+       delete[] was unpredictable.
+       This change will only affect code that declares a two-argument
+       operator delete[] with a second parameter of type size_t in a base
+       class, and does not override that definition in a derived class.
+     * The C++ ABI has been changed so that:
+    struct A {
+      void operator delete[] (void *, size_t);
+      void operator delete[] (void *);
+    };
+
+       does not cause unnecessary storage to be allocated when an array of
+       A objects is allocated.
+       This change will only affect code that declares both of these forms
+       of operator delete[], and declared the two-argument form before the
+       one-argument form.
+     * The C++ ABI has been changed so that when a parameter is passed by
+       value, any cleanup for that parameter is performed in the caller,
+       as specified by the ia64 C++ ABI, rather than the called function
+       as before. As a result, classes with a non-trivial destructor but a
+       trivial copy constructor will be passed and returned by invisible
+       reference, rather than by bitwise copy as before.
+     * G++ now supports the "named return value optimization": for code
+       like
+    A f () {
+      A a;
+      ...
+      return a;
+    }
+
+       G++ will allocate a in the return value slot, so that the return
+       becomes a no-op. For this to work, all return statements in the
+       function must return the same variable.
+     * Improvements to the C++ library are listed in [5]the libstdc++-v3
+       FAQ.
+
+  Objective-C
+
+     * Annoying linker warnings (due to incorrect code being generated)
+       have been fixed.
+     * If a class method cannot be found, the compiler no longer issues a
+       warning if a corresponding instance method exists in the root
+       class.
+     * Forward @protocol declarations have been fixed.
+     * Loading of categories has been fixed in certain situations (GNU run
+       time only).
+     * The class lookup in the run-time library has been rewritten so that
+       class method dispatch is more than twice as fast as it used to be
+       (GNU run time only).
+
+  Java
+
+     * libgcj now includes RMI, java.lang.ref.*, javax.naming, and
+       javax.transaction.
+     * Property files and other system resources can be compiled into
+       executables which use libgcj using the new gcj --resource feature.
+     * libgcj has been ported to more platforms. In particular there is
+       now a mostly-functional mingw32 (Windows) target port.
+     * JNI and CNI invocation interfaces were implemented, so gcj-compiled
+       Java code can now be called from a C/C++ application.
+     * gcj can now use builtin functions for certain known methods, for
+       instance Math.cos.
+     * gcj can now automatically remove redundant array-store checks in
+       some common cases.
+     * The --no-store-checks optimization option was added. This can be
+       used to omit runtime store checks for code which is known not to
+       throw ArrayStoreException
+     * The following third party interface standards were added to libgcj:
+       org.w3c.dom and org.xml.sax.
+     * java.security has been merged with GNU Classpath. The new package
+       is now JDK 1.2 compliant, and much more complete.
+     * A bytecode verifier was added to the libgcj interpreter.
+     * java.lang.Character was rewritten to comply with the Unicode 3.0
+       standard, and improve performance.
+     * Partial support for many more locales was added to libgcj.
+     * Socket timeouts have been implemented.
+     * libgcj has been merged into a single shared library. There are no
+       longer separate shared libraries for the garbage collector and
+       zlib.
+     * Several performance improvements were made to gcj and libgcj:
+          + Hash synchronization (thin locks)
+          + A special allocation path for finalizer-free objects
+          + Thread-local allocation
+          + Parallel GC, and other GC tweaks
+
+  Fortran
+
+   Fortran improvements are listed in [6]the Fortran documentation.
+
+  Ada
+
+   [7]Ada Core Technologies, Inc, has contributed its GNAT Ada 95 front
+   end and associated tools. The GNAT compiler fully implements the Ada
+   language as defined by the ISO/IEC 8652 standard.
+
+   Please note that the integration of the Ada front end is still work in
+   progress.
+
+New Targets and Target Specific Improvements
+
+     * Hans-Peter Nilsson has contributed a port to [8]MMIX, the CPU
+       architecture used in new editions of Donald E. Knuth's The Art of
+       Computer Programming.
+     * [9]Axis Communications has contributed its port to the CRIS CPU
+       architecture, used in the ETRAX system-on-a-chip series. See
+       [10]Axis' developer site for technical information.
+     * Alexandre Oliva, of Red Hat, has contributed a port to the
+       [11]SuperH SH5 64-bit RISC microprocessor architecture, extending
+       the existing SH port.
+     * UltraSPARC is fully supported in 64-bit mode. The option -m64
+       enables it.
+     * For compatibility with the Sun compiler #pragma redefine_extname
+       has been implemented on Solaris.
+     * The x86 back end has had some noticeable work done to it.
+          + SuSE Labs developers Jan Hubicka, Bo Thorsen and Andreas
+            Jaeger have contributed a port to the AMD x86-64 architecture.
+            For more information on x86-64 see [12]http://www.x86-64.org.
+          + The compiler now supports MMX, 3DNow!, SSE, and SSE2
+            instructions. Options -mmmx, -m3dnow, -msse, and -msse2 will
+            enable the respective instruction sets. Intel C++ compatible
+            MMX/3DNow!/SSE intrinsics are implemented. SSE2 intrinsics
+            will be added in next major release.
+          + Following those improvements, targets for Pentium MMX, K6-2,
+            K6-3, Pentium III, Pentium 4, and Athlon 4 Mobile/XP/MP were
+            added. Refer to the documentation on -march= and -mcpu=
+            options for details.
+          + For those targets that support it, -mfpmath=sse will cause the
+            compiler to generate SSE/SSE2 instructions for floating point
+            math instead of x87 instructions. Usually, this will lead to
+            quicker code -- especially on the Pentium 4. Note that only
+            scalar floating point instructions are used and GCC does not
+            exploit SIMD features yet.
+          + Prefetch support has been added to the Pentium III, Pentium 4,
+            K6-2, K6-3, and Athlon series.
+          + Code generated for floating point to integer conversions has
+            been improved leading to better performance of many 3D
+            applications.
+     * The PowerPC back end has added 64-bit PowerPC GNU/Linux support.
+     * C++ support for AIX has been improved.
+     * Aldy Hernandez, of Red Hat, Inc, has contributed extensions to the
+       PowerPC port supporting the AltiVec programming model (SIMD). The
+       support, though presently useful, is experimental and is expected
+       to stabilize for 3.2. The support is written to conform to
+       Motorola's AltiVec specs. See -maltivec.
+
+Obsolete Systems
+
+   Support for a number of older systems has been declared obsolete in GCC
+   3.1. Unless there is activity to revive them, the next release of GCC
+   will have their sources permanently removed.
+
+   All configurations of the following processor architectures have been
+   declared obsolete:
+     * MIL-STD-1750A, 1750a-*-*
+     * AMD A29k, a29k-*-*
+     * Convex, c*-convex-*
+     * Clipper, clipper-*-*
+     * Elxsi, elxsi-*-*
+     * Intel i860, i860-*-*
+     * Sun picoJava, pj-*-* and pjl-*-*
+     * Western Electric 32000, we32k-*-*
+
+   Most configurations of the following processor architectures have been
+   declared obsolete, but we are preserving a few systems which may have
+   active developers. It is unlikely that the remaining systems will
+   survive much longer unless we see definite signs of port activity.
+     * Motorola 88000 except
+          + Generic a.out, m88k-*-aout*
+          + Generic SVR4, m88k-*-sysv4
+          + OpenBSD, m88k-*-openbsd*
+     * NS32k except
+          + NetBSD, ns32k-*-netbsd*
+          + OpenBSD, ns32k-*-openbsd*.
+     * ROMP except
+          + OpenBSD, romp-*-openbsd*.
+
+   Finally, only some configurations of these processor architectures are
+   being obsoleted.
+     * Alpha:
+          + OSF/1, alpha*-*-osf[123]*. (Digital Unix and Tru64 Unix, aka
+            alpha*-*-osf[45], are still supported.)
+     * ARM:
+          + RISCiX, arm-*-riscix*.
+     * i386:
+          + 386BSD, i?86-*-bsd*
+          + Chorus, i?86-*-chorusos*
+          + DG/UX, i?86-*-dgux*
+          + FreeBSD 1.x, i?86-*-freebsd1.*
+          + IBM AIX, i?86-*-aix*
+          + ISC UNIX, i?86-*-isc*
+          + Linux with pre-BFD linker, i?86-*-linux*oldld*
+          + NEXTstep, i?86-next-*
+          + OSF UNIX, i?86-*-osf1* and i?86-*-osfrose*
+          + RTEMS/coff, i?86-*-rtemscoff*
+          + RTEMS/go32, i?86-go32-rtems*
+          + Sequent/BSD, i?86-sequent-bsd*
+          + Sequent/ptx before version 3, i?86-sequent-ptx[12]* and
+            i?86-sequent-sysv3*
+          + SunOS, i?86-*-sunos*
+     * Motorola 68000:
+          + Altos, m68[k0]*-altos-*
+          + Apollo, m68[k0]*-apollo-*
+          + Apple A/UX, m68[k0]*-apple-*
+          + Bull, m68[k0]*-bull-*
+          + Convergent, m68[k0]*-convergent-*
+          + Generic SVR3, m68[k0]*-*-sysv3*
+          + ISI, m68[k0]*-isi-*
+          + LynxOS, m68[k0]*-*-lynxos*
+          + NEXT, m68[k0]*-next-*
+          + RTEMS/coff, m68[k0]*-*-rtemscoff*
+          + Sony, m68[k0]*-sony-*
+     * MIPS:
+          + DEC Ultrix, mips-*-ultrix* and mips-dec-*
+          + Generic BSD, mips-*-bsd*
+          + Generic System V, mips-*-sysv*
+          + IRIX before version 5, mips-sgi-irix[1234]*
+          + RiscOS, mips-*-riscos*
+          + Sony, mips-sony-*
+          + Tandem, mips-tandem-*
+     * SPARC:
+          + RTEMS/a.out, sparc-*-rtemsaout*.
+
+Documentation improvements
+
+     * The old manual ("Using and Porting the GNU Compiler Collection")
+       has been replaced by a users manual ("Using the GNU Compiler
+       Collection") and a separate internals reference manual ("GNU
+       Compiler Collection Internals").
+     * More complete and much improved documentation about GCC's internal
+       representation used by the C and C++ front ends.
+     * Many cleanups and improvements in general.
+
+   Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
+   are also [14]other ways to contact the FSF.
+
+   These pages are maintained by [15]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [16]GCC manuals. If that fails, the
+    [17]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [18]gcc@gnu.org or [19]gcc@gcc.gnu.org.
+    All of our lists have [20]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-05-03 [21]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/ml/gcc/2002-07/msg01208.html
+   2. http://gcc.gnu.org/news/profiledriven.html
+   3. http://gcc.gnu.org/benchmarks/
+   4. http://gcc.gnu.org/gcc-3.1/c99status.html
+   5. http://gcc.gnu.org/onlinedocs/libstdc++/faq.html
+   6. http://gcc.gnu.org/onlinedocs/gcc-3.1.1/g77/News.html
+   7. http://www.adacore.com/home/
+   8. http://www-cs-faculty.stanford.edu/~knuth/mmix.html
+   9. http://www.axis.com/
+  10. http://developer.axis.com/
+  11. http://www.superh.com/
+  12. http://www.x86-64.org/
+  13. mailto:gnu@gnu.org
+  14. http://www.gnu.org/home.html#ContactInfo
+  15. http://gcc.gnu.org/about.html
+  16. http://gcc.gnu.org/onlinedocs/
+  17. mailto:gcc-help@gcc.gnu.org
+  18. mailto:gcc@gnu.org
+  19. mailto:gcc@gcc.gnu.org
+  20. http://gcc.gnu.org/lists.html
+  21. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.0/gcc-3.0.html
+                                  GCC 3.0.4
+
+   February 20, 2002
+
+   The [1]GNU project and the GCC developers are pleased to announce the
+   release of GCC 3.0.4, which is a bug-fix release for the GCC 3.0
+   series.
+
+   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.
+
+   GCC 3.0.x has several new optimizations, new targets, new languages and
+   many other new features, relative to GCC 2.95.x. See the [2]new
+   features page for a more complete list.
+
+   A list of [3]successful builds is updated as new information becomes
+   available.
+
+   The GCC developers would like to thank the numerous people that have
+   contributed new features, test results, bug fixes, etc to GCC. This
+   [4]amazing group of volunteers is what makes GCC successful.
+
+   And finally, we can't in good conscience fail to mention some
+   [5]caveats to using GCC 3.0.x.
+
+   For additional information about GCC please refer to the [6]GCC project
+   web site or contact the [7]GCC development mailing list.
+
+   To obtain GCC please use [8]our mirror sites, or our CVS server.
+     __________________________________________________________________
+
+Previous 3.0.x Releases
+
+   December 20, 2001: GCC 3.0.3 has been released.
+   October 25, 2001: GCC 3.0.2 has been released.
+   August 20, 2001: GCC 3.0.1 has been released.
+   June 18, 2001: GCC 3.0 has been released.
+
+   Please send FSF & GNU inquiries & questions to [9]gnu@gnu.org. There
+   are also [10]other ways to contact the FSF.
+
+   These pages are maintained by [11]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [12]GCC manuals. If that fails, the
+    [13]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org.
+    All of our lists have [16]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [17]Valid XHTML 1.0
+
+References
+
+   1. http://www.gnu.org/
+   2. http://gcc.gnu.org/gcc-3.0/features.html
+   3. http://gcc.gnu.org/gcc-3.0/buildstat.html
+   4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   5. http://gcc.gnu.org/gcc-3.0/caveats.html
+   6. http://gcc.gnu.org/index.html
+   7. mailto:gcc@gcc.gnu.org
+   8. http://gcc.gnu.org/mirrors.html
+   9. mailto:gnu@gnu.org
+  10. http://www.gnu.org/home.html#ContactInfo
+  11. http://gcc.gnu.org/about.html
+  12. http://gcc.gnu.org/onlinedocs/
+  13. mailto:gcc-help@gcc.gnu.org
+  14. mailto:gcc@gnu.org
+  15. mailto:gcc@gcc.gnu.org
+  16. http://gcc.gnu.org/lists.html
+  17. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.0/features.html
+                            GCC 3.0 New Features
+
+Additional changes in GCC 3.0.4
+
+     * GCC 3.0 now supports newer versions of the [1]NetBSD operating
+       system, which use the ELF object file format, on x86 processors.
+     * Correct debugging information is generated from functions that have
+       lines from multiple files (e.g. yacc output).
+     * A fix for whitespace handling in the -traditional preprocessor,
+       which can affect Fortran.
+     * Fixes to the exception handling runtime.
+     * More fixes for bad code generation in C++.
+     * A fix for shared library generation under AIX 4.3.
+     * Documentation updates.
+     * Port of GCC to Tensilica's Xtensa processor contributed.
+     * A fix for compiling the PPC Linux kernel (FAT fs wouldn't link).
+
+Additional changes in GCC 3.0.3
+
+     * A fix to correct an accidental change to the PowerPC ABI.
+     * Fixes for bad code generation on a variety of architectures.
+     * Improvements to the debugging information generated for C++
+       classes.
+     * Fixes for bad code generation in C++.
+     * A fix to avoid crashes in the C++ demangler.
+     * A fix to the C++ standard library to avoid buffer overflows.
+     * Miscellaneous improvements for a variety of architectures.
+
+Additional changes in GCC 3.0.2
+
+     * Fixes for bad code generation during loop unrolling.
+     * Fixes for bad code generation by the sibling call optimization.
+     * Minor improvements to x86 code generation.
+     * Implementation of function descriptors in C++ vtables for IA64.
+     * Numerous minor bug-fixes.
+
+Additional changes in GCC 3.0.1
+
+     * C++ fixes for incorrect code-generation.
+     * Improved cross-compiling support for the C++ standard library.
+     * Fixes for some embedded targets that worked in GCC 2.95.3, but not
+       in GCC 3.0.
+     * Fixes for various exception-handling bugs.
+     * A port to the S/390 architecture.
+
+General Optimizer Improvements
+
+     * [2]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) [3]static single assignment (SSA) representation
+       support.
+     * New dead-code elimination pass implemented using the SSA
+       representation.
+     * [4]Global null pointer test elimination.
+     * [5]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.
+     * Here is a [6]partial list of C++ improvements, both new features
+       and those no longer supported.
+     * 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 [7]C++ support library and many C++ bug fixes, vastly improving
+       our conformance to the ISO C++ standard.
+     * New [8]inliner for C++.
+     * Rewritten C preprocessor, integrated into the C, C++ and Objective
+       C compilers, with very many improvements including ISO C99 support
+       and [9]improvements to dependency generation.
+     * Support for more [10]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 [11]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 our
+       bug tracking system. (Bug reports previously submitted directly to
+       our mailing lists, for which you received no bug tracking number,
+       should be submitted again using gccbug if you can reproduce the
+       problem with GCC 3.0.)
+     * The internal libgcc library is [12]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 bug fixes and almost all the [13]features found in
+   GCC 2.95.
+
+   Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There
+   are also [15]other ways to contact the FSF.
+
+   These pages are maintained by [16]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [17]GCC manuals. If that fails, the
+    [18]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [19]gcc@gnu.org or [20]gcc@gcc.gnu.org.
+    All of our lists have [21]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [22]Valid XHTML 1.0
+
+References
+
+   1. http://www.netbsd.org/
+   2. http://gcc.gnu.org/news/reorder.html
+   3. http://gcc.gnu.org/news/ssa.html
+   4. http://gcc.gnu.org/news/null.html
+   5. http://gcc.gnu.org/news/unify.html
+   6. http://gcc.gnu.org/gcc-3.0/c++features.html
+   7. http://gcc.gnu.org/libstdc++/
+   8. http://gcc.gnu.org/news/inlining.html
+   9. http://gcc.gnu.org/news/dependencies.html
+  10. http://gcc.gnu.org/gcc-3.0/c99status.html
+  11. http://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html
+  12. http://gcc.gnu.org/gcc-3.0/libgcc.html
+  13. http://gcc.gnu.org/gcc-2.95/features.html
+  14. mailto:gnu@gnu.org
+  15. http://www.gnu.org/home.html#ContactInfo
+  16. http://gcc.gnu.org/about.html
+  17. http://gcc.gnu.org/onlinedocs/
+  18. mailto:gcc-help@gcc.gnu.org
+  19. mailto:gcc@gnu.org
+  20. mailto:gcc@gcc.gnu.org
+  21. http://gcc.gnu.org/lists.html
+  22. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.0/caveats.html
+                               GCC 3.0 Caveats
+
+     * -fstrict-aliasing is now part of -O2 and higher optimization
+       levels. This allows the compiler to assume the strictest aliasing
+       rules applicable to the language being compiled. For C and C++,
+       this activates optimizations based on the type of expressions. This
+       optimization may thus break old, non-compliant code.
+     * 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.
+     * The new C++ ABI is not yet fully supported by current (as of
+       2001-07-01) releases and development versions of GDB, or any
+       earlier versions. There is a problem setting breakpoints by line
+       number, and other related issues that have been fixed in GCC 3.0
+       but not yet handled in GDB:
+       [1]http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
+
+   Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There
+   are also [3]other ways to contact the FSF.
+
+   These pages are maintained by [4]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [5]GCC manuals. If that fails, the
+    [6]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org.
+    All of our lists have [9]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-05-07 [10]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
+   2. mailto:gnu@gnu.org
+   3. http://www.gnu.org/home.html#ContactInfo
+   4. http://gcc.gnu.org/about.html
+   5. http://gcc.gnu.org/onlinedocs/
+   6. mailto:gcc-help@gcc.gnu.org
+   7. mailto:gcc@gnu.org
+   8. mailto:gcc@gcc.gnu.org
+   9. http://gcc.gnu.org/lists.html
+  10. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-2.95/index.html
+                                  GCC 2.95
+
+   March 16, 2001: The GNU project and the GCC developers are pleased to
+   announce the release of GCC version 2.95.3.
+
+Release History
+
+   GCC 2.95.3
+          March 16, 2001
+
+   GCC 2.95.2
+          October 27, 1999
+
+   GCC 2.95.1
+          August 19, 1999
+
+   GCC 2.95
+          July 31, 1999. 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.
+
+References and Acknowledgements
+
+   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.
+
+   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.
+
+   Download GCC 2.95 from one of our many [8]mirror sites.
+
+   For additional information about GCC please see the [9]GCC project web
+   server or contact the [10]GCC development mailing list.
+
+   Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
+   are also [12]other ways to contact the FSF.
+
+   These pages are maintained by [13]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [14]GCC manuals. If that fails, the
+    [15]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org.
+    All of our lists have [18]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [19]Valid XHTML 1.0
+
+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/
+   5. http://gcc.gnu.org/gcc-2.95/buildstat.html
+   6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   7. http://gcc.gnu.org/gcc-2.95/caveats.html
+   8. http://gcc.gnu.org/mirrors.html
+   9. http://gcc.gnu.org/index.html
+  10. mailto:gcc@gcc.gnu.org
+  11. mailto:gnu@gnu.org
+  12. http://www.gnu.org/home.html#ContactInfo
+  13. http://gcc.gnu.org/about.html
+  14. http://gcc.gnu.org/onlinedocs/
+  15. mailto:gcc-help@gcc.gnu.org
+  16. mailto:gcc@gnu.org
+  17. mailto:gcc@gcc.gnu.org
+  18. http://gcc.gnu.org/lists.html
+  19. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-2.95/features.html
+                            GCC 2.95 New Features
+
+     * General Optimizer Improvements:
+          + [1]Localized register spilling to improve speed and code
+            density especially on small register class machines.
+          + [2]Global CSE using lazy code motion algorithms.
+          + [3]Improved global constant/copy propagation.
+          + [4]Improved control flow graph analysis and manipulation.
+          + [5]Local dead store elimination.
+          + [6]Memory Load hoisting/store sinking in loops.
+          + [7]Type based alias analysis is enabled by default. Note this
+            feature will expose bugs in the Linux kernel. Please refer to
+            the FAQ (as shipped with GCC 2.95) for additional information
+            on this issue.
+          + Major revamp of GIV detection, combination and simplification
+            to improve loop performance.
+          + Major improvements to register allocation and reloading.
+     * New Languages and Language specific improvements
+          + [8]Many C++ improvements.
+          + [9]Many Fortran improvements.
+          + [10]Java front-end has been integrated. [11]runtime library is
+            available separately.
+          + [12]ISO C99 support
+          + [13]Chill front-end and runtime has been integrated.
+          + Boehm garbage collector support in libobjc.
+          + More support for various pragmas which appear in vendor
+            include files
+     * New Targets and Target Specific Improvements
+          + [14]SPARC backend rewrite.
+          + -mschedule=8000 will optimize code for PA8000 class
+            processors; -mpa-risc-2-0 will generate code for PA2.0
+            processors
+          + Various micro-optimizations for the ia32 port. K6
+            optimizations
+          + Compiler will attempt to align doubles in the stack on the
+            ia32 port
+          + Alpha EV6 support
+          + PowerPC 750
+          + RS6000/PowerPC: -mcpu=401 was added as an alias for -mcpu=403.
+            -mcpu=e603e was added to do -mcpu=603e and -msoft-float.
+          + c3x, c4x
+          + HyperSPARC
+          + SparcLite86x
+          + sh4
+          + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
+            arm-linux)
+          + vxWorks targets include support for vxWorks threads
+          + StrongARM 110 and ARM9 support added. ARM Scheduling
+            parameters rewritten.
+          + Various changes to the MIPS port to avoid assembler macros,
+            which in turn improves performance
+          + Various performance improvements to the i960 port.
+          + Major rewrite of ns32k port
+     * Other significant improvements
+          + [15]Ability to dump cfg information and display it using vcg.
+          + The new faster scheme for fixing vendor header files is
+            enabled by default.
+          + Experimental internationalization support.
+          + multibyte character support
+          + Some compile-time speedups for pathological problems
+          + Better support for complex types
+     * Plus the usual mountain of bugfixes
+     * Core compiler is based on the gcc2 development tree from Sept 30,
+       1998, so we have all of the [16]features found in GCC 2.8.
+
+Additional Changes in GCC 2.95.1
+
+     * 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 caused 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.
+
+Additional Changes in GCC 2.95.2
+
+   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 chosen 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.
+
+Additional Changes in GCC 2.95.3
+
+     * Generic bugfixes and improvements
+          + Fix numerous problems that caused incorrect optimization in
+            the register reloading code.
+          + Fix numerous problems that caused incorrect optimization in
+            the loop optimizer.
+          + Fix aborts in the functions build_insn_chain and scan_loops
+            under some circumstances.
+          + Fix an alias analysis bug.
+          + Fix an infinite compilation bug in the combiner.
+          + A few problems with complex number support have been fixed.
+          + It is no longer possible for gcc to act as a fork bomb when
+            installed incorrectly.
+          + The -fpack-struct option should be recognized now.
+          + Fixed a bug that caused incorrect code to be generated due to
+            a lost stack adjustment.
+     * Platform specific bugfixes and improvements
+          + Support building ARM toolchains hosted on Windows.
+          + Fix attribute calculations in ARM toolchains.
+          + arm-linux support has been improved.
+          + Fix a PIC failure on sparc targets.
+          + On ix86 targets, the regparm attribute should now work
+            reliably.
+          + Several updates for the h8300 port.
+          + Fix problem building libio with glibc 2.2.
+
+   Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There
+   are also [18]other ways to contact the FSF.
+
+   These pages are maintained by [19]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [20]GCC manuals. If that fails, the
+    [21]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org.
+    All of our lists have [24]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-06-15 [25]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/news/spill.html
+   2. http://gcc.gnu.org/news/lcm.html
+   3. http://gcc.gnu.org/news/cprop.html
+   4. http://gcc.gnu.org/news/cfg.html
+   5. http://gcc.gnu.org/news/dse.html
+   6. http://gcc.gnu.org/news/hoist.html
+   7. http://gcc.gnu.org/news/alias.html
+   8. http://gcc.gnu.org/gcc-2.95/c++features.html
+   9. http://gcc.gnu.org/onlinedocs/gcc-3.4.6/g77/News.html
+  10. http://gcc.gnu.org/java/gcj-announce.txt
+  11. http://gcc.gnu.org/news/javaannounce.html
+  12. http://gcc.gnu.org/c99status.html
+  13. http://gcc.gnu.org/news/chill.html
+  14. http://gcc.gnu.org/news/sparc.html
+  15. http://gcc.gnu.org/news/egcs-vcg.html
+  16. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+  17. mailto:gnu@gnu.org
+  18. http://www.gnu.org/home.html#ContactInfo
+  19. http://gcc.gnu.org/about.html
+  20. http://gcc.gnu.org/onlinedocs/
+  21. mailto:gcc-help@gcc.gnu.org
+  22. mailto:gcc@gnu.org
+  23. mailto:gcc@gcc.gnu.org
+  24. http://gcc.gnu.org/lists.html
+  25. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-2.95/caveats.html
+                              GCC 2.95 Caveats
+
+     * GCC 2.95 will issue an error for invalid asm statements that had
+       been silently accepted by earlier versions of the compiler. This is
+       particularly noticeable when compiling older versions of the Linux
+       kernel (2.0.xx). Please refer to the FAQ (as shipped with GCC 2.95)
+       for more information on this issue.
+     * GCC 2.95 implements type based alias analysis to disambiguate
+       memory references. Some programs, particularly the Linux kernel
+       violate ANSI/ISO aliasing rules and therefore may not operate
+       correctly when compiled with GCC 2.95. Please refer to the FAQ (as
+       shipped with GCC 2.95) for more information on this issue.
+     * GCC 2.95 has a known bug in its handling of complex variables for
+       64bit targets. Instead of silently generating incorrect code, GCC
+       2.95 will issue a fatal error for situations it can not handle.
+       This primarily affects the Fortran community as Fortran makes more
+       use of complex variables than C or C++.
+     * GCC 2.95 has an integrated libstdc++, but does not have an
+       integrated libg++. Furthermore old libg++ releases will not work
+       with GCC 2.95. You can retrieve a recent copy of libg++ from the
+       [1]GCC ftp server.
+       Note most C++ programs only need libstdc++.
+     * Exception handling may not work with shared libraries, particularly
+       on alphas, hppas, rs6000/powerpc and mips based platforms.
+       Exception handling is known to work on x86 GNU/Linux platforms with
+       shared libraries.
+     * In general, GCC 2.95 is more rigorous about rejecting invalid C++
+       code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
+       or EGCS 1.1. As a result it may be necessary to fix C++ code before
+       it will compile with GCC 2.95.
+     * G++ is also converting toward the ISO C++ standard; as a result
+       code which was previously valid (and thus accepted by other
+       compilers and older versions of g++) may no longer be accepted. The
+       flag -fpermissive may allow some non-conforming code to compile
+       with GCC 2.95.
+     * GCC 2.95 compiled C++ code is not binary compatible with EGCS
+       1.1.x, EGCS 1.0.x or GCC 2.8.x.
+     * GCC 2.95 does not have changes from the GCC 2.8 tree that were made
+       between Sept 30, 1998 and April 30, 1999 (the official end of the
+       GCC 2.8 project). Future GCC releases will include all the changes
+       from the defunct GCC 2.8 sources.
+
+   Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There
+   are also [3]other ways to contact the FSF.
+
+   These pages are maintained by [4]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [5]GCC manuals. If that fails, the
+    [6]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org.
+    All of our lists have [9]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [10]Valid XHTML 1.0
+
+References
+
+   1. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
+   2. mailto:gnu@gnu.org
+   3. http://www.gnu.org/home.html#ContactInfo
+   4. http://gcc.gnu.org/about.html
+   5. http://gcc.gnu.org/onlinedocs/
+   6. mailto:gcc-help@gcc.gnu.org
+   7. mailto:gcc@gnu.org
+   8. mailto:gcc@gcc.gnu.org
+   9. http://gcc.gnu.org/lists.html
+  10. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.1/index.html
+                                  EGCS 1.1
+
+   September 3, 1998: We are pleased to announce the release of EGCS 1.1.
+   December 1, 1998: We are pleased to announce the release of EGCS 1.1.1.
+   March 15, 1999: We are pleased to announce the release of EGCS 1.1.2.
+
+   EGCS is a free software project to further the development of the GNU
+   compilers using an open development environment.
+
+   EGCS 1.1 is a major new release of the EGCS compiler system. It has
+   been [1]extensively tested and is believed to be stable and suitable
+   for widespread use.
+
+   EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
+   development sources; it contains all of the new features found in GCC
+   2.8.1 as well as all new development from GCC up to June 6, 1998.
+
+   EGCS 1.1 also contains many improvements and features not found in GCC
+   or in older versions of EGCS:
+     * Global common subexpression elimination and global constant/copy
+       propagation (aka [2]gcse)
+     * Ongoing improvements to the [3]alias analysis support to allow for
+       better optimizations throughout the compiler.
+     * Vastly improved [4]C++ compiler and integrated C++ runtime
+       libraries.
+     * Fixes for the /tmp symlink race security problems.
+     * New targets including mips16, arm-thumb and 64 bit PowerPC.
+     * Improvements to GNU Fortran (g77) compiler and runtime library made
+       since g77 version 0.5.23.
+
+   See the [5]new features page for a more complete list of new features
+   found in EGCS 1.1 releases.
+
+   EGCS 1.1.1 is a minor update to fix several serious problems in EGCS
+   1.1:
+     * General improvements and fixes
+          + Avoid some stack overflows when compiling large functions.
+          + Avoid incorrect loop invariant code motions.
+          + Fix some core dumps on Linux kernel code.
+          + Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
+          + Fix code generation problem in gcse.
+          + Various documentation related fixes.
+     * g++/libstdc++ improvements and fixes
+          + MT safe EH fix for setjmp/longjmp based exception handling.
+          + Fix a few bad interactions between optimization and exception
+            handling.
+          + Fixes for demangling of template names starting with "__".
+          + Fix a bug that would fail to run destructors in some cases
+            with -O2.
+          + Fix 'new' of classes with virtual bases.
+          + Fix crash building Qt on the Alpha.
+          + Fix failure compiling WIFEXITED macro on GNU/Linux.
+          + Fix some -frepo failures.
+     * g77 and libf2c improvements and fixes
+          + Various documentation fixes.
+          + Avoid compiler crash on RAND intrinsic.
+          + Fix minor bugs in makefiles exposed by BSD make programs.
+          + Define _XOPEN_SOURCE for libI77 build to avoid potential
+            problems on some 64-bit systems.
+          + Fix problem with implicit endfile on rewind.
+          + Fix spurious recursive I/O errors.
+     * platform specific improvements and fixes
+          + Match all versions of UnixWare7.
+          + Do not assume x86 SVR4 or UnixWare targets can handle stabs.
+          + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
+            from unsigned ints to double precision floats.
+          + Fix ARM ABI issue with NetBSD.
+          + Fix a few arm code generation bugs.
+          + Fixincludes will fix additional broken SCO OpenServer header
+            files.
+          + Fix a m68k backend bug which caused invalid offsets in reg+d
+            addresses.
+          + Fix problems with 64bit AIX 4.3 support.
+          + Fix handling of long longs for varargs/stdarg functions on the
+            ppc.
+          + Minor fixes to CPP predefines for Windows.
+          + Fix code generation problems with gpr<->fpr copies for 64bit
+            ppc.
+          + Fix a few coldfire code generation bugs.
+          + Fix some more header file problems on SunOS 4.x.
+          + Fix assert.h handling for RTEMS.
+          + Fix Windows handling of TREE_SYMBOL_REFERENCED.
+          + Fix x86 compiler abort in reg-stack pass.
+          + Fix cygwin/windows problem with section attributes.
+          + Fix Alpha code generation problem exposed by SMP Linux
+            kernels.
+          + Fix typo in m68k 32->64bit integer conversion.
+          + Make sure target libraries build with -fPIC for PPC & Alpha
+            targets.
+
+   EGCS 1.1.2 is a minor update to fix several serious problems in EGCS
+   1.1.1:
+     * General improvements and fixes
+          + Fix bug in loop optimizer which caused the SPARC (and
+            potentially other) ports to segfault.
+          + Fix infinite recursion in alias analysis and combiner code.
+          + Fix bug in regclass preferencing.
+          + Fix incorrect loop reversal which caused incorrect code to be
+            generated for several targets.
+          + Fix return value for builtin memcpy.
+          + Reduce compile time for certain loops which exposed quadratic
+            behavior in the loop optimizer.
+          + Fix bug which caused volatile memory to be written multiple
+            times when only one write was needed/desired.
+          + Fix compiler abort in caller-save.c
+          + Fix combiner bug which caused incorrect code generation for
+            certain division by constant operations.
+          + Fix incorrect code generation due to a bug in range check
+            optimizations.
+          + Fix incorrect code generation due to mis-handling of clobbered
+            values in CSE.
+          + Fix compiler abort/segfault due to incorrect register
+            splitting when unrolling loops.
+          + Fix code generation involving autoincremented addresses with
+            ternary operators.
+          + Work around bug in the scheduler which caused qt to be
+            mis-compiled on some platforms.
+          + Fix code generation problems with -fshort-enums.
+          + Tighten security for temporary files.
+          + Improve compile time for codes which make heavy use of
+            overloaded functions.
+          + Fix multiply defined constructor/destructor symbol problems.
+          + Avoid setting bogus RPATH environment variable during
+            bootstrap.
+          + Avoid GNU-make dependencies in the texinfo subdir.
+          + Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
+            --enable-cpp=<dirname> can be used to specify an additional
+            install directory for the cpp wrapper script.
+          + Fix CSE bug which caused incorrect label-label refs to appear
+            on some platforms.
+          + Avoid linking in EH routines from libgcc if they are not
+            needed.
+          + Avoid obscure bug in aliasing code.
+          + Fix bug in weak symbol handling.
+     * Platform-specific improvements and fixes
+          + Fix detection of PPro/PII on Unixware 7.
+          + Fix compiler segfault when building spec99 and other programs
+            for SPARC targets.
+          + Fix code-generation bugs for integer and floating point
+            conditional move instructions on the PPro/PII.
+          + Use fixincludes to fix byteorder problems on i?86-*-sysv.
+          + Fix build failure for the arc port.
+          + Fix floating point format configuration for i?86-gnu port.
+          + Fix problems with hppa1.0-hp-hpux10.20 configuration when
+            threads are enabled.
+          + Fix coldfire code generation bugs.
+          + Fix "unrecognized insn" problems for Alpha and PPC ports.
+          + Fix h8/300 code generation problem with floating point values
+            in memory.
+          + Fix unrecognized insn problems for the m68k port.
+          + Fix namespace-pollution problem for the x86 port.
+          + Fix problems with old assembler on x86 NeXT systems.
+          + Fix PIC code-generation problems for the SPARC port.
+          + Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
+          + Fix minor ISO namespace violation in Alpha varargs/stdarg
+            support.
+          + Fix incorrect "braf" instruction usage for the SH port.
+          + Fix minor bug in va-sh which prevented its use with -ansi.
+          + Fix problems recognizing and supporting FreeBSD.
+          + Handle OpenBSD systems correctly.
+          + Minor fixincludes fix for Digital UNIX 4.0B.
+          + Fix problems with ctors/dtors in SCO shared libraries.
+          + Abort instead of generating incorrect code for PPro/PII
+            floating point conditional moves.
+          + Avoid multiply defined symbols on Linux/GNU systems using
+            libc-5.4.xx.
+          + Fix abort in alpha compiler.
+     * Fortran-specific fixes
+          + Fix the IDate intrinsic (VXT) (in libg2c) so the returned year
+            is in the documented, non-Y2K-compliant range of 0-99, instead
+            of being returned as 100 in the year 2000.
+          + Fix the `Date_and_Time' intrinsic (in libg2c) to return the
+            milliseconds value properly in Values(8).
+          + Fix the `LStat' intrinsic (in libg2c) to return device-ID
+            information properly in SArray(7).
+
+   Each release includes installation instructions in both HTML and
+   plaintext forms (see the INSTALL directory in the toplevel directory of
+   the distribution). However, we also keep the most up to date
+   [6]installation instructions and [7]build/test status on our web page.
+   We will update those pages as new information becomes available.
+
+   The EGCS project would like to thank the numerous people that have
+   contributed new features, test results, bugfixes, etc. This [8]amazing
+   group of volunteers is what makes EGCS successful.
+
+   And finally, we can't in good conscience fail to mention some
+   [9]caveats to using EGCS 1.1.
+
+   Download EGCS from egcs.cygnus.com (USA California).
+
+   The EGCS 1.1 release is also available on many mirror sites.
+   [10]Goto mirror list to find a closer site.
+
+   Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
+   are also [12]other ways to contact the FSF.
+
+   These pages are maintained by [13]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [14]GCC manuals. If that fails, the
+    [15]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org.
+    All of our lists have [18]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [19]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
+   2. http://gcc.gnu.org/news/gcse.html
+   3. http://gcc.gnu.org/news/alias.html
+   4. http://gcc.gnu.org/egcs-1.1/c++features.html
+   5. http://gcc.gnu.org/egcs-1.1/features.html
+   6. http://gcc.gnu.org/install/
+   7. http://gcc.gnu.org/egcs-1.1/buildstat.html
+   8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+   9. http://gcc.gnu.org/egcs-1.1/caveats.html
+  10. http://gcc.gnu.org/mirrors.html
+  11. mailto:gnu@gnu.org
+  12. http://www.gnu.org/home.html#ContactInfo
+  13. http://gcc.gnu.org/about.html
+  14. http://gcc.gnu.org/onlinedocs/
+  15. mailto:gcc-help@gcc.gnu.org
+  16. mailto:gcc@gnu.org
+  17. mailto:gcc@gcc.gnu.org
+  18. http://gcc.gnu.org/lists.html
+  19. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.1/features.html
+                            EGCS 1.1 new features
+
+     * Integrated GNU Fortran (g77) compiler and runtime library with
+       improvements, based on g77 version 0.5.23.
+     * Vast improvements in the C++ compiler; so many they have [1]page of
+       their own!
+     * Compiler implements [2]global common subexpression elimination and
+       global copy/constant propagation.
+     * More major improvements in the [3]alias analysis code.
+     * More major improvements in the exception handling code to improve
+       performance, lower static overhead and provide the infrastructure
+       for future improvements.
+     * The infamous /tmp symlink race security problems have been fixed.
+     * The regmove optimization pass has been nearly completely rewritten
+       to improve performance of generated code.
+     * The compiler now recomputes register usage information before local
+       register allocation. By providing more accurate information to the
+       priority based allocator, we get better register allocation.
+     * The register reloading phase of the compiler optimizes spill code
+       much better than in previous releases.
+     * Some bad interactions between the register allocator and
+       instruction scheduler have been fixed, resulting in much better
+       code for certain programs. Additionally, we have tuned the
+       scheduler in various ways to improve performance of generated code
+       for some architectures.
+     * The compiler's branch shortening algorithms have been significantly
+       improved to work better on targets which align jump targets.
+     * The compiler now supports -Os to prefer optimizing for code space
+       over optimizing for code speed.
+     * The compiler will now totally eliminate library calls which compute
+       constant values. This primarily helps targets with no integer
+       div/mul support and targets without floating point support.
+     * The compiler now supports an extensive "--help" option.
+     * cpplib has been greatly improved and may be suitable for limited
+       use.
+     * Memory footprint for the compiler has been significantly reduced
+       for some pathological cases.
+     * The time to build EGCS has been improved for certain targets
+       (particularly the alpha and mips platforms).
+     * Many infrastructure improvements throughout the compiler, plus the
+       usual mountain of bugfixes and minor improvements.
+     * Target dependent improvements:
+          + SPARC port now includes V8 plus and V9 support as well as
+            performance tuning for Ultra class machines. The SPARC port
+            now uses the Haifa scheduler.
+          + Alpha port has been tuned for the EV6 processor and has an
+            optimized expansion of memcpy/bzero. The Alpha port now uses
+            the Haifa scheduler.
+          + RS6000/PowerPC: support for the Power64 architecture and AIX
+            4.3. The RS6000/PowerPC port now uses the Haifa scheduler.
+          + x86: Alignment of static store data and jump targets is per
+            Intel recommendations now. Various improvements throughout the
+            x86 port to improve performance on Pentium processors
+            (including improved epilogue sequences for Pentium chips and
+            backend improvements which should help register allocation on
+            all x86 variants. Conditional move support has been fixed and
+            enabled for PPro processors. The x86 port also better supports
+            64bit operations now. Unixware 7, a System V Release 5 target,
+            is now supported and SCO OpenServer targets can support GAS.
+          + MIPS has improved multiply/multiply-add support and now
+            includes mips16 ISA support.
+          + M68k has many micro-optimizations and Coldfire fixes.
+     * Core compiler is based on the GCC development tree from June 9,
+       1998, so we have all of the [4]features found in GCC 2.8.
+
+   Please send FSF & GNU inquiries & questions to [5]gnu@gnu.org. There
+   are also [6]other ways to contact the FSF.
+
+   These pages are maintained by [7]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [8]GCC manuals. If that fails, the
+    [9]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [10]gcc@gnu.org or [11]gcc@gcc.gnu.org.
+    All of our lists have [12]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2008-07-26 [13]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/egcs-1.1/c++features.html
+   2. http://gcc.gnu.org/news/gcse.html
+   3. http://gcc.gnu.org/news/alias.html
+   4. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+   5. mailto:gnu@gnu.org
+   6. http://www.gnu.org/home.html#ContactInfo
+   7. http://gcc.gnu.org/about.html
+   8. http://gcc.gnu.org/onlinedocs/
+   9. mailto:gcc-help@gcc.gnu.org
+  10. mailto:gcc@gnu.org
+  11. mailto:gcc@gcc.gnu.org
+  12. http://gcc.gnu.org/lists.html
+  13. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.1/caveats.html
+                              EGCS 1.1 Caveats
+
+     * EGCS has an integrated libstdc++, but does not have an integrated
+       libg++. Furthermore old libg++ releases will not work with EGCS; HJ
+       Lu has made a libg++-2.8.1.2 snapshot available which may work with
+       EGCS.
+       Note most C++ programs only need libstdc++.
+     * Exception handling may not work with shared libraries, particularly
+       on alphas, hppas, rs6000/powerpc and mips based platforms.
+       Exception handling is known to work on x86-linux platforms with
+       shared libraries.
+     * Some versions of the Linux kernel have bugs which prevent them from
+       being compiled or from running when compiled by EGCS. See the FAQ
+       (as shipped with EGCS 1.1) for additional information.
+     * In general, EGCS is more rigorous about rejecting invalid C++ code
+       or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
+       a result it may be necessary to fix C++ code before it will compile
+       with EGCS.
+     * G++ is also converting toward the ISO C++ standard; as a result
+       code which was previously valid (and thus accepted by other
+       compilers and older versions of g++) may no longer be accepted.
+     * EGCS 1.1 compiled C++ code is not binary compatible with EGCS 1.0.x
+       or GCC 2.8.x due to changes necessary to support thread safe
+       exception handling.
+
+   Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
+   are also [2]other ways to contact the FSF.
+
+   These pages are maintained by [3]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [4]GCC manuals. If that fails, the
+    [5]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org.
+    All of our lists have [8]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [9]Valid XHTML 1.0
+
+References
+
+   1. mailto:gnu@gnu.org
+   2. http://www.gnu.org/home.html#ContactInfo
+   3. http://gcc.gnu.org/about.html
+   4. http://gcc.gnu.org/onlinedocs/
+   5. mailto:gcc-help@gcc.gnu.org
+   6. mailto:gcc@gnu.org
+   7. mailto:gcc@gcc.gnu.org
+   8. http://gcc.gnu.org/lists.html
+   9. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/index.html
+                                  EGCS 1.0
+
+   December 3, 1997: We are pleased to announce the release of EGCS 1.0.
+   January 6, 1998: We are pleased to announce the release of EGCS 1.0.1.
+   March 16, 1998: We are pleased to announce the release of EGCS 1.0.2.
+   May 15, 1998 We are pleased to announce the release of EGCS 1.0.3.
+
+   EGCS is a collaborative effort involving several groups of hackers
+   using an open development model to accelerate development and testing
+   of GNU compilers and runtime libraries.
+
+   An important goal of EGCS is to allow wide scale testing of
+   experimental features and optimizations; therefore, EGCS contains some
+   features and optimizations which are still under development. However,
+   EGCS has been carefully tested and should be comparable in quality to
+   most GCC releases.
+
+   EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8
+   development sources; it contains nearly all of the new features found
+   in GCC 2.8.
+
+   EGCS 1.0 also contains many improvements and features not found in GCC
+   2.7 and even the GCC 2.8 series (which was released after the original
+   EGCS 1.0 release).
+     * Integrated C++ runtime libraries, including support for most major
+       GNU/Linux systems!
+     * The integrated libstdc++ library includes a verbatim copy of SGI's
+       STL release.
+     * Integrated GNU Fortran compiler.
+     * New instruction scheduler.
+     * New alias analysis code.
+
+   See the [1]new features page for a more complete list of new features.
+
+   EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few
+   critical bugs and add support for Red Hat 5.0 Linux. Changes since the
+   EGCS 1.0 release:
+     * Add support for Red Hat 5.0 Linux and better support for Linux
+       systems using glibc2.
+       Many programs failed to link when compiled with EGCS 1.0 on Red Hat
+       5.0 or on systems with newer versions of glibc2. EGCS 1.0.1 should
+       fix these problems.
+     * Compatibility with both EGCS 1.0 and GCC 2.8 libgcc exception
+       handling interfaces.
+       To avoid future compatibility problems, we strongly urge anyone who
+       is planning on distributing shared libraries that contain C++ code
+       to upgrade to EGCS 1.0.1 first.
+       Soon after EGCS 1.0 was released, the GCC developers made some
+       incompatible changes in libgcc's exception handling interfaces.
+       These changes were needed to solve problems on some platforms. This
+       means that GCC 2.8.0, when released, will not be seamlessly
+       compatible with shared libraries built by EGCS 1.0. The reason is
+       that the libgcc.a in GCC 2.8.0 will not contain a function needed
+       by the old interface.
+       The result of this is that there may be compatibility problems with
+       shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
+       With EGCS 1.0.1, generated code uses the new (GCC 2.8.0) interface,
+       and libgcc.a has the support routines for both the old and the new
+       interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be freely mixed,
+       and EGCS 1.0.1 and GCC 2.8.0 code can be freely mixed).
+       The maintainers of GCC 2.x have decided against including seamless
+       support for the old interface in 2.8.0, since it was never
+       "official", so to avoid future compatibility problems we recommend
+       against distributing any shared libraries built by EGCS 1.0 that
+       contain C++ code (upgrade to 1.0.1 and use that).
+     * Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
+       The x86 changes fix code generation errors exposed when building
+       glibc2 and the Linux dynamic linker (ld.so).
+       The hppa change fixes a compiler abort when configured for use with
+       RTEMS.
+       The MIPS changes fix problems with the definition of LONG_MAX on
+       newer systems, allow for command line selection of the target ABI,
+       and fix one code generation problem.
+       The rs6000/ppc change fixes some problems with passing structures
+       to varargs/stdarg functions.
+     * A few machine independent bugfixes, mostly to fix code generation
+       errors when building Linux kernels or glibc.
+     * Fix a few critical exception handling and template bugs in the C++
+       compiler.
+     * Fix Fortran namelist bug on alphas.
+     * Fix build problems on x86-solaris systems.
+
+   EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several
+   serious problems in EGCS 1.0.1.
+     * General improvements and fixes
+          + Memory consumption significantly reduced, especially for
+            templates and inline functions.
+          + Fix various problems with glibc2.1.
+          + Fix loop optimization bug exposed by rs6000/ppc port.
+          + Fix to avoid potential code generation problems in jump.c.
+          + Fix some undefined symbol problems in dwarf1 debug support.
+     * g++/libstdc++ improvements and fixes
+          + libstdc++ in the EGCS release has been updated and should be
+            link compatible with libstdc++-2.8.
+          + Various fixes in libio/libstdc++ to work better on Linux
+            systems.
+          + Fix problems with duplicate symbols on systems that do not
+            support weak symbols.
+          + Memory corruption bug and undefined symbols in bastring have
+            been fixed.
+          + Various exception handling fixes.
+          + Fix compiler abort for very long thunk names.
+     * g77 improvements and fixes
+          + Fix compiler crash for omitted bound in Fortran CASE
+            statement.
+          + Add missing entries to g77 lang-options.
+          + Fix problem with -fpedantic in the g77 compiler.
+          + Fix "backspace" problem with g77 on alphas.
+          + Fix x86 backend problem with Fortran literals and -fpic.
+          + Fix some of the problems with negative subscripts for g77 on
+            alphas.
+          + Fixes for Fortran builds on cygwin32/mingw32.
+     * platform specific improvements and fixes
+          + Fix long double problems on x86 (exposed by glibc).
+          + x86 ports define i386 again to keep imake happy.
+          + Fix exception handling support on NetBSD ports.
+          + Several changes to collect2 to fix many problems with AIX.
+          + Define __ELF__ for rs6000/linux.
+          + Fix -mcall-linux problem on rs6000/linux.
+          + Fix stdarg/vararg problem for rs6000/linux.
+          + Allow autoconf to select a proper install problem on AIX 3.1.
+          + m68k port support includes -mcpu32 option as well as cpu32
+            multilibs.
+          + Fix stdarg bug for irix6.
+          + Allow EGCS to build on irix5 without the gnu assembler.
+          + Fix problem with static linking on sco5.
+          + Fix bootstrap on sco5 with native compiler.
+          + Fix for abort building newlib on H8 target.
+          + Fix fixincludes handling of math.h on SunOS.
+          + Minor fix for Motorola 3300 m68k systems.
+
+   EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few
+   problems reported by Red Hat for builds of Red Hat 5.1.
+     * Generic bugfixes:
+          + Fix a typo in the libio library which resulted in incorrect
+            behavior of istream::get.
+          + Fix the Fortran negative array index problem.
+          + Fix a major problem with the ObjC runtime thread support
+            exposed by glibc2.
+          + Reduce memory consumption of the Haifa scheduler.
+     * Target specific bugfixes:
+          + Fix one x86 floating point code generation bug exposed by
+            glibc2 builds.
+          + Fix one x86 internal compiler error exposed by glibc2 builds.
+          + Fix profiling bugs on the Alpha.
+          + Fix ImageMagick & emacs 20.2 build problems on the Alpha.
+          + Fix rs6000/ppc bug when converting values from integer types
+            to floating point types.
+
+   The EGCS 1.0 releases include installation instructions in both HTML
+   and plaintext forms (see the INSTALL directory in the toplevel
+   directory of the distribution). However, we also keep the most up to
+   date [2]installation instructions and [3]build/test status on our web
+   page. We will update those pages as new information becomes available.
+
+   And, we can't in good conscience fail to mention some [4]caveats to
+   using EGCS.
+
+   Update: Big thanks to Stanford for providing a high speed link for
+   downloading EGCS (go.cygnus.com)!
+
+   Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
+   (USA California -- High speed link provided by Stanford).
+
+   The EGCS 1.0 release is also available many mirror sites.
+   [5]Goto mirror list to find a closer site
+
+   We'd like to thank the numerous people that have contributed new
+   features, test results, bugfixes, etc. Unfortunately, they're far too
+   numerous to mention by name.
+
+   Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
+   are also [7]other ways to contact the FSF.
+
+   These pages are maintained by [8]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [9]GCC manuals. If that fails, the
+    [10]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [11]gcc@gnu.org or [12]gcc@gcc.gnu.org.
+    All of our lists have [13]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [14]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/egcs-1.0/features.html
+   2. http://gcc.gnu.org/install/
+   3. http://gcc.gnu.org/egcs-1.0/buildstat.html
+   4. http://gcc.gnu.org/egcs-1.0/caveats.html
+   5. http://gcc.gnu.org/mirrors.html
+   6. mailto:gnu@gnu.org
+   7. http://www.gnu.org/home.html#ContactInfo
+   8. http://gcc.gnu.org/about.html
+   9. http://gcc.gnu.org/onlinedocs/
+  10. mailto:gcc-help@gcc.gnu.org
+  11. mailto:gcc@gnu.org
+  12. mailto:gcc@gcc.gnu.org
+  13. http://gcc.gnu.org/lists.html
+  14. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/features.html
+                              EGCS 1.0 features
+
+     * Core compiler is based on the gcc2 development tree from Aug 2,
+       1997, so we have most of the [1]features found in GCC 2.8.
+     * Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
+     * Vast improvements in the C++ compiler; so many they have [2]page of
+       their own!
+     * Integrated C++ runtime libraries, including support for most major
+       linux systems!
+     * New instruction scheduler from IBM Haifa which includes support for
+       function wide instruction scheduling as well as superscalar
+       scheduling.
+     * Significantly improved alias analysis code.
+     * Improved register allocation for two address machines.
+     * Significant code generation improvements for Fortran code on
+       Alphas.
+     * Various optimizations from the g77 project as well as improved loop
+       optimizations.
+     * Dwarf2 debug format support for some targets.
+     * egcs libstdc++ includes the SGI STL implementation without changes.
+     * As a result of these and other changes, egcs libstc++ is not binary
+       compatible with previous releases of libstdc++.
+     * Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The SCO
+       Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0 and
+       1.1), Support for RTEMS on several embedded targets, Support for
+       arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
+       MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
+     * Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
+     * RS6000/PowerPC ports generate code which can run on all
+       RS6000/PowerPC variants by default.
+     * -mcpu= and -march= switches for the x86 port to allow better
+       control over how the x86 port generates code.
+     * Includes the template repository patch (aka repo patch); note the
+       new template code makes repo obsolete for ELF systems using gnu-ld
+       such as Linux.
+     * Plus the usual assortment of bugfixes and improvements.
+
+   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.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [6]GCC manuals. If that fails, the
+    [7]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [8]gcc@gnu.org or [9]gcc@gcc.gnu.org.
+    All of our lists have [10]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [11]Valid XHTML 1.0
+
+References
+
+   1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+   2. http://gcc.gnu.org/egcs-1.0/c++features.html
+   3. mailto:gnu@gnu.org
+   4. http://www.gnu.org/home.html#ContactInfo
+   5. http://gcc.gnu.org/about.html
+   6. http://gcc.gnu.org/onlinedocs/
+   7. mailto:gcc-help@gcc.gnu.org
+   8. mailto:gcc@gnu.org
+   9. mailto:gcc@gcc.gnu.org
+  10. http://gcc.gnu.org/lists.html
+  11. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/caveats.html
+                              EGCS 1.0 Caveats
+
+     * EGCS has an integrated libstdc++, but does not have an integrated
+       libg++. Furthermore old libg++ releases will not work with egc; HJ
+       Lu has made a libg++-2.8.1.2 available which may work with EGCS.
+       Note most C++ programs only need libstdc++.
+     * Note that using -pedantic or -Wreturn-type can cause an explosion
+       in the amount of memory needed for template-heavy C++ code, such as
+       code that uses STL. Also note that -Wall includes -Wreturn-type, so
+       if you use -Wall you will need to specify -Wno-return-type to turn
+       it off.
+     * Exception handling may not work with shared libraries, particularly
+       on alphas, hppas, and mips based platforms. Exception handling is
+       known to work on x86-linux platforms with shared libraries.
+     * Some versions of the Linux kernel have bugs which prevent them from
+       being compiled or from running when compiled by EGCS. See the FAQ
+       (as shipped with EGCS 1.0) for additional information.
+     * In general, EGCS is more rigorous about rejecting invalid C++ code
+       or deprecated C++ constructs than G++ 2.7. As a result it may be
+       necessary to fix C++ code before it will compile with EGCS.
+     * G++ is also aggressively tracking the C++ standard; as a result
+       code which was previously valid (and thus accepted by other
+       compilers and older versions of G++) may no longer be accepted.
+     * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
+       1.0.x and later releases should work with Red Hat Linux 5.0.
+
+   Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
+   are also [2]other ways to contact the FSF.
+
+   These pages are maintained by [3]the GCC team.
+
+
+    For questions related to the use of GCC, please consult these web
+    pages and the [4]GCC manuals. If that fails, the
+    [5]gcc-help@gcc.gnu.org mailing list might help.
+    Please send comments on these web pages and the development of GCC to
+    our developer mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org.
+    All of our lists have [8]public archives.
+
+   Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth
+   Floor, Boston, MA 02110, USA.
+
+   Verbatim copying and distribution of this entire article is permitted
+   in any medium, provided this notice is preserved.
+   Last modified 2007-07-25 [9]Valid XHTML 1.0
+
+References
+
+   1. mailto:gnu@gnu.org
+   2. http://www.gnu.org/home.html#ContactInfo
+   3. http://gcc.gnu.org/about.html
+   4. http://gcc.gnu.org/onlinedocs/
+   5. mailto:gcc-help@gcc.gnu.org
+   6. mailto:gcc@gnu.org
+   7. mailto:gcc@gcc.gnu.org
+   8. http://gcc.gnu.org/lists.html
+   9. http://validator.w3.org/check/referer
+======================================================================