diff options
Diffstat (limited to 'contrib/gcc/NEWS')
-rw-r--r-- | contrib/gcc/NEWS | 2446 |
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 +====================================================================== |