X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2FNEWS;fp=gcc%2FNEWS;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=991b38a9a6b602fb0c0859686a0e51b7a2434627;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/NEWS b/gcc/NEWS deleted file mode 100644 index 991b38a9..00000000 --- a/gcc/NEWS +++ /dev/null @@ -1,3027 +0,0 @@ -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 Release Series - - February 5, 2003 - - The [1]GNU project and the GCC developers are pleased to announce the - release of GCC 3.2.2. - - The purpose of the GCC 3.2 release series is to provide a stable - platform for OS distributors to use building their next releases. A - primary objective was to stabilize the C++ ABI; we believe that the - interface to the compiler and the C++ standard library are now - relatively stable. - - Be aware that C++ code compiled by GCC 3.2.x will (in general) not - interoperate with code compiled by GCC 3.1.1 or earlier. - - Please refer to our [2]detailed list of news, caveats, and bug-fixes - for further information. - -Release History - - GCC 3.2.2 - February 5, 2003 ([3]changes) - - GCC 3.2.1 - November 19, 2002 ([4]changes) - - GCC 3.2 - August 14, 2002 ([5]changes) - -References and Acknowledgements - - GCC used to stand for the GNU C Compiler, but since the compiler - supports several other languages aside from C, it now stands for the - GNU Compiler Collection. - - A list of [6]successful builds is updated as new information becomes - available. - - The GCC developers would like to thank the numerous people that have - contributed new features, improvements, bug fixes, and other changes - as well as test results to GCC. This [7]amazing group of volunteers is - what makes GCC successful. - - For additional information about GCC please refer to the [8]GCC - project web site or contact the [9]GCC development mailing list. - - To obtain GCC please use [10]our mirror sites, one of the [11]GNU - mirror sites, or [12]our CVS server. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There - are also [14]other ways to contact the FSF. - - These pages are maintained by [15]The GCC team. - - - 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 2003-02-21 [19]Valid XHTML 1.0 - -References - - 1. http://www.gnu.org/ - 2. http://gcc.gnu.org/gcc-3.2/changes.html - 3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2 - 4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1 - 5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2 - 6. http://gcc.gnu.org/gcc-3.2/buildstat.html - 7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html - 8. http://gcc.gnu.org/index.html - 9. mailto:gcc@gcc.gnu.org - 10. http://gcc.gnu.org/mirrors.html - 11. http://www.gnu.org/order/ftp.html - 12. http://gcc.gnu.org/cvs.html - 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-3.2/changes.html - - GCC 3.2 Release Series - Changes, New Features, and Fixes - -Caveats and New Features - - Caveats - - * The C++ compiler does not correctly zero-initialize - pointers-to-data members. You must explicitly initialize them. For - example: int S::*m(0); will work, but depending on - default-initialization to zero will not work. This bug cannot be - fixed in GCC 3.2 without inducing unacceptable risks. It will be - fixed in GCC 3.3. - * This GCC release is based on the GCC 3.1 sourcebase, and thus has - all the [1]changes in the GCC 3.1 series. In addition, GCC 3.2 has - a number of C++ ABI fixes which make its C++ compiler generate - binary code which is incompatible with the C++ compilers found in - earlier GCC releases, including GCC 3.1 and GCC 3.1.1. - - Frontend Enhancements - - C/C++/Objective-C - - * The method of constructing the list of directories to be searched - for header files has been revised. If a directory named by a -I - option is a standard system include directory, the option is - ignored to ensure that the default search order for system - directories and the special treatment of system header files are - not defeated. - * The C and Objective-C compilers no longer accept the "Naming - Types" extension (typedef foo = bar); it was already unavailable - in C++. Code which uses it will need to be changed to use the - "typeof" extension instead: typedef typeof(bar) foo. (We have - removed this extension without a period of deprecation because it - has caused the compiler to crash since version 3.0 and no one - noticed until very recently. Thus we conclude it is not in - widespread use.) - - C++ - - * 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 [2]common C++ ABI page. - - New Targets and Target Specific Improvements - - IA-32 - - * Fixed a number of bugs in SSE and MMX intrinsics. - * Fixed common compiler crashes with SSE instruction set enabled - (implied by -march=pentium3, pentium4, athlon-xp) - * __m128 and __m128i is not 128bit aligned when used in structures. - - x86-64 - - * A bug whereby the compiler could generate bad code for bzero has - been fixed. - * ABI fixes (implying ABI incompatibilities with previous version in - some corner cases) - * Fixed prefetch code generation - _________________________________________________________________ - -GCC 3.2.2 - - Beginning with 3.2.2, GCC's Makefile suite supports redirection of - make install by means of the DESTDIR variable. Parts of the GCC tree - have featured that support long before, but now it is available even - from the top level. - - Other than that, GCC 3.2.2 is a bug fix release only; there are no new - features that were not present in GCC 3.2.1. - - Bug Fixes - - On the following i386-based systems GCC 3.2.1 broke the C ABI wrt. - functions returning structures: Cygwin, FreeBSD (GCC 3.2.1 as shipped - with FreeBSD 5.0 does not have this problem), Interix, a.out-based - Linux and NetBSD, OpenBSD, and Darwin. GCC 3.2.2 reverts this ABI - change, and thus restores ABI-compatibility with previous releases - (except GCC 3.2.1) on these platforms. - - This section lists the problem reports (PRs) from GCC's bug tracking - system (GNATS) that are known to be fixed in the 3.2.2 release. This - list might not be complete (that is, it is possible that some PRs that - have been fixed are not listed here). - - The sorting is slightly different from the GNATS categories, and some - of the titles have been changed to make them more clear. - - Internal Compiler Errors (multi-platform) - - * [3]5919: (c++) ICE when passing variable array to template - function - * [4]7129: (c++) ICE with min/max assignment operators (?=) - * [5]7507: ICE with -O2 when address of called function is a - complicated expression - * [6]7622: ICE with nested inline functions if function's address is - taken - * [7]7681: (fortran) ICE in compensate_edge, in reg-stack.c (also PR - [8]9258) - * [9]8031: (c++) ICE in code comparing typeids and casting from - virtual base - * [10]8275: ICE in simplify_subreg - * [11]8332: (c++) builtin strlen/template interaction causes ICE - * [12]8372: (c++) ICE on explicit call of destructor - * [13]8439: (c, not c++) empty struct causes ICE - * [14]8442: (c++) ICE with nested template classes - * [15]8518: ICE when compiling mplayer ("extern inline" issue) - * [16]8615: (c++) ICE with out-of-range character constant template - argument - * [17]8663: (c++) ICE in cp_expr_size, at cp-lang.c:307 - * [18]8799: (c++) ICE: error reporting routines re-entered - * [19]9328: (c++) ICE with typeof(X) for overloaded X - * [20]9465: (preprocessor) cpp -traditional ICE on null bytes - - C++ (compiler and library) bugs - - * [21]47: scoping in nested classes is broken - * [22]6745: problems with iostream rdbuf() member function - * [23]8214: conversion from const char* const to char* sometimes - accepted illegally - * [24]8493: builtin strlen and overload resolution (same bug as - [25]8332) - * [26]8503: strange behaviour of function types - * [27]8727: compiler confused by inheritance from an anonymous - struct - * [28]7445: poor performance of std::locale::classic() in - multi-threaded applications - * [29]8230: mishandling of overflow in vector::resize - * [30]8399: sync_with_stdio(false) breaks unformatted input - * [31]8662: illegal access of private member of unnamed class is - accepted - * [32]8707: "make distclean" fails in libstdc++-v3 directory - * [33]8708: __USE_MALLOC doesn't work - * [34]8790: Use of non-thread-safe strtok in src/localename.cc - * [35]8887: Bug in date formats with --enable-clocale=generic - * [36]9076: Call Frame Instructions are not handled correctly during - unwind operation - * [37]9151: std::setprecision limited to 16 digits when outputting a - double to a stream - * [38]9168: codecvt overwrites output buffers - * [39]9269: libstdc++ headers: explicit specialization of function - must precede its first use - * [40]9322: return value of basic_streambuf<>::getloc affected by - locale::global - * [41]9433: segfault in runtime support for dynamic_cast - - C and optimizer bugs - - * [42]8032: GCC incorrectly initializes static structs that have - flexible arrays - * [43]8639: simple arithmetic expression broken - * [44]8794: optimization improperly eliminates certain expressions - * [45]8832: traditional "asm volatile" code is illegally optimized - * [46]8988: loop optimizer bug: with -O2, code is generated that - segfaults (found on i386, bug present for all platforms) - * [47]9492: structure copy clobbers subsequent stores to structure - - Objective-C bugs - - * [48]9267: Objective-C parser won't build with newer bison versions - (e.g. 1.875) - - Ada bugs - - * [49]8344: Ada build problem due to conflict between gcc/final.o, - gcc/ada/final.o - - Preprocessor bugs - - * [50]8524: _Pragma within macros is improperly expanded - * [51]8880: __WCHAR_TYPE__ macro incorrectly set to "long int" with - -fshort-wchar - - ARM-specific - - * [52]9090: arm ICE with >= -O2; regression from gcc-2.95 - - x86-specific (Intel/AMD) - - * [53]8588: ICE in extract_insn, at recog.c:NNNN (shift instruction) - * [54]8599: loop unroll bug with -march=k6-3 - * [55]9506: ABI breakage in structure return (affects BSD and - Cygwin, but not GNU/Linux) - - FreeBSD 5.0 specific - - * [56]9484: GCC 3.2.1 Bootstrap failure on FreeBSD 5.0 - - RTEMS-specific - - * [57]9292: hppa1.1-rtems configurery problems - * [58]9293: [m68k-elf/rtems] config/m68k/t-crtstuff bug - * [59]9295: [mips-rtems] config/mips/rtems.h init/fini issue - * [60]9296: gthr-rtems regression - * [61]9316: powerpc-rtems: extending multilibs - - HP-PA specific - - * [62]9493: ICE with -O2 when building a simple function - - Documentation - - * [63]7341: hyperlink to gcov in GCC documentation doesn't work - * [64]8947: Please add a warning about "-malign-double" in docs - * [65]7448, [66]8882: typo cleanups - _________________________________________________________________ - -GCC 3.2.1 - - 3.2.1 adds a new warning, -Wabi. This option warns when GNU C++ - generates code that is known not to be binary-compatible with the - vendor-neutral ia32/ia64 ABI. Please consult the GCC manual, included - in the distribution, for details. - - This release also removes an old GCC extension, "naming types", and - the documentation now directs users to use a different GCC extension, - __typeof__, instead. The feature had evidently been broken for a - while. - - Otherwise, 3.2.1 is a bug fix release only; other than bug fixes and - the new warning there are no new features that were not present in GCC - 3.2. - - In addition, the previous fix for [67]PR 7445 (poor performance of - std::locale::classic() in multi-threaded applications) was reverted - ("unfixed"), because the "fix" was not thread-safe. - - Bug Fixes - - This section lists the problem reports (PRs) from GCC's bug tracking - system ([68]GNATS) that are known to be fixed in the 3.2.1 release. - This list might not be complete (that is, it is possible that some PRs - that have been fixed are not listed here). As you can see, the number - of bug fixes is quite large, so it is strongly recommended that users - of earlier gcc 3.x releases upgrade to GCC 3.2.1. - - Internal Compiler Errors (multi-platform) - - * [69]2521: (c++) ICE in build_ptrmemfunc, in cp/typeck.c - * [70]5661: (c++) ICE instantiating template on array of unknown - size (bad code) - * [71]6419: (c++) ICE in make_decl_rtl for "longest" attribute on - 64-bit platforms - * [72]6994: (c++) ICE in find_function_data - * [73]7150: preprocessor: GCC -dM -E gives an ICE - * [74]7160: ICE when optimizing branches without a return value - * [75]7228: (c++) ICE when using member template and template - function - * [76]7266: (c++) ICE with -pedantic on missing typename - * [77]7353: ICE from use of "Naming Types" extension, see above - * [78]7411: ICE in instantiate_virtual_regs_1, in function.c - * [79]7478: (c++) ICE on static_cast inside template - * [80]7526: preprocessor core dump when _Pragma implies #pragma - dependency - * [81]7721: (c++) ICE on simple (but incorrect) template ([82]7803 - is a duplicate) - * [83]7754: (c++) ICE on union with template parameter - * [84]7788: (c++) redeclaring a definition as an incomplete class - causes ICE - * [85]8031: (c++) ICE in comptypes, in cp/typeck.c - * [86]8055: preprocessor dies with SIG11 when building FreeBSD - kernel - * [87]8067: (c++) ICE due to mishandling of __FUNCTION__ and related - variables - * [88]8134: (c++) ICE in force_store_init_value on legal code - * [89]8149: (c++) ICE on incomplete type - * [90]8160: (c++) ICE in build_modify_expr, in cp/typeck.c: array - initialization - - C++ (compiler and library) bugs - - * [91]5607: No pointer adjustment in covariant return types - * [92]6579: Infinite loop with statement expressions in member - initialization - * [93]6803: Default copy constructor bug in GCC 3.1 - * [94]7176: g++ confused by friend and static member with same name - * [95]7188: Segfault with template class and recursive (incorrect) - initializer list - * [96]7306: Regression: GCC 3.x fails to compile code with virtual - inheritance if a method has a variable number of arguments - * [97]7461: ctype::classic_table() returns offset array on - Cygwin - * [98]7524: f(const float arg[3]) fails - * [99]7584: Erroneous ambiguous base error on using declaration - * [100]7676: Member template overloading problem - * [101]7679: infinite loop when a right parenthesis is missing - * [102]7811: default locale not taken from environment - * [103]7961: compare( char *) implemented incorrectly in - basic_string<> - * [104]8071: basic_ostream::operator<<(streambuf*) loops forever if - streambuf::underflow() leaves gptr() NULL (dups: [105]8127, - [106]6745) - * [107]8096: deque::at() throws std::range_error instead of - std::out_of_range - * [108]8127: cout << cin.rdbuf() infinite loop - * [109]8218: Excessively large memory consumed for classes with - large array members - * [110]8287: GCC 3.2: Destructor called for non-constructed local - object - * [111]8347: empty vector range used in string construction causes - core dump - * [112]8348: fail() flag is set in istringstream when eof() flag is - set - * [113]8391: regression: infinite loop in cp/decl2.c(finish_file) - - C and optimizer bugs - - * [114]6627: -fno-align-functions doesn't seem to disable function - alignment - * [115]6631: life_analysis misoptimizes code to initialize fields of - a structure - * [116]7102: unsigned char division results in floating exception - * [117]7120: Run once loop should *always* be unrolled - (pessimization) - * [118]7209: Bug involving array referencing and ?: operator - * [119]7515: invalid inlining of global function with -O3 - * [120]7814: incorrect scheduling for glibc-2.2.92 strcpy test - * [121]8467: bug in sibling call optimization - - Preprocessor bugs - - * [122]4890: incorrect line markers from the traditional - preprocessor - * [123]7357: -M option omits system headers files (making it the - same as -MM) - * [124]7358: Changes to Sun's make Dependencies - * [125]7602: C++ header files found in CPLUS_INCLUDE_PATH treated as - C headers - * [126]7862: Interrupting GCC -MD removes .d file but not .o - * [127]8190: Failed compilation deletes -MD dependency file - * [128]8524: _Pragma within macro is improperly expanded - - x86 specific (Intel/AMD) - - * [129]5351: (i686-only) function pass-by-value structure copy - corrupts stack ([130]7591 is a duplicate) - * [131]6845, [132]7034, [133]7124, [134]7174: ICE's with - -march=pentium3/pentium2/athlon (these are all the same underlying - bug, in MMX register use) - * [135]7134, [136]7375, [137]7390: ICE with -march=athlon (maybe - same as above?) - * [138]6890: xmmintrin.h, _MM_TRANSPOSE4_PS is broken - * [139]6981: wrong code in 64-bit manipulation on x86 - * [140]7242: GCC -mcpu=pentium[23] doesn't define - __tune_pentiumpro__ macro - * [141]7396: ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss SSE - intrinsics are broken - * [142]7630: GCC 3.2 breaks on Mozilla 1.0's JS sources with - -march=pentium4 - * [143]7693: Typo in i386 mmintrin.h header - * [144]7723: ICE - Pentium3 sse - GCC 3.2 - * [145]7951: ICE on -march=pentium4 -O2 -mfpmath=sse - * [146]8146: (i686 only) gcc 3.2 miscompiles gcc 2.95.3 - - PowerPC specific - - * [147]5967: GCC bug when profiling nested functions on powerpc - * [148]6984: wrong code generated with -O2, -O3, -Os for do-while - loop on PowerPC - * [149]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5 - * [150]7130: miscompiled code for GCC-3.1 in powerpc linux with - -funroll-all-loops - * [151]7133: PowerPC ICE: unrecognizable insn - * [152]7380: ICE in extract_insn, at recog.c:2148 - * [153]8252: ICE on Altivec code with optimization turned on - * [154]8451: Altivec ICE in GCC 3.2 - - HP/PA specific - - * [155]7250: __ashrdi3 returns wrong value on 32 bit hppa - - SPARC specific - - * [156]6668: when using --disable-multilib, libgcc_s.so is installed - in the wrong place on sparc-solaris - * [157]7151: ICE when compiling for UltraSPARC - * [158]7335: SPARC: ICE in verify_wide_reg (flow.c:557) with long - double and -O1 - * [159]7842: [REGRESSION] SPARC code gen bug - - ARM specific - - * [160]7856: [arm] invalid offset in constant pool reference - * [161]7967: optimization produces wrong code (ARM) - - Alpha specific - - * [162]7374: __builtin_fabsl broken on alpha - - IBM s390 specific - - * [163]7370: ICE in fixup_var_refs_1 on s390x - * [164]7409: loop optimization bug on s390x-linux-gnu - * [165]8232: s390x: ICE when using bcmp with int length argument - - SCO specific - - * [166]7623: SCO OpenServer build fails with machmode.def: undefined - symbol: BITS_PER_UNIT - - m68k/Coldfire specific - - * [167]8314: crtbegin, crtend need to be multilib'ed for this - platform - - Documentation - - * [168]761: Document some undocumented options - * [169]5610: Fix documentation about invoking SSE instructions - (-mfpmath=sse) - * [170]7484: List -Wmissing-declarations as C-only option - * [171]7531: -mcmodel not documented for x86-64 - * [172]8120: Update documentation of bad use of ## - _________________________________________________________________ - -GCC 3.2 - - 3.2 is a small bug fix release, but there is a change to the - application binary interface (ABI), hence the change to the second - part of the version number. - - The main purpose of the 3.2 release is to correct a couple of problems - in the C++ ABI, with the intention of providing a stable interface - going forward. Accordingly, 3.2 is only a small change to 3.1.1. - - Bug Fixes - - C++ - - * [173]7320: g++ 3.2 relocation problem - * [174]7470: vtable: virtual function pointers not in declaration - order - - libstdc++ - - * [175]6410: Trouble with non-ASCII monetary symbols and wchar_t - * [176]6503, [177]6642, [178]7186: Problems with comparing or - subtracting various types of const and non-const iterators - * [179]7216: ambiguity with basic_iostream::traits_type - * [180]7220: problem with basic_istream::ignore(0,delimiter) - * [181]7222: locale::operator==() doesn't work on std::locale("") - * [182]7286: placement operator delete issue - * [183]7442: cxxabi.h does not match the C++ ABI - * [184]7445: poor performance of std::locale::classic() in - multi-threaded applications - - x86-64 specific - - * [185]7291: off-by-one in generated inline bzero code for x86-64 - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [186]gnu@gnu.org. There - are also [187]other ways to contact the FSF. - - These pages are maintained by [188]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [189]gcc@gnu.org or [190]gcc@gcc.gnu.org, send other - questions to [191]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 2003-03-21 [192]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/gcc-3.1/changes.html - 2. http://gcc.gnu.org/gcc-3.2/c++-abi.html - 3. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5919 - 4. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7129 - 5. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7507 - 6. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7622 - 7. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7681 - 8. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9528 - 9. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8031 - 10. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8275 - 11. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8332 - 12. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8372 - 13. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8439 - 14. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8442 - 15. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8518 - 16. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8615 - 17. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8663 - 18. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8799 - 19. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9328 - 20. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9465 - 21. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=47 - 22. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6745 - 23. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8214 - 24. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8493 - 25. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8332 - 26. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8503 - 27. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8727 - 28. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 - 29. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8230 - 30. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8399 - 31. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8662 - 32. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8707 - 33. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8708 - 34. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8790 - 35. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8887 - 36. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9076 - 37. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9151 - 38. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9168 - 39. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9269 - 40. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9322 - 41. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9433 - 42. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8032 - 43. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8639 - 44. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8794 - 45. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8832 - 46. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8988 - 47. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9492 - 48. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9267 - 49. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8344 - 50. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8524 - 51. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8880 - 52. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9090 - 53. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8588 - 54. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8599 - 55. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9506 - 56. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9484 - 57. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9292 - 58. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9293 - 59. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9295 - 60. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9296 - 61. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9316 - 62. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=9493 - 63. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7341 - 64. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8947 - 65. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7448 - 66. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8882 - 67. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 - 68. http://gcc.gnu.org/cgi-bin/gnatsweb.pl - 69. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=2521 - 70. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5661 - 71. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6419 - 72. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6994 - 73. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7150 - 74. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7160 - 75. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7228 - 76. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7266 - 77. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7353 - 78. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7411 - 79. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7478 - 80. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7526 - 81. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7721 - 82. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7803 - 83. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7754 - 84. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7788 - 85. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8031 - 86. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8055 - 87. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8067 - 88. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8134 - 89. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8149 - 90. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8160 - 91. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5607 - 92. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6579 - 93. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6803 - 94. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7176 - 95. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7188 - 96. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7306 - 97. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7461 - 98. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7524 - 99. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7584 - 100. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7676 - 101. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7679 - 102. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7811 - 103. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7961 - 104. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8071 - 105. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8127 - 106. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6745 - 107. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8096 - 108. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8127 - 109. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8218 - 110. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8287 - 111. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8347 - 112. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8348 - 113. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8391 - 114. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6627 - 115. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6631 - 116. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7102 - 117. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7120 - 118. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7209 - 119. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7515 - 120. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7814 - 121. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8467 - 122. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=4890 - 123. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7357 - 124. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7358 - 125. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7602 - 126. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7862 - 127. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8190 - 128. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8524 - 129. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5351 - 130. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7591 - 131. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6845 - 132. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7034 - 133. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7124 - 134. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7174 - 135. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7134 - 136. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7375 - 137. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7390 - 138. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6890 - 139. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6981 - 140. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7242 - 141. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7396 - 142. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7630 - 143. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7693 - 144. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7723 - 145. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7951 - 146. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8146 - 147. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5967 - 148. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6984 - 149. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7114 - 150. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7130 - 151. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7133 - 152. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7380 - 153. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8252 - 154. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8451 - 155. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7250 - 156. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6668 - 157. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7151 - 158. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7335 - 159. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7842 - 160. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7856 - 161. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7967 - 162. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7374 - 163. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7370 - 164. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7409 - 165. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8232 - 166. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7623 - 167. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8314 - 168. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=761 - 169. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=5610 - 170. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7484 - 171. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7531 - 172. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=8120 - 173. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7320 - 174. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7470 - 175. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6410 - 176. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6503 - 177. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=6642 - 178. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7186 - 179. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7216 - 180. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7220 - 181. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7222 - 182. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7286 - 183. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7442 - 184. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7445 - 185. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&pr=7291 - 186. mailto:gnu@gnu.org - 187. http://www.gnu.org/home.html#ContactInfo - 188. http://gcc.gnu.org/about.html - 189. mailto:gcc@gnu.org - 190. mailto:gcc@gcc.gnu.org - 191. mailto:gnu@gnu.org - 192. 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 2003-02-21 [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 Release Series - Changes, New Features, and Fixes - -Additional changes in GCC 3.1.1 - - * A bug related to how structures and unions are returned has been - fixed for powerpc-*-netbsd*. - * An important bug in the implementation of -fprefetch-loop-arrays - has been fixed. Previously the optimization prefetched random - blocks of memory for most targets except for i386. - * The Java compiler now compiles Java programs much faster and also - works with parallel make. - * Nested functions have been fixed for mips*-*-netbsd*. - * Some missing floating point support routines have beed added for - mips*-*-netbsd*. - * This [1]message gives additional information about the bugs fixed - in this release. - -Caveats - - * The -traditional C compiler option has been deprecated and will be - removed in GCC 3.3. (It remains possible to preprocess non-C code - with the traditional preprocessor.) - * The default debugging format for most ELF platforms (including - GNU/Linux and FreeBSD; notable exception is Solaris) has changed - from stabs to DWARF2. This requires GDB 5.1.1 or later. - -General Optimizer Improvements - - * Jan Hubicka, SuSE Labs, together with Richard Henderson, Red Hat, - and Andreas Jaeger, SuSE Labs, has contributed [2]infrastructure - for profile driven optimizations. - Options -fprofile-arcs and -fbranch-probabilities can now be used - to improve speed of the generated code by profiling the actual - program behaviour on typical runs. In the absence of profile info - the compiler attempts to guess the profile statically. - * [3]SPEC2000 and [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 conversions has - been improved leading to better performance of many 3D - applications. - * The PowerPC back end has added 64-bit PowerPC GNU/Linux support. - * C++ support for AIX has been improved. - * Aldy Hernandez, of [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 2003-03-21 [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 2003-02-21 [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. - * Implementation of function descriptors in C++ vtables for IA64. - * Numerous minor bug-fixes. - -Additional changes in GCC 3.0.1 - - * C++ fixes for incorrect code-generation. - * Improved cross-compiling support for the C++ standard library. - * Fixes for some embedded targets that worked in GCC 2.95.3, but not - in GCC 3.0. - * Fixes for various exception-handling bugs. - * A port to the S/390 architecture. - -General Optimizer Improvements - - * [2]Basic block reordering pass. - * New if-conversion pass with support for conditional (predicated) - execution. - * New tail call and sibling call elimination optimizations. - * New register renaming pass. - * New (experimental) [3]static single assignment (SSA) - representation support. - * New dead-code elimination pass implemented using the SSA - representation. - * [4]Global null pointer test elimination. - * [5]Global code hoisting/unification. - * More builtins and optimizations for stdio.h, string.h and old BSD - functions, as well as for ISO C99 functions. - * New builtin __builtin_expect for giving hints to the branch - predictor. - -New Languages and Language specific improvements - - * The GNU Compiler for the Java(TM) language (GCJ) is now integrated - and supported, including the run-time library containing most - common non-GUI Java classes, a bytecode interpreter, and the Boehm - conservative garbage collector. Many bugs have been fixed. GCJ can - compile Java source or Java bytecodes to either native code or - Java class files, and supports native methods written in either - the standard JNI or the more efficient and convenient CNI. - * Here is a [6]partial list of C++ improvements, both new features - and those no longer supported. - * New C++ ABI. On the IA-64 platform GCC is capable of - inter-operating with other IA-64 compilers. - * The new ABI also significantly reduces the size of symbol and - debug information. - * New [7]C++ support library and many C++ bug fixes, vastly - improving our conformance to the ISO C++ standard. - * New [8]inliner for C++. - * Rewritten C preprocessor, integrated into the C, C++ and Objective - C compilers, with very many improvements including ISO C99 support - and [9]improvements to dependency generation. - * Support for more [10]ISO C99 features. - * Many improvements to support for checking calls to format - functions such as printf and scanf, including support for ISO C99 - format features, extensions from the Single Unix Specification and - GNU libc 2.2, checking of strfmon formats and features to assist - in auditing for format string security bugs. - * New warnings for C code that may have undefined semantics because - of violations of sequence point rules in the C standard (such as a - = a++;, a[n] = b[n++]; and a[i++] = i;), included in -Wall. - * Additional warning option -Wfloat-equal. - * Improvements to -Wtraditional. - * Fortran improvements are listed in [11]the Fortran documentation. - -New Targets and Target Specific Improvements - - * New x86 back-end, generating much improved code. - * Support for a generic i386-elf target contributed. - * New option to emit x86 assembly code using Intel style syntax - (-mintel-syntax). - * HPUX 11 support contributed. - * Improved PowerPC code generation, including scheduled prologue and - epilogue. - * Port of GCC to Intel's IA-64 processor contributed. - * Port of GCC to Motorola's MCore 210 and 340 contributed. - * New unified back-end for Arm, Thumb and StrongArm contributed. - * Port of GCC to Intel's XScale processor contributed. - * Port of GCC to Atmel's AVR microcontrollers contributed. - * Port of GCC to Mitsubishi's D30V processor contributed. - * Port of GCC to Matsushita's AM33 processor (a member of the - MN10300 processor family) contributed. - * Port of GCC to Fujitsu's FR30 processor contributed. - * Port of GCC to Motorola's 68HC11 and 68HC12 processors - contributed. - * Port of GCC to Sun's picoJava processor core contributed. - -Documentation improvements - - * Substantially rewritten and improved C preprocessor manual. - * Many improvements to other documentation. - * Manpages for gcc, cpp and gcov are now generated automatically - from the master Texinfo manual, eliminating the problem of - manpages being out of date. (The generated manpages are only - extracts from the full manual, which is provided in Texinfo form, - from which info, HTML, other formats and a printed manual can be - generated.) - * Generated info files are included in the release tarballs - alongside their Texinfo sources, avoiding problems on some - platforms with building makeinfo as part of the GCC distribution. - -Other significant improvements - - * Garbage collection used internally by the compiler for most memory - allocation instead of obstacks. - * Lengauer and Tarjan algorithm used for computing dominators in the - CFG. This algorithm can be significantly faster and more space - efficient than our older algorithm. - * gccbug script provided to assist in submitting bug reports to 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 2003-02-21 [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 2003-02-21 [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 2003-02-21 [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 FAQ (as shipped with GCC 2.95) for additional information - on this issue. - + Major revamp of GIV detection, combination and simplification - to improve loop performance. - + Major improvements to register allocation and reloading. - * New Languages and Language specific improvements - + [8]Many C++ improvements. - + [9]Many Fortran improvements. - + [10]Java front-end has been integrated. [11]runtime library - is available separately. - + [12]ISO C99 support - + [13]Chill front-end and runtime has been integrated. - + Boehm garbage collector support in libobjc. - + More support for various pragmas which appear in vendor - include files - * New Targets and Target Specific Improvements - + [14]Sparc backend rewrite. - + -mschedule=8000 will optimize code for PA8000 class - processors; -mpa-risc-2-0 will generate code for PA2.0 - processors - + Various micro-optimizations for the ia32 port. K6 - optimizations - + Compiler will attempt to align doubles in the stack on the - ia32 port - + Alpha EV6 support - + PowerPC 750 - + RS6000/PowerPC: -mcpu=401 was added as an alias for - -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and - -msoft-float. - + c3x, c4x - + HyperSparc - + SparcLite86x - + sh4 - + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix, - arm-linux) - + vxWorks targets include support for vxWorks threads - + StrongARM 110 and ARM9 support added. ARM Scheduling - parameters rewritten. - + Various changes to the MIPS port to avoid assembler macros, - which in turn improves performance - + Various performance improvements to the i960 port. - + Major rewrite of ns32k port - * Other significant improvements - + [15]Ability to dump cfg information and display it using vcg. - + The new faster scheme for fixing vendor header files is - enabled by default. - + Experimental internationalization support. - + multibyte character support - + Some compile-time speedups for pathological problems - + Better support for complex types - * Plus the usual mountain of bugfixes - * Core compiler is based on the gcc2 development tree from Sept 30, - 1998, so we have all of the [16]features found in GCC 2.8. - -Additional Changes in GCC 2.95.1 - - * Generic bugfixes and improvements - + Various documentation fixes related to the GCC/EGCS merger. - + Fix memory management bug which could lead to spurious - aborts, core dumps or random parsing errors in the compiler. - + Fix a couple bugs in the dwarf1 and dwarf2 debug record - support. - + Fix infinite loop in the CSE optimizer. - + Avoid undefined behavior in compiler FP emulation code - + Fix install problem when prefix is overridden on the make - install command. - + Fix problem with unwanted installation of assert.h on some - systems. - + Fix problem with finding the wrong assembler in a single tree - build. - + Avoid increasing the known alignment of a register that is - already known to be a pointer. - * Platform specific bugfixes and improvements - + Codegen bugfix for prologue/epilogue for cpu32 target. - + Fix long long code generation bug for the Coldfire target. - + Fix various aborts in the SH compiler. - + Fix bugs in libgcc support library for the SH. - + Fix alpha ev6 code generation bug. - + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on - AIX platforms. - + Fix -fpic code generation bug for rs6000/ppc svr4 targets. - + Fix varargs/stdarg code generation bug for rs6000/ppc svr4 - targets. - + Fix weak symbol handling for rs6000/ppc svr4 targets. - + Fix various problems with 64bit code generation for the - rs6000/ppc port. - + Fix codegen bug which caused tetex to be mis-compiled on the - x86. - + Fix compiler abort in new cfg code exposed by x86 port. - + Fix out of range array reference in code convert flat - registers to the x87 stacked FP register file. - + Fix minor vxworks configuration bug. - + Fix return type of bsearch for SunOS 4.x. - * Language & Runtime specific fixes. - + The G++ signature extension has been deprecated. It will be - removed in the next major release of G++. Use of signatures - will result in a warning from the compiler. - + Several bugs relating to templates and namespaces were fixed. - + A bug that caused crashes when combining templates with -g on - DWARF1 platforms was fixed. - + Pointers-to-members, virtual functions, and multiple - inheritance should now work together correctly. - + Some code-generation bugs relating to function try blocks - were fixed. - + G++ is a little bit more lenient with certain archaic - constructs than in GCC 2.95. - + Fix to prevent shared library version #s from bring truncated - to 1 digit - + Fix missing std:: in the libstdc++ library. - + Fix stream locking problems in libio. - + Fix problem in java compiler driver. - -Additional Changes in GCC 2.95.2 - - The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While - the optimizations performed by -fstrict-aliasing are valid according - to the C and C++ standards, the optimization have caused some - problems, particularly with old non-conforming code. - - The GCC developers are experimenting with ways to warn users about - code which violates the C/C++ standards, but those warnings are not - ready for widespread use at this time. Rather than wait for those - warnings the GCC developers have chosen to disable -fstrict-aliasing - by default for the GCC 2.95.2 release. - - We strongly encourage developers to find and fix code which violates - the C/C++ standards as -fstrict-aliasing may be enabled by default in - future releases. Use the option -fstrict-aliasing to re-enable these - optimizations. - * Generic bugfixes and improvements - + Fix incorrectly optimized memory reference in global common - subexpression elimination (GCSE) optimization pass. - + Fix code generation bug in regmove.c in which it could - incorrectly change a "const" value. - + Fix bug in optimization of conditionals involving volatile - memory references. - + Avoid over-allocation of stack space for some procedures. - + Fixed bug in the compiler which caused incorrect optimization - of an obscure series of bit manipulations, shifts and - arithmetic. - + Fixed register allocator bug which caused teTeX to be - mis-compiled on Sparc targets. - + Avoid incorrect optimization of degenerate case statements - for certain targets such as the ARM. - + Fix out of range memory reference in the jump optimizer. - + Avoid dereferencing null pointer in fix-header. - + Fix test for GCC specific features so that it is possible to - bootstrap with gcc-2.6.2 and older versions of GCC. - + Fix typo in scheduler which could potentially cause out of - range memory accesses. - + Avoid incorrect loop reversal which caused incorrect code for - certain loops on PowerPC targets. - + Avoid incorrect optimization of switch statements on certain - targets (for example the ARM). - * Platform specific bugfixes and improvements - + Work around bug in Sun V5.0 compilers which caused bootstrap - comparison failures on Sparc targets. - + Fix Sparc backend bug which caused aborts in final.c. - + Fix sparc-hal-solaris2* configuration fragments. - + Fix bug in sparc block profiling. - + Fix obscure code generation bug for the PARISC targets. - + Define __STDC_EXT__ for HPUX configurations. - + Various POWERPC64 code generation bugfixes. - + Fix abort for PPC targets using ELF (ex GNU/Linux). - + Fix collect2 problems for AIX targets. - + Correct handling of .file directive for PPC targets. - + Fix bug in fix_trunc x86 patterns. - + Fix x86 port to correctly pop the FP stack for functions that - return structures in memory. - + Fix minor bug in strlen x86 pattern. - + Use stabs debugging instead of dwarf1 for x86-solaris - targets. - + Fix template repository code to handle leading underscore in - mangled names. - + Fix weak/weak alias support for OpenBSD. - + GNU/Linux for the ARM has C++ compatible include files. - * Language & Runtime specific fixes. - + Fix handling of constructor attribute in the C front-end - which caused problems building the Chill runtime library on - some targets. - + Fix minor problem merging type qualifiers in the C front-end. - + Fix aliasing bug for pointers and references (C/C++). - + Fix incorrect "non-constant initializer bug" when - -traditional or -fwritable-strings is enabled. - + Fix build error for Chill front-end on SunOS. - + Do not complain about duplicate instantiations when using - -frepo (C++). - + Fix array bounds handling in C++ front-end which caused - problems with dwarf debugging information in some - circumstances. - + Fix minor namespace problem. - + Fix problem linking java programs. - -Additional Changes in GCC 2.95.3 - - * Generic bugfixes and improvements - + Fix numerous problems that caused incorrect optimization in - the register reloading code. - + Fix numerous problems that caused incorrect optimization in - the loop optimizer. - + Fix aborts in the functions build_insn_chain and scan_loops - under some circumstances. - + Fix an alias analysis bug. - + Fix an infinite compilation bug in the combiner. - + A few problems with complex number support have been fixed. - + It is no longer possible for gcc to act as a fork bomb when - installed incorrectly. - + The -fpack-struct option should be recognized now. - + Fixed a bug that caused incorrect code to be generated due to - a lost stack adjustment. - * Platform specific bugfixes and improvements - + Support building ARM toolchains hosted on Windows. - + Fix attribute calculations in ARM toolchains. - + arm-linux support has been improved. - + Fix a PIC failure on sparc targets. - + On ix86 targets, the regparm attribute should now work - reliably. - + Several updates for the h8300 port. - + Fix problem building libio with glibc 2.2. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There - are also [18]other ways to contact the FSF. - - These pages are maintained by [19]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [20]gcc@gnu.org or [21]gcc@gcc.gnu.org, send other - questions to [22]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 2003-02-21 [23]Valid XHTML 1.0 - -References - - 1. http://gcc.gnu.org/news/spill.html - 2. http://gcc.gnu.org/news/lcm.html - 3. http://gcc.gnu.org/news/cprop.html - 4. http://gcc.gnu.org/news/cfg.html - 5. http://gcc.gnu.org/news/dse.html - 6. http://gcc.gnu.org/news/hoist.html - 7. http://gcc.gnu.org/news/alias.html - 8. http://gcc.gnu.org/gcc-2.95/c++features.html - 9. http://gcc.gnu.org/onlinedocs/g77/News.html - 10. http://gcc.gnu.org/java/gcj-announce.txt - 11. http://gcc.gnu.org/news/javaannounce.html - 12. http://gcc.gnu.org/c99status.html - 13. http://gcc.gnu.org/news/chill.html - 14. http://gcc.gnu.org/news/sparc.html - 15. http://gcc.gnu.org/news/egcs-vcg.html - 16. http://gcc.gnu.org/egcs-1.0/features-2.8.html - 17. mailto:gnu@gnu.org - 18. http://www.gnu.org/home.html#ContactInfo - 19. http://gcc.gnu.org/about.html - 20. mailto:gcc@gnu.org - 21. mailto:gcc@gcc.gnu.org - 22. mailto:gnu@gnu.org - 23. http://validator.w3.org/check/referer -====================================================================== -http://gcc.gnu.org/gcc-2.95/caveats.html - - GCC 2.95 Caveats - - * GCC 2.95 will issue an error for invalid asm statements that had - been silently accepted by earlier versions of the compiler. This - is particularly noticeable when compiling older versions of the - Linux kernel (2.0.xx). Please refer to the FAQ (as shipped with - GCC 2.95) for more information on this issue. - * GCC 2.95 implements type based alias analysis to disambiguate - memory references. Some programs, particularly the Linux kernel - violate ANSI/ISO aliasing rules and therefore may not operate - correctly when compiled with GCC 2.95. Please refer to the FAQ (as - shipped with GCC 2.95) for more information on this issue. - * GCC 2.95 has a known bug in its handling of complex variables for - 64bit targets. Instead of silently generating incorrect code, GCC - 2.95 will issue a fatal error for situations it can not handle. - This primarily affects the Fortran community as Fortran makes more - use of complex variables than C or C++. - * GCC 2.95 has an integrated libstdc++, but does not have an - integrated libg++. Furthermore old libg++ releases will not work - with GCC 2.95. You can retrieve a recent copy of libg++ from the - [1]GCC ftp server. - Note most C++ programs only need libstdc++. - * Exception handling may not work with shared libraries, - particularly on alphas, hppas, rs6000/powerpc and mips based - platforms. Exception handling is known to work on x86 GNU/Linux - platforms with shared libraries. - * In general, GCC 2.95 is more rigorous about rejecting invalid C++ - code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0, - or EGCS 1.1. As a result it may be necessary to fix C++ code - before it will compile with GCC 2.95. - * G++ is also converting toward the ISO C++ standard; as a result - code which was previously valid (and thus accepted by other - compilers and older versions of g++) may no longer be accepted. - The flag -fpermissive may allow some non-conforming code to - compile with GCC 2.95. - * GCC 2.95 compiled C++ code is not binary compatible with EGCS - 1.1.x, EGCS 1.0.x or GCC 2.8.x. - * GCC 2.95 does not have changes from the GCC 2.8 tree that were - made between Sept 30, 1998 and April 30, 1999 (the official end of - the GCC 2.8 project). Future GCC releases will include all the - changes from the defunct GCC 2.8 sources. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There - are also [3]other ways to contact the FSF. - - These pages are maintained by [4]The GCC team. - - - 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 2003-02-21 [8]Valid XHTML 1.0 - -References - - 1. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz - 2. mailto:gnu@gnu.org - 3. http://www.gnu.org/home.html#ContactInfo - 4. http://gcc.gnu.org/about.html - 5. 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.1/index.html - - EGCS 1.1 - - September 3, 1998: We are pleased to announce the release of EGCS 1.1. - December 1, 1998: We are pleased to announce the release of EGCS - 1.1.1. - March 15, 1999: We are pleased to announce the release of EGCS 1.1.2. - - EGCS is a free software project to further the development of the GNU - compilers using an open development environment. - - EGCS 1.1 is a major new release of the EGCS compiler system. It has - been [1]extensively tested and is believed to be stable and suitable - for widespread use. - - EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8 - development sources; it contains all of the new features found in GCC - 2.8.1 as well as all new development from GCC up to June 6, 1998. - - EGCS 1.1 also contains many improvements and features not found in GCC - or in older versions of EGCS: - * Global common subexpression elimination and global constant/copy - propagation (aka [2]gcse) - * Ongoing improvements to the [3]alias analysis support to allow for - better optimizations throughout the compiler. - * Vastly improved [4]C++ compiler and integrated C++ runtime - libraries. - * Fixes for the /tmp symlink race security problems. - * New targets including mips16, arm-thumb and 64 bit PowerPC. - * Improvements to GNU Fortran (g77) compiler and runtime library - made since g77 version 0.5.23. - - See the [5]new features page for a more complete list of new features - found in EGCS 1.1 releases. - - EGCS 1.1.1 is a minor update to fix several serious problems in EGCS - 1.1: - * General improvements and fixes - + Avoid some stack overflows when compiling large functions. - + Avoid incorrect loop invariant code motions. - + Fix some core dumps on Linux kernel code. - + Bring back the imake -Di386 and friends fix from EGCS 1.0.2. - + Fix code generation problem in gcse. - + Various documentation related fixes. - * g++/libstdc++ improvements and fixes - + MT safe EH fix for setjmp/longjmp based exception handling. - + Fix a few bad interactions between optimization and exception - handling. - + Fixes for demangling of template names starting with "__". - + Fix a bug that would fail to run destructors in some cases - with -O2. - + Fix 'new' of classes with virtual bases. - + Fix crash building Qt on the Alpha. - + Fix failure compiling WIFEXITED macro on GNU/Linux. - + Fix some -frepo failures. - * g77 and libf2c improvements and fixes - + Various documentation fixes. - + Avoid compiler crash on RAND intrinsic. - + Fix minor bugs in makefiles exposed by BSD make programs. - + Define _XOPEN_SOURCE for libI77 build to avoid potential - problems on some 64-bit systems. - + Fix problem with implicit endfile on rewind. - + Fix spurious recursive I/O errors. - * platform specific improvements and fixes - + Match all versions of UnixWare7. - + Do not assume x86 SVR4 or UnixWare targets can handle stabs. - + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion - from unsigned ints to double precision floats. - + Fix ARM ABI issue with NetBSD. - + Fix a few arm code generation bugs. - + Fixincludes will fix additional broken SCO OpenServer header - files. - + Fix a m68k backend bug which caused invalid offsets in reg+d - addresses. - + Fix problems with 64bit AIX 4.3 support. - + Fix handling of long longs for varargs/stdarg functions on - the ppc. - + Minor fixes to CPP predefines for Windows. - + Fix code generation problems with gpr<->fpr copies for 64bit - ppc. - + Fix a few coldfire code generation bugs. - + Fix some more header file problems on SunOS 4.x. - + Fix assert.h handling for RTEMS. - + Fix Windows handling of TREE_SYMBOL_REFERENCED. - + Fix x86 compiler abort in reg-stack pass. - + Fix cygwin/windows problem with section attributes. - + Fix Alpha code generation problem exposed by SMP Linux - kernels. - + Fix typo in m68k 32->64bit integer conversion. - + Make sure target libraries build with -fPIC for PPC & Alpha - targets. - - EGCS 1.1.2 is a minor update to fix several serious problems in EGCS - 1.1.1: - * General improvements and fixes - + Fix bug in loop optimizer which caused the SPARC (and - potentially other) ports to segfault. - + Fix infinite recursion in alias analysis and combiner code. - + Fix bug in regclass preferencing. - + Fix incorrect loop reversal which caused incorrect code to be - generated for several targets. - + Fix return value for builtin memcpy. - + Reduce compile time for certain loops which exposed quadratic - behavior in the loop optimizer. - + Fix bug which caused volatile memory to be written multiple - times when only one write was needed/desired. - + Fix compiler abort in caller-save.c - + Fix combiner bug which caused incorrect code generation for - certain division by constant operations. - + Fix incorrect code generation due to a bug in range check - optimizations. - + Fix incorrect code generation due to mis-handling of - clobbered values in CSE. - + Fix compiler abort/segfault due to incorrect register - splitting when unrolling loops. - + Fix code generation involving autoincremented addresses with - ternary operators. - + Work around bug in the scheduler which caused qt to be - mis-compiled on some platforms. - + Fix code generation problems with -fshort-enums. - + Tighten security for temporary files. - + Improve compile time for codes which make heavy use of - overloaded functions. - + Fix multiply defined constructor/destructor symbol problems. - + Avoid setting bogus RPATH environment variable during - bootstrap. - + Avoid GNU-make dependencies in the texinfo subdir. - + Install CPP wrapper script in $(prefix)/bin if --enable-cpp. - --enable-cpp= 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 2003-02-21 [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: support for the Power64 architecture and AIX - 4.3. The RS6000/PowerPC port now uses the Haifa scheduler. - + x86: Alignment of static store data and jump targets is per - Intel recommendations now. Various improvements throughout - the x86 port to improve performance on Pentium processors - (including improved epilogue sequences for Pentium chips and - backend improvements which should help register allocation on - all x86 variants. Conditional move support has been fixed and - enabled for PPro processors. The x86 port also better - supports 64bit operations now. Unixware 7, a System V Release - 5 target, is now supported and SCO OpenServer targets can - support GAS. - + MIPS has improved multiply/multiply-add support and now - includes mips16 ISA support. - + M68k has many micro-optimizations and Coldfire fixes. - * Core compiler is based on the GCC development tree from June 9, - 1998, so we have all of the [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 2003-03-29 [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 the - FAQ (as shipped with EGCS 1.1) for additional information. - * In general, EGCS is more rigorous about rejecting invalid C++ code - or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As - a result it may be necessary to fix C++ code before it will - compile with EGCS. - * G++ is also converting toward the ISO C++ standard; as a result - code which was previously valid (and thus accepted by other - compilers and older versions of g++) may no longer be accepted. - * EGCS 1.1 compiled C++ code is not binary compatible with EGCS - 1.0.x or GCC 2.8.x due to changes necessary to support thread safe - exception handling. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There - are also [2]other ways to contact the FSF. - - These pages are maintained by [3]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [4]gcc@gnu.org or [5]gcc@gcc.gnu.org, send other - questions to [6]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 2003-02-21 [7]Valid XHTML 1.0 - -References - - 1. mailto:gnu@gnu.org - 2. http://www.gnu.org/home.html#ContactInfo - 3. http://gcc.gnu.org/about.html - 4. mailto:gcc@gnu.org - 5. mailto:gcc@gcc.gnu.org - 6. mailto:gnu@gnu.org - 7. 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 2003-02-21 [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 2003-02-21 [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 2003-02-21 [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 2003-02-21 [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 2003-02-21 [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 the - FAQ (as shipped with EGCS 1.0) for additional information. - * In general, EGCS is more rigorous about rejecting invalid C++ code - or deprecated C++ constructs than G++ 2.7. As a result it may be - necessary to fix C++ code before it will compile with EGCS. - * G++ is also aggressively tracking the C++ standard; as a result - code which was previously valid (and thus accepted by other - compilers and older versions of G++) may no longer be accepted. - * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS - 1.0.x and later releases should work with Red Hat Linux 5.0. - _________________________________________________________________ - - Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There - are also [2]other ways to contact the FSF. - - These pages are maintained by [3]The GCC team. - - - Please send comments on these web pages and GCC to our public - mailing list at [4]gcc@gnu.org or [5]gcc@gcc.gnu.org, send other - questions to [6]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 2003-02-21 [7]Valid XHTML 1.0 - -References - - 1. mailto:gnu@gnu.org - 2. http://www.gnu.org/home.html#ContactInfo - 3. http://gcc.gnu.org/about.html - 4. mailto:gcc@gnu.org - 5. mailto:gcc@gcc.gnu.org - 6. mailto:gnu@gnu.org - 7. http://validator.w3.org/check/referer -======================================================================