summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/NEWS')
-rw-r--r--contrib/gcc/NEWS2446
1 files changed, 2446 insertions, 0 deletions
diff --git a/contrib/gcc/NEWS b/contrib/gcc/NEWS
new file mode 100644
index 0000000..3c7aeeb
--- /dev/null
+++ b/contrib/gcc/NEWS
@@ -0,0 +1,2446 @@
+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-3.2/index.html
+
+ GCC 3.2
+
+ November 19, 2002
+
+ The [1]GNU project and the GCC developers are pleased to announce the
+ release of GCC 3.2.1.
+
+ The links below still apply to GCC 3.2.1.
+
+ August 14, 2002
+
+ The [2]GNU project and the GCC developers are pleased to announce the
+ release of GCC 3.2.
+
+ GCC used to stand for the GNU C Compiler, but since the compiler
+ supports several other languages aside from C, it now stands for the
+ GNU Compiler Collection.
+
+ 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, one of the [9]GNU mirror
+ sites, or [10]our CVS 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
+ questions to [16]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-18 [17]Valid XHTML 1.0
+
+References
+
+ 1. http://www.gnu.org/
+ 2. http://www.gnu.org/
+ 3. http://gcc.gnu.org/gcc-3.2/buildstat.html
+ 4. http://gcc.gnu.org/gcc-3.2/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. http://www.gnu.org/order/ftp.html
+ 10. http://gcc.gnu.org/cvs.html
+ 11. mailto:gnu@gnu.org
+ 12. http://www.gnu.org/home.html#ContactInfo
+ 13. http://gcc.gnu.org/about.html
+ 14. mailto:gcc@gnu.org
+ 15. mailto:gcc@gcc.gnu.org
+ 16. mailto:gnu@gnu.org
+ 17. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.2/changes.html
+
+ Changes in GCC 3.2.1
+
+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.)
+
+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
+
+Bug Fixes
+
+ See [1]this message for a list of bugs fixed in this release.
+
+ Changes in GCC 3.2
+
+Bug Fixes
+
+ See [2]this message for a list of bugs fixed in this release.
+
+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 [3]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.
+
+New Languages and Language specific improvements
+
+ C++
+
+ * There are now no known differences between the C++ ABI implemented
+ in GCC and the multi-vendor standard. We believe that the ABI for
+ the C++ standard library is now stable and will not change in
+ future versions of the compiler. However, hard experience has
+ taught us to be cautious; it is possible that more problems will
+ be found. 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 [4]common C++ ABI page.
+ _________________________________________________________________
+
+ 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [8]gcc@gnu.org or [9]gcc@gcc.gnu.org, send other
+ questions to [10]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-18 [11]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/ml/gcc/2002-11/msg00445.html
+ 2. http://gcc.gnu.org/ml/gcc/2002-08/msg00405.html
+ 3. http://gcc.gnu.org/gcc-3.1/changes.html
+ 4. http://gcc.gnu.org/gcc-3.2/c++-abi.html
+ 5. mailto:gnu@gnu.org
+ 6. http://www.gnu.org/home.html#ContactInfo
+ 7. http://gcc.gnu.org/about.html
+ 8. mailto:gcc@gnu.org
+ 9. mailto:gcc@gcc.gnu.org
+ 10. mailto:gnu@gnu.org
+ 11. 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, one of the [9]GNU mirror
+ sites, or [10]our CVS 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
+ questions to [16]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [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. http://www.gnu.org/order/ftp.html
+ 10. http://gcc.gnu.org/cvs.html
+ 11. mailto:gnu@gnu.org
+ 12. http://www.gnu.org/home.html#ContactInfo
+ 13. http://gcc.gnu.org/about.html
+ 14. mailto:gcc@gnu.org
+ 15. mailto:gcc@gcc.gnu.org
+ 16. mailto:gnu@gnu.org
+ 17. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-3.1/changes.html
+
+ GCC 3.1 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 [4]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 [5]Red Hat, has generalized the tree inlining
+ infrastructure developed by [6]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 [7]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 [8]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 [9]the Fortran documentation.
+
+ Ada
+
+ [10]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 [11]MMIX, the CPU
+ architecture used in new editions of Donald E. Knuth's The Art of
+ Computer Programming.
+ * [12]Axis Communications has contributed its port to the CRIS CPU
+ architecture, used in the ETRAX system-on-a-chip series. See
+ [13]Axis' developer site for technical information.
+ * Alexandre Oliva, of [14]Red Hat, has contributed a port to the
+ [15]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.
+ + [16]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
+ [17]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 converisons 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 [18]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 [19]gnu@gnu.org. There
+ are also [20]other ways to contact the FSF.
+
+ These pages are maintained by [21]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [22]gcc@gnu.org or [23]gcc@gcc.gnu.org, send other
+ questions to [24]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [25]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://www.suse.de/~aj/SPEC/
+ 4. http://people.redhat.com/dnovillo/SPEC/
+ 5. http://www.redhat.com/
+ 6. http://www.codesourcery.com/
+ 7. http://gcc.gnu.org/gcc-3.1/c99status.html
+ 8. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1
+ 9. http://gcc.gnu.org/onlinedocs/g77/News.html
+ 10. http://www.gnat.com/
+ 11. http://www-cs-faculty.stanford.edu/~knuth/mmix.html
+ 12. http://www.axis.com/
+ 13. http://developer.axis.com/
+ 14. http://www.redhat.com/
+ 15. http://www.superh.com/
+ 16. http://www.suse.com/
+ 17. http://www.x86-64.org/
+ 18. http://www.redhat.com/
+ 19. mailto:gnu@gnu.org
+ 20. http://www.gnu.org/home.html#ContactInfo
+ 21. http://gcc.gnu.org/about.html
+ 22. mailto:gcc@gnu.org
+ 23. mailto:gcc@gcc.gnu.org
+ 24. mailto:gnu@gnu.org
+ 25. 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, bugfixes, 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, one of the [9]GNU mirror
+ sites, or [10]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 [11]gnu@gnu.org. There
+ are also [12]other ways to contact the FSF.
+
+ These pages are maintained by [13]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
+ questions to [16]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [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. http://www.gnu.org/order/ftp.html
+ 10. http://gcc.gnu.org/cvs.html
+ 11. mailto:gnu@gnu.org
+ 12. http://www.gnu.org/home.html#ContactInfo
+ 13. http://gcc.gnu.org/about.html
+ 14. mailto:gcc@gnu.org
+ 15. mailto:gcc@gcc.gnu.org
+ 16. mailto:gnu@gnu.org
+ 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.
+ * Implemenation 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 the
+ GCC GNATS bug tracking database. (Bug reports previously submitted
+ directly to the GCC mailing lists, for which no GNATS bug tracking
+ number has been received, should be submitted again to the bug
+ tracking database using gccbug if you can reproduce the problem
+ with GCC 3.0.)
+ * The internal libgcc library is [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 bugfixes 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [17]gcc@gnu.org or [18]gcc@gcc.gnu.org, send other
+ questions to [19]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [20]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/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. mailto:gcc@gnu.org
+ 18. mailto:gcc@gcc.gnu.org
+ 19. mailto:gnu@gnu.org
+ 20. 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. Here are workaround hints for:
+ [1]ostream::form, [2]filebuf::attach.
+ * 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:
+ [3]http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
+ _________________________________________________________________
+
+ Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There
+ are also [5]other ways to contact the FSF.
+
+ These pages are maintained by [6]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other
+ questions to [9]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [10]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html
+ 2. http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html
+ 3. http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
+ 4. mailto:gnu@gnu.org
+ 5. http://www.gnu.org/home.html#ContactInfo
+ 6. http://gcc.gnu.org/about.html
+ 7. mailto:gcc@gnu.org
+ 8. mailto:gcc@gcc.gnu.org
+ 9. mailto:gnu@gnu.org
+ 10. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/gcc-2.95/index.html
+
+ GCC 2.95
+
+ July 31, 1999: The GNU project and the GCC/EGCS developers are pleased
+ to announce the release of GCC version 2.95. 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.
+
+ August 19, 1999: GCC version 2.95.1 has been released.
+
+ October 27, 1999: GCC version 2.95.2 has been released.
+
+ March 16, 2001: GCC version 2.95.3 has been released.
+
+ 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 the [8]GNU FTP server (ftp://ftp.gnu.org)
+ [9]Find a GNU mirror site
+ [10]Find a GCC mirror site
+
+ For additional information about GCC please see the [11]GCC project
+ web server or contact the [12]GCC development mailing list.
+ _________________________________________________________________
+
+ 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [16]gcc@gnu.org or [17]gcc@gcc.gnu.org, send other
+ questions to [18]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [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. ftp://ftp.gnu.org/pub/gnu/gcc/
+ 9. http://www.gnu.org/order/ftp.html
+ 10. http://gcc.gnu.org/mirrors.html
+ 11. http://gcc.gnu.org/index.html
+ 12. mailto:gcc@gcc.gnu.org
+ 13. mailto:gnu@gnu.org
+ 14. http://www.gnu.org/home.html#ContactInfo
+ 15. http://gcc.gnu.org/about.html
+ 16. mailto:gcc@gnu.org
+ 17. mailto:gcc@gcc.gnu.org
+ 18. mailto:gnu@gnu.org
+ 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 [8]FAQ 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
+ + [9]Many C++ improvements.
+ + [10]Many Fortran improvements.
+ + [11]Java front-end has been integrated. [12]runtime library
+ is available separately.
+ + [13]ISO C99 support
+ + [14]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
+ + [15]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
+ + [16]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 [17]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 [18]gnu@gnu.org. There
+ are also [19]other ways to contact the FSF.
+
+ These pages are maintained by [20]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [21]gcc@gnu.org or [22]gcc@gcc.gnu.org, send other
+ questions to [23]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [24]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/fom_serv/cache/24.html
+ 9. http://gcc.gnu.org/gcc-2.95/c++features.html
+ 10. http://gcc.gnu.org/onlinedocs/g77/News.html
+ 11. http://gcc.gnu.org/java/gcj-announce.txt
+ 12. http://gcc.gnu.org/news/javaannounce.html
+ 13. http://gcc.gnu.org/c99status.html
+ 14. http://gcc.gnu.org/news/chill.html
+ 15. http://gcc.gnu.org/news/sparc.html
+ 16. http://gcc.gnu.org/news/egcs-vcg.html
+ 17. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+ 18. mailto:gnu@gnu.org
+ 19. http://www.gnu.org/home.html#ContactInfo
+ 20. http://gcc.gnu.org/about.html
+ 21. mailto:gcc@gnu.org
+ 22. mailto:gcc@gcc.gnu.org
+ 23. mailto:gnu@gnu.org
+ 24. 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 [1]FAQ 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 [2]FAQ
+ 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
+ [3]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 [4]gnu@gnu.org. There
+ are also [5]other ways to contact the FSF.
+
+ These pages are maintained by [6]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [7]gcc@gnu.org or [8]gcc@gcc.gnu.org, send other
+ questions to [9]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [10]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/faq.html#asmclobber
+ 2. http://gcc.gnu.org/fom_serv/cache/24.html
+ 3. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
+ 4. mailto:gnu@gnu.org
+ 5. http://www.gnu.org/home.html#ContactInfo
+ 6. http://gcc.gnu.org/about.html
+ 7. mailto:gcc@gnu.org
+ 8. mailto:gcc@gcc.gnu.org
+ 9. mailto:gnu@gnu.org
+ 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 environemnt 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [14]gcc@gnu.org or [15]gcc@gcc.gnu.org, send other
+ questions to [16]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [17]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. mailto:gcc@gnu.org
+ 15. mailto:gcc@gcc.gnu.org
+ 16. mailto:gnu@gnu.org
+ 17. 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 [1]g77 version 0.5.23.
+ * Vast improvements in the C++ compiler; so many they have [2]page
+ of their own!
+ * Compiler implements [3]global common subexpression elimination and
+ global copy/constant propagation.
+ * More major improvements in the [4]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: EGCS 1.1 includes support for the Power64
+ architecture and aix4.3 support. 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.
+ Conditional move support has been fixed and enabled for PPro
+ processors. The x86 port also better supports 64bit
+ operations now.
+ + 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 [5]features found in GCC 2.8.
+ _________________________________________________________________
+
+ 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
+ questions to [11]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [12]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/onlinedocs/g77/News.html
+ 2. http://gcc.gnu.org/egcs-1.1/c++features.html
+ 3. http://gcc.gnu.org/news/gcse.html
+ 4. http://gcc.gnu.org/news/alias.html
+ 5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
+ 6. mailto:gnu@gnu.org
+ 7. http://www.gnu.org/home.html#ContactInfo
+ 8. http://gcc.gnu.org/about.html
+ 9. mailto:gcc@gnu.org
+ 10. mailto:gcc@gcc.gnu.org
+ 11. mailto:gnu@gnu.org
+ 12. 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
+ [1]the FAQ 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 [2]gnu@gnu.org. There
+ are also [3]other ways to contact the FSF.
+
+ These pages are maintained by [4]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other
+ questions to [7]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [8]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/fom_serv/cache/24.html
+ 2. mailto:gnu@gnu.org
+ 3. http://www.gnu.org/home.html#ContactInfo
+ 4. http://gcc.gnu.org/about.html
+ 5. mailto:gcc@gnu.org
+ 6. mailto:gcc@gcc.gnu.org
+ 7. mailto:gnu@gnu.org
+ 8. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
+
+ EGCS 1.0.3
+
+ 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.
+
+ 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.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ 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.3 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 also contains many improvements and features not found in GCC 2.7
+ or GCC 2.8.
+ * 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 instead of a modified copy.
+ * 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
+ found in EGCS 1.0.x releases.
+
+ The EGCS 1.0.3 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0.3 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.3 release is also available on 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
+ questions to [11]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [12]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. mailto:gcc@gnu.org
+ 10. mailto:gcc@gcc.gnu.org
+ 11. mailto:gnu@gnu.org
+ 12. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
+
+ EGCS 1.0.2
+
+ March 16, 1998
+
+ We are pleased to announce the release of EGCS 1.0.2.
+
+ 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.
+
+ 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.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ 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.2 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 also contains many improvements and features not found in GCC 2.7
+ or GCC 2.8.
+ * Integrated C++ runtime libraries, including support for most major
+ 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
+ found in EGCS 1.0.x releases.
+
+ The EGCS 1.0.2 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0.2 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.2 release is also available on 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
+ questions to [11]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [12]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.0/features.html
+ 2. http://gcc.gnu.org/install/index.html
+ 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. mailto:gcc@gnu.org
+ 10. mailto:gcc@gcc.gnu.org
+ 11. mailto:gnu@gnu.org
+ 12. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
+
+ EGCS 1.0.1
+
+ January 6, 1998
+
+ We are pleased to announce the release of EGCS 1.0.1.
+
+ 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.
+
+ 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.
+
+ An important goal of EGCS is to allow wide scale testing of new
+ 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.1 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 also contains many improvements and features not found in GCC 2.7
+ and even the soon to be released GCC 2.8 compilers.
+ * Integrated C++ runtime libraries, including support for most major
+ 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
+ found in EGCS 1.0.x releases.
+
+ The EGCS 1.0.1 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0.1 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.1 release is also available on 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
+ questions to [11]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [12]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.0/features.html
+ 2. http://gcc.gnu.org/install/index.html
+ 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. mailto:gcc@gnu.org
+ 10. mailto:gcc@gcc.gnu.org
+ 11. mailto:gnu@gnu.org
+ 12. http://validator.w3.org/check/referer
+======================================================================
+http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
+
+ EGCS 1.0
+
+ December 3, 1997
+
+ We are pleased to announce the release of EGCS 1.0.
+
+ 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 soon to be released GCC 2.8 compilers.
+ * Integrated C++ runtime libraries, including support for most major
+ 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.
+
+ The EGCS 1.0 release includes installation instructions in both HTML
+ and plaintext forms (see the INSTALL directory in the toplevel
+ directory of the EGCS 1.0 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: The T1 into our main California offices has been 100%
+ saturated since shortly after the release. We've added an EGCS 1.0
+ mirror at our Massachusetts office to help share the load. We also
+ encourage folks to use the many mirrors available throughout the
+ world.
+
+ 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 should be available on most mirror sites by now.
+ [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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [9]gcc@gnu.org or [10]gcc@gcc.gnu.org, send other
+ questions to [11]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [12]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/egcs-1.0/features.html
+ 2. http://gcc.gnu.org/install/index.html
+ 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. mailto:gcc@gnu.org
+ 10. mailto:gcc@gcc.gnu.org
+ 11. mailto:gnu@gnu.org
+ 12. 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.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [6]gcc@gnu.org or [7]gcc@gcc.gnu.org, send other
+ questions to [8]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [9]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. mailto:gcc@gnu.org
+ 7. mailto:gcc@gcc.gnu.org
+ 8. mailto:gnu@gnu.org
+ 9. 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
+ [1]the FAQ 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 [2]gnu@gnu.org. There
+ are also [3]other ways to contact the FSF.
+
+ These pages are maintained by [4]The GCC team.
+
+
+ Please send comments on these web pages and GCC to our public
+ mailing list at [5]gcc@gnu.org or [6]gcc@gcc.gnu.org, send other
+ questions to [7]gnu@gnu.org.
+
+ Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
+ 330, Boston, MA 02111, USA.
+
+ Verbatim copying and distribution of this entire article is permitted
+ in any medium, provided this notice is preserved.
+
+ Last modified 2002-11-11 [8]Valid XHTML 1.0
+
+References
+
+ 1. http://gcc.gnu.org/fom_serv/cache/24.html
+ 2. mailto:gnu@gnu.org
+ 3. http://www.gnu.org/home.html#ContactInfo
+ 4. http://gcc.gnu.org/about.html
+ 5. mailto:gcc@gnu.org
+ 6. mailto:gcc@gcc.gnu.org
+ 7. mailto:gnu@gnu.org
+ 8. http://validator.w3.org/check/referer
+======================================================================
OpenPOWER on IntegriCloud