From c4551f3d32c4ed0db9d1d15a20a0da55e9561f75 Mon Sep 17 00:00:00 2001 From: mmitchel Date: Wed, 13 Jun 2001 18:25:49 +0000 Subject: [PATCH] * gcc_release (-b): Remove option. (build_sources): Generate NEWS files. (build_tarfiles): Set permissions on directories and files. Always generate BZIP2 files. * gennews: Set TERM to vt100 for Lynx. * NEWS: Remove. * NEWS: Update release number. * BUGS: Remove. * NEWS: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-3_0-branch@43338 138bc75d-0d04-0410-961f-82ee72b054a4 --- contrib/ChangeLog | 8 + contrib/gcc_release | 49 +- contrib/gennews | 5 +- gcc/ChangeLog | 4 + gcc/NEWS | 1852 --------------------------------------------------- gcc/cp/ChangeLog | 4 + gcc/cp/NEWS | 2 +- gcc/f/BUGS | 146 ---- gcc/f/ChangeLog | 5 + gcc/f/NEWS | 413 ------------ 10 files changed, 56 insertions(+), 2432 deletions(-) delete mode 100644 gcc/NEWS delete mode 100644 gcc/f/BUGS delete mode 100644 gcc/f/NEWS diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 6515b25cef8..87a837a5064 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,11 @@ +2001-06-13 Mark Mitchell + + * gcc_release (-b): Remove option. + (build_sources): Generate NEWS files. + (build_tarfiles): Set permissions on directories and files. + Always generate BZIP2 files. + * gennews: Set TERM to vt100 for Lynx. + 2001-06-13 Gerald Pfeifer * gcc_release (build_sources): Generate documentation in HTML from diff --git a/contrib/gcc_release b/contrib/gcc_release index bbf7835f24e..2ec67e008b2 100755 --- a/contrib/gcc_release +++ b/contrib/gcc_release @@ -34,8 +34,8 @@ # Notes ######################################################################## -# Here is an example usage of this script, to create the GCC 3.0.2 -# release: +# Here is an example usage of this script, to create a GCC 3.0.2 +# prerelease: # # gcc_release -r 3.0.2 # @@ -69,7 +69,7 @@ gcc_release [-d destination] [-r release] [-t tag] [-p previous-tarball] - [-b] [-s] [-f] + [-s] [-f] EOF exit 1 } @@ -122,10 +122,8 @@ build_sources() { changedir "gcc-${RELEASE}" contrib/gcc_update --touch - # Now, we must build the compiler in order to create any generated - # files that are supposed to go in the source directory. This is - # also a good sanity check to make sure that the release builds - # on at least one platform. + # For a prerelease or real release, we need to generate additional + # files not present in CVS. if [ $SNAPSHOT -ne 1 ]; then # Generate the documentation. inform "Building install docs" @@ -135,9 +133,22 @@ build_sources() { export DESTDIR ${SOURCE_DIRECTORY}/gcc/doc/install.texi2html + # Regenerate the NEWS file. + contrib/gennews > gcc/NEWS || \ + error "Could not regenerate NEWS files" + + # Now, we must build the compiler in order to create any generated + # files that are supposed to go in the source directory. This is + # also a good sanity check to make sure that the release builds + # on at least one platform. inform "Building compiler" - contrib/gcc_build -d ${SOURCE_DIRECTORY} -o ../objdir build || \ + OBJECT_DIRECTORY=../objdir + contrib/gcc_build -d ${SOURCE_DIRECTORY} -o ${OBJECT_DIRECTORY} build || \ error "Could not rebuild GCC" + + # Regenerate the Fotran NEWS and BUGS files. + (cd ${OBJECT_DIRECTORY}/gcc/f && make f77.rebuilt) || \ + error "Could not regenerate Fortran NEWS and BUGS files" fi # Move message catalogs to source directory. @@ -176,6 +187,12 @@ build_tarfiles() { changedir "${WORKING_DIRECTORY}" + # The GNU Coding Standards specify that all files should + # world readable. + chmod -R a+r ${SOURCE_DIRECTORY} + # And that all directories have mode 777. + find ${SOURCE_DIRECTORY} -type d -exec chmod 777 {} \; + # Build one huge tarfile for the entire distribution. build_tarfile gcc-${RELEASE} `basename ${SOURCE_DIRECTORY}` @@ -203,12 +220,10 @@ build_tarfiles() { fi # Possibly build .bz2 files. - if [ $CREATE_BZIP2 -ne 0 ]; then - for f in ${FILE_LIST}; do - bzfile=${f%.gz}.bz2 - zcat $f | ${BZIP2} > ${bzfile} - FILE_LIST="${FILE_LIST} ${bzfile}" - done + for f in ${FILE_LIST}; do + bzfile=${f%.gz}.bz2 + zcat $f | ${BZIP2} > ${bzfile} + FILE_LIST="${FILE_LIST} ${bzfile}" fi } @@ -321,9 +336,6 @@ TESTSUITE_DIRS="gcc/testsuite" # Non-zero if this is the final release, rather than a prerelease. FINAL=0 -# Non-zero if we create .bz2 files. -CREATE_BZIP2=0 - # Non-zero if we are building a snapshot, and don't build gcc or # include generated files. SNAPSHOT=0 @@ -350,14 +362,13 @@ TAR="${TAR:-tar}" ######################################################################## # Parse the options. -while getopts "d:fr:u:t:p:bs" ARG; do +while getopts "d:fr:u:t:p:s" ARG; do case $ARG in d) DESTINATION="${OPTARG}";; r) RELEASE="${OPTARG}";; t) TAG="${OPTARG}";; u) CVS_USERNAME="${OPTARG}";; f) FINAL=1;; - b) CREATE_BZIP2=1;; s) SNAPSHOT=1;; p) OLD_TARS="${OLD_TARS} ${OPTARG}";; \?) usage;; diff --git a/contrib/gennews b/contrib/gennews index 784bdf394db..ac7abdf2bec 100755 --- a/contrib/gennews +++ b/contrib/gennews @@ -49,6 +49,9 @@ echo $header for file in $files; do wfile=$website$file echo $wfile - lynx -dump $wfile + # We lie to Lynx about the kind of terminal in use because we + # want to get consistent output everywhere, and we want this + # script to work even when it is not run interactively. + env TERM=vt100 lynx -dump $wfile echo $header done diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab3ffa84ec1..45eb719d16a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-06-13 Mark Mitchell + + * NEWS: Remove. + 2001-06-13 Richard Henderson * ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code. diff --git a/gcc/NEWS b/gcc/NEWS deleted file mode 100644 index 1fbc7a2568a..00000000000 --- a/gcc/NEWS +++ /dev/null @@ -1,1852 +0,0 @@ -This file contains information about GCC releases which has been -generated automatically from the online release notes. This file -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.0/gcc-3.0.html - - GCC 3.0 - - TBA - - The [1]GNU project and the GCC developers are pleased to announce the - release of GCC version 3.0. - - 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 has several new optimizations, new targets, new languages and - many other new features. See the [2]new features page for a more - complete list. - - The GCC developers would like to thank the numerous people that have - contributed new features, test results, bugfixes, etc to GCC. This - [3]amazing group of volunteers is what makes GCC successful. - - And finally, we can't in good conscience fail to mention some - [4]caveats to using GCC 3.0. - - For additional information about GCC please refer to the [5]GCC - project web site or contact the [6]GCC development mailing list. - _________________________________________________________________ - - - Please send FSF & GNU inquiries & questions to [7]gnu@gnu.org. There - are also [8]other ways to contact the FSF. - These pages are maintained by [9]The GCC team. - Please send comments on these web pages and GCC to - [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 2001-05-12. - -References - - 1. http://www.gnu.org/ - 2. http://gcc.gnu.org/gcc-3.0/features.html - 3. http://gcc.gnu.org/thanks.html - 4. http://gcc.gnu.org/gcc-3.0/caveats.html - 5. http://gcc.gnu.org/index.html - 6. mailto:gcc@gcc.gnu.org - 7. mailto:gnu@gnu.org - 8. http://www.gnu.org/home.html#ContactInfo - 9. http://gcc.gnu.org/about.html - 10. mailto:gcc@gcc.gnu.org - 11. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-3.0/features.html - - GCC 3.0 New Features - - * General Optimizer Improvements: - + [1]Basic block reordering pass. - + New if-conversion pass with support for conditional - (predicated) execution. - + New tail call and sibling call elimination optimizations. - + New register renaming pass. - + New (experimental) [2]static single assignment (SSA) - representation support. - + New dead-code elimination pass implemented using the SSA - representation. - + [3]Global null pointer test elimination. - + [4]Global code hoisting/unification. - + More builtins and optimizations for stdio.h, string.h and old - BSD functions, as well as for ISO C99 functions. - + New builtin __builtin_expect for giving hints to the branch - predictor. - * New Languages and Language specific improvements: - + The GNU Compiler for the Java(TM) language (GCJ) is now - integrated and supported, including the run-time library - containing most common non-GUI Java classes, a bytecode - interpreter, and the Boehm conservative garbage collector. - Many bugs have been fixed. GCJ can compile Java source or - Java bytecodes to either native code or Java class files, and - supports native methods written in either the standard JNI or - the more efficient and convenient CNI. - + New C++ ABI, capable of inter-operating with other IA-64 - compilers. - + The new ABI also significantly reduces the size of symbol and - debug information. - + New C++ support library and many C++ bug fixes, vastly - improving our conformance to the ISO C++ standard. - + New [5]inliner for C++. - + Rewritten C preprocessor, integrated into the C, C++ and - Objective C compilers, with very many improvements including - ISO C99 support and [6]improvements to dependency generation. - + Support for more [7]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 [8]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 [9]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 [10]features found - in GCC 2.95. - _________________________________________________________________ - - - 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 - [14]gcc@gcc.gnu.org, send other questions to [15]gnu@gnu.org. - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111, USA. - Verbatim copying and distribution of this entire article is - permitted in any medium, provided this notice is preserved. - Last modified 2001-05-30. - -References - - 1. http://gcc.gnu.org/news/reorder.html - 2. http://gcc.gnu.org/news/ssa.html - 3. http://gcc.gnu.org/news/null.html - 4. http://gcc.gnu.org/news/unify.html - 5. http://gcc.gnu.org/news/inlining.html - 6. http://gcc.gnu.org/news/dependencies.html - 7. http://gcc.gnu.org/gcc-3.0/c99status.html - 8. http://gcc.gnu.org/onlinedocs/g77_news.html - 9. http://gcc.gnu.org/gcc-3.0/libgcc.html - 10. http://gcc.gnu.org/gcc-2.95/features.html - 11. mailto:gnu@gnu.org - 12. http://www.gnu.org/home.html#ContactInfo - 13. http://gcc.gnu.org/about.html - 14. mailto:gcc@gcc.gnu.org - 15. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-3.0/caveats.html - - GCC 3.0 Caveats - - * Enumerations are now properly promoted to int in function - parameters and function returns. Normally this change is not - visible, but when using -fshort-enums this is an ABI change. - * The undocumented extension that allowed C programs to have a label - at the end of a compound statement has been deprecated and may be - removed in a future version. Programs that now generate a warning - about this may be fixed by adding a null statement (a single - semicolon) after the label. - * The poorly documented extension that allowed string constants in - C, C++ and Objective C to contain unescaped newlines has been - deprecated and may be removed in a future version. Programs using - this extension may be fixed in several ways: the bare newline may - be replaced by \n, or preceded by \n\, or string concatenation may - be used with the bare newline preceded by \n" and " placed at the - start of the next line. - * The Chill compiler is not included in GCC 3.0, because of the lack - of a volunteer to convert it to use garbage collection. - _________________________________________________________________ - - - 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 - [4]gcc@gcc.gnu.org, send other questions to [5]gnu@gnu.org. - Copyright (C) Free Software Foundation, Inc., 59 Temple Place - - Suite 330, Boston, MA 02111, USA. - Verbatim copying and distribution of this entire article is - permitted in any medium, provided this notice is preserved. - Last modified 2001-05-04. - -References - - 1. mailto:gnu@gnu.org - 2. http://www.gnu.org/home.html#ContactInfo - 3. http://gcc.gnu.org/about.html - 4. mailto:gcc@gcc.gnu.org - 5. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-2.95/gcc-2.95.3.html - - GCC 2.95.3 - - March 16, 2001 - - The GNU project and the GCC developers are pleased to announce the - release of GCC version 2.95.3. 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. - - This is a minor release to address several bugs in the [1]GCC version - 2.95.2 release. - - * 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. - - The whole suite has been extensively [2]regression tested and - [3]package tested. It should be reliable and suitable for widespread - use. - - The GCC 2.95 release has several new optimizations, new targets, new - languages and other new features as compared to EGCS 1.1 or GCC 2.8. - See the [4]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 [5]installation instructions and [6]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 - [7]amazing group of volunteers is what makes GCC successful. - - And finally, we can't in good conscience fail to mention some - [8]caveats to using GCC 2.95.3. - - Download GCC 2.95.3 from the [9]GNU FTP server (ftp://ftp.gnu.org) - Download GCC 2.95.3 from the [10]GCC FTP server (ftp://gcc.gnu.org) - [11]Find a GNU mirror site - [12]Find a GCC mirror site - - For additional information about GCC please see the [13]GCC project - web server or contact the [14]GCC development mailing list. - _________________________________________________________________ - - - Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org. - There are also [16]other ways to contact the FSF. - These pages are maintained by [17]The GCC team. - Please send comments on these web pages and GCC to - [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 2001-05-04. - -References - - 1. http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html - 2. http://gcc.gnu.org/gcc-2.95/regress.html - 3. http://gcc.gnu.org/gcc-2.95/othertest.html - 4. http://gcc.gnu.org/gcc-2.95/features.html - 5. http://gcc.gnu.org/install/index.html - 6. http://gcc.gnu.org/gcc-2.95/buildstat.html - 7. http://gcc.gnu.org/thanks.html - 8. http://gcc.gnu.org/gcc-2.95/caveats.html - 9. ftp://ftp.gnu.org/pub/gnu/gcc/ - 10. ftp://gcc.gnu.org/pub/gcc/releases/index.html - 11. http://www.gnu.org/order/ftp.html - 12. http://gcc.gnu.org/mirrors.html - 13. http://gcc.gnu.org/index.html - 14. mailto:gcc@gcc.gnu.org - 15. mailto:gnu@gnu.org - 16. http://www.gnu.org/home.html#ContactInfo - 17. http://gcc.gnu.org/about.html - 18. mailto:gcc@gcc.gnu.org - 19. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html - - GCC 2.95.2 - - October 27, 1999 - - The GNU project and the GCC developers are pleased to announce the - release of GCC version 2.95.2. GCC used to stand for the GNU C - Compiler, but since the compiler supports several other languages - aside from C, it now stands for the GNU Compiler Collection. - - This is a minor release to address several bugs in the GCC version - 2.95.1 release. - - 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. - - The whole suite has been extensively [1]regression tested and - [2]package tested. It should be reliable and suitable for widespread - use. - - The GCC 2.95 release has several new optimizations, new targets, new - languages and other new features as compared to EGCS 1.1 or GCC 2.8. - 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.2. - - Download GCC 2.95.2 from the [8]GNU FTP server (ftp://ftp.gnu.org) - Download GCC 2.95.2 from the [9]GCC/EGCS FTP server - (ftp://gcc.gnu.org) - [10]Find a GNU mirror site - [11]Find a GCC/EGCS mirror site - - For additional information about GCC please see the [12]GCC project - web server or contact the [13]GCC development mailing list. - _________________________________________________________________ - - - 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 - [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 2001-05-04. - -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/index.html - 5. http://gcc.gnu.org/gcc-2.95/buildstat.html - 6. http://gcc.gnu.org/thanks.html - 7. http://gcc.gnu.org/gcc-2.95/caveats.html - 8. ftp://ftp.gnu.org/pub/gnu/gcc/ - 9. ftp://gcc.gnu.org/pub/gcc/releases/index.html - 10. http://www.gnu.org/order/ftp.html - 11. http://gcc.gnu.org/mirrors.html - 12. http://gcc.gnu.org/index.html - 13. mailto:gcc@gcc.gnu.org - 14. mailto:gnu@gnu.org - 15. http://www.gnu.org/home.html#ContactInfo - 16. http://gcc.gnu.org/about.html - 17. mailto:gcc@gcc.gnu.org - 18. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-2.95/gcc-2.95.1.html - - GCC 2.95.1 - - August 19, 1999 - - The GNU project and the GCC/EGCS developers are pleased to announce - the release of GCC version 2.95.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. - - This is a minor release to address several bugs in the GCC version - 2.95 release. - - * 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. - - 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.1. - - Download GCC 2.95.1 from the [8]GNU FTP server (ftp://ftp.gnu.org) - Download GCC 2.95.1 from the [9]GCC/EGCS FTP server - (ftp://go.cygnus.com) - [10]Find a GNU mirror site - [11]Find a GCC/EGCS mirror site - - For additional information about GCC please see the [12]GCC project - web server or contact the [13]GCC development mailing list. - _________________________________________________________________ - - - 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 - [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 2001-05-04. - -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/index.html - 5. http://gcc.gnu.org/gcc-2.95/buildstat.html - 6. http://gcc.gnu.org/thanks.html - 7. http://gcc.gnu.org/gcc-2.95/caveats.html - 8. ftp://ftp.gnu.org/pub/gnu/gcc/ - 9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 10. http://www.gnu.org/order/ftp.html - 11. http://gcc.gnu.org/mirrors.html - 12. http://gcc.gnu.org/index.html - 13. mailto:gcc@gcc.gnu.org - 14. mailto:gnu@gnu.org - 15. http://www.gnu.org/home.html#ContactInfo - 16. http://gcc.gnu.org/about.html - 17. mailto:gcc@gcc.gnu.org - 18. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-2.95/gcc-2.95.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. 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. - - 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. - - 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) - Download GCC 2.95 from the [9]GCC/EGCS FTP server - (ftp://go.cygnus.com) - [10]Find a GNU mirror site - [11]Find a GCC/EGCS mirror site - - For additional information about GCC please see the [12]GCC project - web server or contact the [13]GCC development mailing list. - _________________________________________________________________ - - - 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 - [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 2001-05-04. - -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/index.html - 5. http://gcc.gnu.org/gcc-2.95/buildstat.html - 6. http://gcc.gnu.org/thanks.html - 7. http://gcc.gnu.org/gcc-2.95/caveats.html - 8. ftp://ftp.gnu.org/pub/gnu/gcc/ - 9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 10. http://www.gnu.org/order/ftp.html - 11. http://gcc.gnu.org/mirrors.html - 12. http://gcc.gnu.org/index.html - 13. mailto:gcc@gcc.gnu.org - 14. mailto:gnu@gnu.org - 15. http://www.gnu.org/home.html#ContactInfo - 16. http://gcc.gnu.org/about.html - 17. mailto:gcc@gcc.gnu.org - 18. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-2.95/features.html - - GCC 2.95 New Features - - * General Optimizer Improvements: - + [1]Localized register spilling to improve speed and code - density especially on small register class machines. - + [2]Global CSE using lazy code motion algorithms. - + [3]Improved global constant/copy propagation. - + [4]Improved control flow graph analysis and manipulation. - + [5]Local dead store elimination. - + [6]Memory Load hoisting/store sinking in loops. - + [7]Type based alias analysis is enabled by default. Note this - feature will expose bugs in the Linux kernel. Please refer to - the [8]FAQ for additional information on this issue. - + Major revamp of GIV detection, combination and simplification - to improve loop performance. - + Major improvements to register allocation and reloading. - * New Languages and Language specific improvements - + [9]Many C++ improvements. - + [10]Many Fortran improvements. - + [11]Java front-end has been integrated. A [12]runtime library - is available separately. - + [13]ISO C99 support - + [14]Chill front-end and runtime has been integrated. - + Boehm garbage collector support in libobjc. - + More support for various pragmas which appear in vendor - include files - * New Targets and Target Specific Improvements - + [15]Sparc backend rewrite. - + -mschedule=8000 will optimize code for PA8000 class - processors; -mpa-risc-2-0 will generate code for PA2.0 - processors - + Various micro-optimizations for the ia32 port. K6 - optimizations - + Compiler will attempt to align doubles in the stack on the - ia32 port - + Alpha EV6 support - + PowerPC 750 - + RS6000/PowerPC: -mcpu=401 was added as an alias for - -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and - -msoft-float. - + c3x, c4x - + HyperSparc - + SparcLite86x - + sh4 - + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix, - arm-linux) - + vxWorks targets include support for vxWorks threads - + StrongARM 110 and ARM9 support added. ARM Scheduling - parameters rewritten. - + Various changes to the MIPS port to avoid assembler macros, - which - + Various performance improvements to the i960 port. - + Major rewrite of ns32k port in turn improves performance - * Other significant improvements - + [16]Ability to dump cfg information and display it using vcg. - + The new faster scheme for fixing vendor header files is - enabled by default. - + Experimental internationalization support. - + multibyte character support - + Some compile-time speedups for pathological problems - + Better support for complex types - * Plus the usual mountain of bugfixes - * Core compiler is based on the gcc2 development tree from Sept 30, - 1998, so we have all of the [17]features found in GCC 2.8. - _________________________________________________________________ - - - Please send FSF & GNU inquiries & questions to [18]gnu@gnu.org. - There are also [19]other ways to contact the FSF. - These pages are maintained by [20]The GCC team. - Please send comments on these web pages and GCC to - [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 2001-05-04. - -References - - 1. http://gcc.gnu.org/news/spill.html - 2. http://gcc.gnu.org/news/lcm.html - 3. http://gcc.gnu.org/news/cprop.html - 4. http://gcc.gnu.org/news/cfg.html - 5. http://gcc.gnu.org/news/dse.html - 6. http://gcc.gnu.org/news/hoist.html - 7. http://gcc.gnu.org/news/alias.html - 8. http://gcc.gnu.org/fom_serv/cache/24.html - 9. http://gcc.gnu.org/gcc-2.95/c++features.html - 10. http://gcc.gnu.org/onlinedocs/g77_news.html - 11. http://sources.redhat.com/java/gcj-announce.txt - 12. http://gcc.gnu.org/news/javaannounce.html - 13. http://gcc.gnu.org/c99status.html - 14. http://gcc.gnu.org/news/chill.html - 15. http://gcc.gnu.org/news/sparc.html - 16. http://gcc.gnu.org/news/egcs-vcg.html - 17. http://gcc.gnu.org/egcs-1.0/features-2.8.html - 18. mailto:gnu@gnu.org - 19. http://www.gnu.org/home.html#ContactInfo - 20. http://gcc.gnu.org/about.html - 21. mailto:gcc@gcc.gnu.org - 22. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/gcc-2.95/caveats.html - - GCC 2.95 Caveats - - * GCC 2.95 will issue an error for invalid asm statements that had - been silently accepted by earlier versions of the compiler. This - is particularly noticeable when compiling older versions of the - Linux kernel (2.0.xx). Please refer to the [1]FAQ for more - information on this issue. - * GCC 2.95 implements type based alias analysis to disambiguate - memory references. Some programs, particularly the Linux kernel - violate ANSI/ISO aliasing rules and therefore may not operate - correctly when compiled with GCC 2.95. Please refer to the [2]FAQ - for more information on this issue. - * GCC 2.95 has a known bug in its handling of complex variables for - 64bit targets. Instead of silently generating incorrect code, GCC - 2.95 will issue a fatal error for situations it can not handle. - This primarily affects the Fortran community as Fortran makes more - use of complex variables than C or C++. - * GCC 2.95 has an integrated libstdc++, but does not have an - integrated libg++. Furthermore old libg++ releases will not work - with GCC 2.95. You can retrieve a recent copy of libg++ from the - [3]GCC ftp server. - Note most C++ programs only need libstdc++. - * Exception handling may not work with shared libraries, - particularly on alphas, hppas, rs6000/powerpc and mips based - platforms. Exception handling is known to work on x86 GNU/Linux - platforms with shared libraries. - * In general, GCC 2.95 is more rigorous about rejecting invalid C++ - code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0, - or EGCS 1.1. As a result it may be necessary to fix C++ code - before it will compile with GCC 2.95. - * G++ is also converting toward the ISO C++ standard; as a result - code which was previously valid (and thus accepted by other - compilers and older versions of g++) may no longer be accepted. - The flag -fpermissive may allow some non-conforming code to - compile with GCC 2.95. - * GCC 2.95 compiled C++ code is not binary compatible with EGCS - 1.1.x, EGCS 1.0.x or GCC 2.8.x. - * GCC 2.95 does not have changes from the GCC 2.8 tree that were - made between Sept 30, 1998 and April 30, 1999 (the official end of - the GCC 2.8 project). Future GCC releases will include all the - changes from the defunct GCC 2.8 sources. - _________________________________________________________________ - - - Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There - are also [5]other ways to contact the FSF. - These pages are maintained by [6]The GCC team. - Please send comments on these web pages and GCC to - [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 2001-05-04. - -References - - 1. http://gcc.gnu.org/faq.html#asmclobber - 2. http://gcc.gnu.org/fom_serv/cache/24.html - 3. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz - 4. mailto:gnu@gnu.org - 5. http://www.gnu.org/home.html#ContactInfo - 6. http://gcc.gnu.org/about.html - 7. mailto:gcc@gcc.gnu.org - 8. mailto:gnu@gnu.org -====================================================================== -http://gcc.gnu.org/egcs-1.1/egcs-1.1.2.html - - EGCS 1.1.2 - - March 15, 1999 - - We are pleased to announce the release of EGCS 1.1.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.1.2 is a minor update to the EGCS 1.1.1 compiler to fix several - serious problems in EGCS 1.1.1. - * General improvements and fixes - + Fix bug in loop optimizer which caused the SPARC (and - potentially other) ports to segfault. - + Fix infinite recursion in alias analysis and combiner code. - + Fix bug in regclass preferencing. - + Fix incorrect loop reversal which caused incorrect code to be - generated for several targets. - + Fix return value for builtin memcpy. - + Reduce compile time for certain loops which exposed quadratic - behavior in the loop optimizer. - + Fix bug which caused volatile memory to be written multiple - times when only one write was needed/desired. - + Fix compiler abort in caller-save.c - + Fix combiner bug which caused incorrect code generation for - certain division by constant operations. - + Fix incorrect code generation due to a bug in range check - optimizations. - + Fix incorrect code generation due to mis-handling of - clobbered values in CSE. - + Fix compiler abort/segfault due to incorrect register - splitting when unrolling loops. - + Fix code generation involving autoincremented addresses with - ternary operators. - + Work around bug in the scheduler which caused qt to be - mis-compiled on some platforms. - + Fix code generation problems with -fshort-enums. - + Tighten security for temporary files. - + Improve compile time for codes which make heavy use of - overloaded functions. - + Fix multiply defined constructor/destructor symbol problems. - + Avoid setting bogus RPATH environemnt variable during - bootstrap. - + Avoid GNU-make dependencies in the texinfo subdir. - + Install CPP wrapper script in $(prefix)/bin if --enable-cpp. - --enable-cpp= 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). - - 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.1.2 is based on the 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 gcc2 up to June 6, 1998. - - See the [1]new features page for a more complete list of new features - found in EGCS 1.1 releases. - - The EGCS 1.1.2 release includes installation instructions in both HTML - and plaintext forms (see the INSTALL directory in the toplevel - directory of the EGCS 1.1.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. - - The EGCS project would like to thank the numerous people that have - contributed new features, test results, bugfixes, etc. This [4]amazing - group of volunteers is what makes EGCS successful. - - And finally, we can't in good conscience fail to mention some - [5]caveats to using EGCS 1.1.2. [6]Download EGCS 1.1.2 from - egcs.cygnus.com (USA California) --> - - [7]Download EGCS 1.1.2 from go.cygnus.com (USA California - High speed - link provided by Stanford) - - The EGCS 1.1.2 release is also available on many [8]mirror sites. - _________________________________________________________________ - - Last modified on July 28, 1999. - -References - - 1. http://gcc.gnu.org/egcs-1.1/features.html - 2. http://gcc.gnu.org/install/index.html - 3. http://gcc.gnu.org/egcs-1.1/buildstat.html - 4. http://gcc.gnu.org/thanks.html - 5. http://gcc.gnu.org/egcs-1.1/caveats.html - 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 8. http://gcc.gnu.org/mirrors.html -====================================================================== -http://gcc.gnu.org/egcs-1.1/egcs-1.1.1.html - - EGCS 1.1.1 - - December 1, 1998 - - We are pleased to announce the release of EGCS 1.1.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.1.1 is a minor update to the EGCS 1.1 compiler 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. - - 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.1.1 is based on the 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 gcc2 up to June 6, 1998. - - See the [1]new features page for a more complete list of new features - found in EGCS 1.1 releases. - - The EGCS 1.1.1 release includes installation instructions in both HTML - and plaintext forms (see the INSTALL directory in the toplevel - directory of the EGCS 1.1.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. - - The EGCS project would like to thank the numerous people that have - contributed new features, test results, bugfixes, etc. This [4]amazing - group of volunteers is what makes EGCS successful. - - And finally, we can't in good conscience fail to mention some - [5]caveats to using EGCS 1.1.1. - - [6]Download EGCS 1.1.1 from egcs.cygnus.com (USA California) - - The EGCS 1.1.1 release is also available on many mirror sites. - [7]Goto mirror list to find a closer site - _________________________________________________________________ - - Last modified on July 28, 1999. - -References - - 1. http://gcc.gnu.org/egcs-1.1/features.html - 2. http://gcc.gnu.org/install/index.html - 3. http://gcc.gnu.org/egcs-1.1/buildstat.html - 4. http://gcc.gnu.org/thanks.html - 5. http://gcc.gnu.org/egcs-1.1/caveats.html - 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 7. http://gcc.gnu.org/mirrors.html -====================================================================== -http://gcc.gnu.org/egcs-1.1/egcs-1.1.html - - EGCS 1.1 - - September 3, 1998 - - We are pleased to announce the release of EGCS 1.1. - - 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 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 [5]g77 version 0.5.23. - - See the [6]new features page for a more complete list of new features - found in EGCS 1.1 releases. - - The EGCS 1.1 release includes installation instructions in both HTML - and plaintext forms (see the INSTALL directory in the toplevel - directory of the EGCS 1.1 distribution). However, we also keep the - most up to date [7]installation instructions and [8]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 [9]amazing - group of volunteers is what makes EGCS successful. - - And finally, we can't in good conscience fail to mention some - [10]caveats to using EGCS 1.1. - - [11]Download EGCS 1.1 from egcs.cygnus.com (USA California) - - [12]Download EGCS 1.1 from go.cygnus.com (USA California -- High speed - link provided by Stanford) - - The EGCS 1.1 release is also available on many mirror sites. - [13]Goto mirror list to find a closer site - _________________________________________________________________ - - Last modified on September 4, 1999. - -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/onlinedocs/g77_news.html - 6. http://gcc.gnu.org/egcs-1.1/features.html - 7. http://gcc.gnu.org/install/index.html - 8. http://gcc.gnu.org/egcs-1.1/buildstat.html - 9. http://gcc.gnu.org/thanks.html - 10. http://gcc.gnu.org/egcs-1.1/caveats.html - 11. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 12. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 13. http://gcc.gnu.org/mirrors.html -====================================================================== -http://gcc.gnu.org/egcs-1.1/features.html - - EGCS 1.1 new features - - * Integrated GNU Fortran (g77) compiler and runtime library with - improvements, based on [1]g77 version 0.5.23. - * Vast improvements in the C++ compiler; so many they have [2]page - of their own! - * Compiler implements [3]global common subexpression elimination and - global copy/constant propagation. - * More major improvements in the [4]alias analysis code. - * More major improvements in the exception handling code to improve - performance, lower static overhead and provide the infrastructure - for future improvements. - * The infamous /tmp symlink race security problems have been fixed. - * The regmove optimization pass has been nearly completely rewritten - to improve performance of generated code. - * The compiler now recomputes register usage information before - local register allocation. By providing more accurate information - to the priority based allocator, we get better register - allocation. - * The register reloading phase of the compiler optimizes spill code - much better than in previous releases. - * Some bad interactions between the register allocator and - instruction scheduler have been fixed, resulting in much better - code for certain programs. Additionally, we have tuned the - scheduler in various ways to improve performance of generated code - for some architectures. - * The compiler's branch shortening algorithms have been - significantly improved to work better on targets which align jump - targets. - * The compiler now supports -Os to prefer optimizing for code space - over optimizing for code speed. - * The compiler will now totally eliminate library calls which - compute constant values. This primarily helps targets with no - integer div/mul support and targets without floating point - support. - * The compiler now supports an extensive "--help" option. - * cpplib has been greatly improved and may be suitable for limited - use. - * Memory footprint for the compiler has been significantly reduced - for some pathological cases. - * The time to build EGCS has been improved for certain targets - (particularly the alpha and mips platforms). - * Many infrastructure improvements throughout the compiler, plus the - usual mountain of bugfixes and minor improvements. - * Target dependent improvements: - + SPARC port now includes V8 plus and V9 support as well as - performance tuning for Ultra class machines. The SPARC port - now uses the Haifa scheduler. - + Alpha port has been tuned for the EV6 processor and has an - optimized expansion of memcpy/bzero. The Alpha port now uses - the Haifa scheduler. - + RS6000/PowerPC: EGCS 1.1 includes support for the Power64 - architecture and aix4.3 support. The RS6000/PowerPC port now - uses the Haifa scheduler. - + x86: Alignment of static store data and jump targets is per - Intel recommendations now. Various improvements throughout - the x86 port to improve performance on Pentium processors. - Conditional move support has been fixed and enabled for PPro - processors. The x86 port also better supports 64bit - operations now. - + MIPS has improved multiply/multiply-add support and now - includes mips16 ISA support. - + M68k has many micro-optimizations and Coldfire fixes. - * Core compiler is based on the GCC development tree from June 9, - 1998, so we have all of the [5]features found in GCC 2.8. - - [6]Return to the EGCS home page - - Last modified: September 4, 1999 - -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. http://gcc.gnu.org/index.html -====================================================================== -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 [1]libg++ 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 - [2]the FAQ for additional information. - * In general, EGCS is more rigorous about rejecting invalid C++ code - or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As - a result it may be necessary to fix C++ code before it will - compile with EGCS. - * G++ is also converting toward the ISO C++ standard; as a result - code which was previously valid (and thus accepted by other - compilers and older versions of g++) may no longer be accepted. - * EGCS 1.1 compiled C++ code is not binary compatible with EGCS - 1.0.x or GCC 2.8.x due to changes necessary to support thread safe - exception handling. - - [3]Return to the GCC home page - - Last modified: July 28, 1999 - -References - - 1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz - 2. http://gcc.gnu.org/fom_serv/cache/24.html - 3. http://gcc.gnu.org/index.html -====================================================================== -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 - [1]SGI's STL release instead of a modified copy. - * Integrated GNU Fortran compiler - * New instruction scheduler - * New alias analysis code - - See the [2]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 [3]installation instructions and [4]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 [5]caveats to - using EGCS. - - Update: Big thanks to Stanford for providing a high speed link for - downloading EGCS (go.cygnus.com)! - - [6]Download EGCS 1.0.3 from ftp.cygnus.com (USA California) - - [7]Download EGCS 1.0.3 from go.cygnus.com (USA California -- High - speed link provided by Stanford) - - The EGCS 1.0.3 release is also available on many mirror sites. - [8]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. - _________________________________________________________________ - - Last modified on February 22, 1999. - -References - - 1. http://www.sgi.com/Technology/STL - 2. http://gcc.gnu.org/egcs-1.0/features.html - 3. http://gcc.gnu.org/install/index.html - 4. http://gcc.gnu.org/egcs-1.0/buildstat.html - 5. http://gcc.gnu.org/egcs-1.0/caveats.html - 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 8. http://gcc.gnu.org/mirrors.html -====================================================================== -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 - [1]SGI's STL release. - * Integrated GNU Fortran compiler - * New instruction scheduler - * New alias analysis code - - See the [2]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 [3]installation instructions and [4]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 [5]caveats to - using EGCS. - - Update: Big thanks to Stanford for providing a high speed link for - downloading EGCS (go.cygnus.com)! - - [6]Download EGCS 1.0.2 from ftp.cygnus.com (USA California) - - [7]Download EGCS 1.0.2 from go.cygnus.com (USA California -- High - speed link provided by Stanford) - - The EGCS 1.0.2 release is also available on many mirror sites. - [8]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. - _________________________________________________________________ - - Last modified on July 28, 1999. - -References - - 1. http://www.sgi.com/Technology/STL/ - 2. http://gcc.gnu.org/egcs-1.0/features.html - 3. http://gcc.gnu.org/install/index.html - 4. http://gcc.gnu.org/egcs-1.0/buildstat.html - 5. http://gcc.gnu.org/egcs-1.0/caveats.html - 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 8. http://gcc.gnu.org/mirrors.html -====================================================================== -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. - * Compatability 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 - [1]SGI's STL release. - * Integrated GNU Fortran compiler - * New instruction scheduler - * New alias analysis code - - See the [2]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 [3]installation instructions and [4]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 [5]caveats to - using EGCS. - - Update: Big thanks to Stanford for providing a high speed link for - downloading EGCS (go.cygnus.com)! - - [6]Download EGCS 1.0.1 from ftp.cygnus.com (USA California) - - [7]Download EGCS 1.0.1 from go.cygnus.com (USA California -- High - speed link provided by Stanford) - - The EGCS 1.0.1 release is also available on many mirror sites. - [8]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. - _________________________________________________________________ - - Last modified on July 28, 1999. - -References - - 1. http://www.sgi.com/Technology/STL/ - 2. http://gcc.gnu.org/egcs-1.0/features.html - 3. http://gcc.gnu.org/install/index.html - 4. http://gcc.gnu.org/egcs-1.0/buildstat.html - 5. http://gcc.gnu.org/egcs-1.0/caveats.html - 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 8. http://gcc.gnu.org/mirrors.html -====================================================================== -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 - [1]SGI's STL release. - * Integrated GNU Fortran compiler - * New instruction scheduler - * New alias analysis code - - See the [2]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 [3]installation instructions and [4]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 [5]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) - - [6]Download EGCS 1.0 from ftp.cygnus.com (USA California) - - [7]Download EGCS 1.0 from 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. - [8]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. - _________________________________________________________________ - - Last modified on July 28, 1999. - -References - - 1. http://www.sgi.com/Technology/STL - 2. http://gcc.gnu.org/egcs-1.0/features.html - 3. http://gcc.gnu.org/install/index.html - 4. http://gcc.gnu.org/egcs-1.0/buildstat.html - 5. http://gcc.gnu.org/egcs-1.0/caveats.html - 6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html - 7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html - 8. http://gcc.gnu.org/mirrors.html -====================================================================== -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. - - [3]Return to the egcs home page - - Last modified: July 28, 1999 - -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. http://gcc.gnu.org/index.html -====================================================================== -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 [1]libg++ snapshot 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 - [2]the FAQ for additional information. - * In general, EGCS is more rigorous about rejecting invalid C++ code - or deprecated C++ constructs than G++ 2.7. As a result it may be - necessary to fix C++ code before it will compile with EGCS. - * G++ is also aggressively tracking the C++ standard; as a result - code which was previously valid (and thus accepted by other - compilers and older versions of G++) may no longer be accepted. - * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS - 1.0.x and later releases should work with Red Hat Linux 5.0. - - [3]Return to the GCC home page - - Last modified: August 27, 1998 - -References - - 1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz - 2. http://gcc.gnu.org/fom_serv/cache/24.html - 3. http://gcc.gnu.org/index.html -====================================================================== diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7899239a0d5..cc05d04fc3b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2001-06-13 Mark Mitchell + + * NEWS: Update release number. + 2001-06-12 Nathan Sidwell PR c++/3130, c++/3131, c++/3132 diff --git a/gcc/cp/NEWS b/gcc/cp/NEWS index d2c483d289c..7dd996c5030 100644 --- a/gcc/cp/NEWS +++ b/gcc/cp/NEWS @@ -1,4 +1,4 @@ -*** Changes since GCC 2.95: +*** Changes in GCC 3.0: * Support for guiding declarations has been removed. diff --git a/gcc/f/BUGS b/gcc/f/BUGS deleted file mode 100644 index 9f0ddd726ed..00000000000 --- a/gcc/f/BUGS +++ /dev/null @@ -1,146 +0,0 @@ -_Note:_ This file is automatically generated from the files -`bugs0.texi' and `bugs.texi'. `BUGS' is _not_ a source file, although -it is normally included within source distributions. - - This file lists known bugs in the GCC-3.0 version of the GNU Fortran -compiler. Copyright (C) 1995,1996,1997,1998,1999,2000 Free Software -Foundation, Inc. You may copy, distribute, and modify it freely as -long as you preserve this copyright notice and permission notice. - -Known Bugs In GNU Fortran -************************* - - This section identifies bugs that `g77' _users_ might run into in -the GCC-3.0 version of `g77'. This includes bugs that are actually in -the `gcc' back end (GBE) or in `libf2c', because those sets of code are -at least somewhat under the control of (and necessarily intertwined -with) `g77', so it isn't worth separating them out. - - For information on bugs in _other_ versions of `g77', see -`gcc/gcc/f/NEWS'. There, lists of bugs fixed in various versions of -`g77' can help determine what bugs existed in prior versions. - - An online, "live" version of this document (derived directly from -the mainline, development version of `g77' within `gcc') is available -via `http://www.gnu.org/software/gcc/onlinedocs/g77_bugs.html'. Follow -the "Known Bugs" link. - - For information on bugs that might afflict people who configure, -port, build, and install `g77', see "Problems Installing" in -`gcc/gcc/f/INSTALL'. - - The following information was last updated on 2000-11-05: - - * `g77' fails to warn about use of a "live" iterative-DO variable as - an implied-DO variable in a `WRITE' or `PRINT' statement (although - it does warn about this in a `READ' statement). - - * Something about `g77''s straightforward handling of label - references and definitions sometimes prevents the GBE from - unrolling loops. Until this is solved, try inserting or removing - `CONTINUE' statements as the terminal statement, using the `END DO' - form instead, and so on. - - * Some confusion in diagnostics concerning failing `INCLUDE' - statements from within `INCLUDE''d or `#include''d files. - - * `g77' assumes that `INTEGER(KIND=1)' constants range from `-2**31' - to `2**31-1' (the range for two's-complement 32-bit values), - instead of determining their range from the actual range of the - type for the configuration (and, someday, for the constant). - - Further, it generally doesn't implement the handling of constants - very well in that it makes assumptions about the configuration - that it no longer makes regarding variables (types). - - Included with this item is the fact that `g77' doesn't recognize - that, on IEEE-754/854-compliant systems, `0./0.' should produce a - NaN and no warning instead of the value `0.' and a warning. This - is to be fixed in version 0.6, when `g77' will use the `gcc' back - end's constant-handling mechanisms to replace its own. - - * `g77' uses way too much memory and CPU time to process large - aggregate areas having any initialized elements. - - For example, `REAL A(1000000)' followed by `DATA A(1)/1/' takes up - way too much time and space, including the size of the generated - assembler file. This is to be mitigated somewhat in version 0.6. - - Version 0.5.18 improves cases like this--specifically, cases of - _sparse_ initialization that leave large, contiguous areas - uninitialized--significantly. However, even with the - improvements, these cases still require too much memory and CPU - time. - - (Version 0.5.18 also improves cases where the initial values are - zero to a much greater degree, so if the above example ends with - `DATA A(1)/0/', the compile-time performance will be about as good - as it will ever get, aside from unrelated improvements to the - compiler.) - - Note that `g77' does display a warning message to notify the user - before the compiler appears to hang. - - * Previous versions of `g77' didn't emit information on variable and - array members of common blocks and equivalences for use with a - debugger (the `-g' command-line option). As of the version of - `g77' shipped with version 3.0 of `GCC', this is corrected. - - As of Version 0.5.19, a temporary kludge solution is provided - whereby some rudimentary information on a member is written as a - string that is the member's value as a character string. - - * When debugging, after starting up the debugger but before being - able to see the source code for the main program unit, the user - must currently set a breakpoint at `MAIN__' (or `MAIN___' or - `MAIN_' if `MAIN__' doesn't exist) and run the program until it - hits the breakpoint. At that point, the main program unit is - activated and about to execute its first executable statement, but - that's the state in which the debugger should start up, as is the - case for languages like C. - - * Debugging `g77'-compiled code using debuggers other than `gdb' is - likely not to work. - - Getting `g77' and `gdb' to work together is a known - problem--getting `g77' to work properly with other debuggers, for - which source code often is unavailable to `g77' developers, seems - like a much larger, unknown problem, and is a lower priority than - making `g77' and `gdb' work together properly. - - On the other hand, information about problems other debuggers have - with `g77' output might make it easier to properly fix `g77', and - perhaps even improve `gdb', so it is definitely welcome. Such - information might even lead to all relevant products working - together properly sooner. - - * `g77' doesn't work perfectly on 64-bit configurations such as the - Digital Semiconductor ("DEC") Alpha. - - This problem is largely resolved as of version 0.5.23. Version - 0.6 should solve most or all remaining problems (such as - cross-compiling involving 64-bit machines). - - * `g77' currently inserts needless padding for things like `COMMON - A,IPAD' where `A' is `CHARACTER*1' and `IPAD' is `INTEGER(KIND=1)' - on machines like x86, because the back end insists that `IPAD' be - aligned to a 4-byte boundary, but the processor has no such - requirement (though it is usually good for performance). - - The `gcc' back end needs to provide a wider array of - specifications of alignment requirements and preferences for - targets, and front ends like `g77' should take advantage of this - when it becomes available. - - * The `libf2c' routines that perform some run-time arithmetic on - `COMPLEX' operands were modified circa version 0.5.20 of `g77' to - work properly even in the presence of aliased operands. - - While the `g77' and `netlib' versions of `libf2c' differ on how - this is accomplished, the main differences are that we believe the - `g77' version works properly even in the presence of _partially_ - aliased operands. - - However, these modifications have reduced performance on targets - such as x86, due to the extra copies of operands involved. - diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index 5e55e64c67c..0a83727c4b0 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,8 @@ +Wed Jun 13 11:22:39 2001 Mark Mitchell + + * BUGS: Remove. + * NEWS: Likewise. + 2001-06-10 Toon Moene * g77install.texi: Remove all documentation here. Point diff --git a/gcc/f/NEWS b/gcc/f/NEWS deleted file mode 100644 index ef5d4ef6565..00000000000 --- a/gcc/f/NEWS +++ /dev/null @@ -1,413 +0,0 @@ -_Note:_ This file is automatically generated from the files -`news0.texi' and `news.texi'. `NEWS' is _not_ a source file, although -it is normally included within source distributions. - - This file lists news about the GCC-3.0 version (and some other -versions) of the GNU Fortran compiler. Copyright (C) -1995,1996,1997,1998,1999,2000 Free Software Foundation, Inc. You may -copy, distribute, and modify it freely as long as you preserve this -copyright notice and permission notice. - -News About GNU Fortran -********************** - - Changes made to recent versions of GNU Fortran are listed below, -with the most recent version first. - - The changes are generally listed in order: - - 1. Code-generation and run-time-library bug-fixes - - 2. Compiler and run-time-library crashes involving valid code that - have been fixed - - 3. New features - - 4. Fixes and enhancements to existing features - - 5. New diagnostics - - 6. Internal improvements - - 7. Miscellany - - This order is not strict--for example, some items involve a -combination of these elements. - - Note that two variants of `g77' are tracked below. The `egcs' -variant is described vis-a-vis previous versions of `egcs' and/or an -official FSF version, as appropriate. Note that all such variants are -now obsolete - the information is retained here only for its historical -value. - - Therefore, `egcs' versions sometimes have multiple listings to help -clarify how they differ from other versions, though this can make -getting a complete picture of what a particular `egcs' version contains -somewhat more difficult. - - An online, "live" version of this document (derived directly from -the mainline, development version of `g77' within `gcc') is available at -`http://www.gnu.org/software/gcc/onlinedocs/g77_news.html'. - - The following information was last updated on 2000-11-05: - -In development: -=============== - - * Using options `-g', `-ggdb' or `-gdwarf[-2]' (where appropriate - for your target) now also enables debugging information for COMMON - BLOCK and EQUIVALENCE items to be emitted. - - * The `TtyNam' intrinsics now set NAME to all spaces (at run time) - if the system has no `ttyname' implementation available. - - * Upgrade to `libf2c' as of 1999-06-28. - - This fixes a bug whereby input to a `NAMELIST' read involving a - repeat count, such as `K(5)=10*3', was not properly handled by - `libf2c'. The first item was written to `K(5)', but the remaining - nine were written elsewhere (still within the array), not - necessarily starting at `K(6)'. - -In 0.5.25, `GCC' 2.95 (`EGCS' 1.2) versus `EGCS' 1.1.2: -======================================================= - - * `g77' no longer generates bad code for assignments, or other - conversions, of `REAL' or `COMPLEX' constant expressions to type - `INTEGER(KIND=2)' (often referred to as `INTEGER*8'). - - For example, `INTEGER*8 J; J = 4E10' now works as documented. - - * `g77' no longer truncates `INTEGER(KIND=2)' (usually `INTEGER*8') - subscript expressions when evaluating array references on systems - with pointers widers than `INTEGER(KIND=1)' (such as Alphas). - - * `g77' no longer generates bad code for an assignment to a - `COMPLEX' variable or array that partially overlaps one or more of - the sources of the same assignment (a very rare construction). It - now assigns through a temporary, in cases where such partial - overlap is deemed possible. - - * `libg2c' (`libf2c') no longer loses track of the file being worked - on during a `BACKSPACE' operation. - - * `libg2c' (`libf2c') fixes a bug whereby input to a `NAMELIST' read - involving a repeat count, such as `K(5)=10*3', was not properly - handled by `libf2c'. The first item was written to `K(5)', but - the remaining nine were written elsewhere (still within the array), - not necessarily starting at `K(6)'. - - * Automatic arrays now seem to be working on HP-UX systems. - - * The `Date' intrinsic now returns the correct result on big-endian - systems. - - * Fix `g77' so it no longer crashes when compiling I/O statements - using keywords that define `INTEGER' values, such as `IOSTAT=J', - where J is other than default `INTEGER' (such as `INTEGER*2'). - Instead, it issues a diagnostic. - - * Fix `g77' so it properly handles `DATA A/RPT*VAL/', where RPT is - not default `INTEGER', such as `INTEGER*2', instead of producing a - spurious diagnostic. Also fix `DATA (A(I),I=1,N)', where `N' is - not default `INTEGER' to work instead of crashing `g77'. - - * The `-ax' option is now obeyed when compiling Fortran programs. - (It is passed to the `f771' driver.) - - * The new `-fbounds-check' option causes `g77' to compile run-time - bounds checks of array subscripts, as well as of substring start - and end points. - - * `libg2c' now supports building as multilibbed library, which - provides better support for systems that require options such as - `-mieee' to work properly. - - * Source file names with the suffixes `.FOR' and `.FPP' now are - recognized by `g77' as if they ended in `.for' and `.fpp', - respectively. - - * The order of arguments to the _subroutine_ forms of the `CTime', - `DTime', `ETime', and `TtyNam' intrinsics has been swapped. The - argument serving as the returned value for the corresponding - function forms now is the _second_ argument, making these - consistent with the other subroutine forms of `libU77' intrinsics. - - * `g77' now warns about a reference to an intrinsic that has an - interface that is not Year 2000 (Y2K) compliant. Also, `libg2c' - has been changed to increase the likelihood of catching references - to the implementations of these intrinsics using the `EXTERNAL' - mechanism (which would avoid the new warnings). - - * `g77' now warns about a reference to a function when the - corresponding _subsequent_ function program unit disagrees with - the reference concerning the type of the function. - - * `-fno-emulate-complex' is now the default option. This should - result in improved performance of code that uses the `COMPLEX' - data type. - - * The `-malign-double' option now reliably aligns _all_ - double-precision variables and arrays on Intel x86 targets. - - * Even without the `-malign-double' option, `g77' reliably aligns - local double-precision variables that are not in `EQUIVALENCE' - areas and not `SAVE''d. - - * `g77' now open-codes ("inlines") division of `COMPLEX' operands - instead of generating a run-time call to the `libf2c' routines - `c_div' or `z_div', unless the `-Os' option is specified. - - * `g77' no longer generates code to maintain `errno', a C-language - concept, when performing operations such as the `SqRt' intrinsic. - - * `g77' developers can temporarily use the `-fflatten-arrays' option - to compare how the compiler handles code generation using C-like - constructs as compared to the Fortran-like method constructs - normally used. - - * A substantial portion of the `g77' front end's code-generation - component was rewritten. It now generates code using facilities - more robustly supported by the `gcc' back end. One effect of this - rewrite is that some codes no longer produce a spurious "label LAB - used before containing binding contour" message. - - * Support for the `-fugly' option has been removed. - - * Improve documentation and indexing, including information on Year - 2000 (Y2K) compliance, and providing more information on internals - of the front end. - - * Upgrade to `libf2c' as of 1999-05-10. - -In 0.5.24 versus 0.5.23: -======================== - - There is no `g77' version 0.5.24 at this time, or planned. 0.5.24 -is the version number designated for bug fixes and, perhaps, some new -features added, to 0.5.23. Version 0.5.23 requires `gcc' 2.8.1, as -0.5.24 was planned to require. - - Due to `EGCS' becoming `GCC' (which is now an acronym for "GNU -Compiler Collection"), and `EGCS' 1.2 becoming officially designated -`GCC' 2.95, there seems to be no need for an actual 0.5.24 release. - - To reduce the confusion already resulting from use of 0.5.24 to -designate `g77' versions within `EGCS' versions 1.0 and 1.1, as well as -in versions of `g77' documentation and notices during that period, -"mainline" `g77' version numbering resumes at 0.5.25 with `GCC' 2.95 -(`EGCS' 1.2), skipping over 0.5.24 as a placeholder version number. - - To repeat, there is no `g77' 0.5.24, but there is now a 0.5.25. -Please remain calm and return to your keypunch units. - -In `EGCS' 1.1.2 versus `EGCS' 1.1.1: -==================================== - - * 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). - - * Improve documentation. - -In `EGCS' 1.1.1 versus `EGCS' 1.1: -================================== - - * Fix `libg2c' so it performs an implicit `ENDFILE' operation (as - appropriate) whenever a `REWIND' is done. - - (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s - version of `libf2c'.) - - * Fix `libg2c' so it no longer crashes with a spurious diagnostic - upon doing any I/O following a direct formatted write. - - (This bug was introduced in 0.5.23 and `egcs' 1.1 in `g77''s - version of `libf2c'.) - - * Fix `g77' so it no longer crashes compiling references to the - `Rand' intrinsic on some systems. - - * Fix `g77' portion of installation process so it works better on - some systems (those with shells requiring `else true' clauses on - `if' constructs for the completion code to be set properly). - -In `EGCS' 1.1 versus `EGCS' 1.0.3: -================================== - - * Fix bugs in the `libU77' intrinsic `HostNm' that wrote one byte - beyond the end of its `CHARACTER' argument, and in the `libU77' - intrinsics `GMTime' and `LTime' that overwrote their arguments. - - * Assumed arrays with negative bounds (such as `REAL A(-1:*)') no - longer elicit spurious diagnostics from `g77', even on systems - with pointers having different sizes than integers. - - This bug is not known to have existed in any recent version of - `gcc'. It was introduced in an early release of `egcs'. - - * Valid combinations of `EXTERNAL', passing that external as a dummy - argument without explicitly giving it a type, and, in a subsequent - program unit, referencing that external as an external function - with a different type no longer crash `g77'. - - * `CASE DEFAULT' no longer crashes `g77'. - - * The `-Wunused' option no longer issues a spurious warning about - the "master" procedure generated by `g77' for procedures - containing `ENTRY' statements. - - * Support `FORMAT(I)' when EXPR is a compile-time constant - `INTEGER' expression. - - * Fix `g77' `-g' option so procedures that use `ENTRY' can be - stepped through, line by line, in `gdb'. - - * Allow any `REAL' argument to intrinsics `Second' and `CPU_Time'. - - * Use `tempnam', if available, to open scratch files (as in - `OPEN(STATUS='SCRATCH')') so that the `TMPDIR' environment - variable, if present, is used. - - * `g77''s version of `libf2c' separates out the setting of global - state (such as command-line arguments and signal handling) from - `main.o' into distinct, new library archive members. - - This should make it easier to write portable applications that - have their own (non-Fortran) `main()' routine properly set up the - `libf2c' environment, even when `libf2c' (now `libg2c') is a - shared library. - - * `g77' no longer installs the `f77' command and `f77.1' man page in - the `/usr' or `/usr/local' heirarchy, even if the `f77-install-ok' - file exists in the source or build directory. See the - installation documentation for more information. - - * `g77' no longer installs the `libf2c.a' library and `f2c.h' - include file in the `/usr' or `/usr/local' heirarchy, even if the - `f2c-install-ok' or `f2c-exists-ok' files exist in the source or - build directory. See the installation documentation for more - information. - - * The `libf2c.a' library produced by `g77' has been renamed to - `libg2c.a'. It is installed only in the `gcc' "private" directory - heirarchy, `gcc-lib'. This allows system administrators and users - to choose which version of the `libf2c' library from `netlib' they - wish to use on a case-by-case basis. See the installation - documentation for more information. - - * The `f2c.h' include (header) file produced by `g77' has been - renamed to `g2c.h'. It is installed only in the `gcc' "private" - directory heirarchy, `gcc-lib'. This allows system administrators - and users to choose which version of the include file from - `netlib' they wish to use on a case-by-case basis. See the - installation documentation for more information. - - * The `g77' command now expects the run-time library to be named - `libg2c.a' instead of `libf2c.a', to ensure that a version other - than the one built and installed as part of the same `g77' version - is picked up. - - * During the configuration and build process, `g77' creates - subdirectories it needs only as it needs them. Other cleaning up - of the configuration and build process has been performed as well. - - * `install-info' now used to update the directory of Info - documentation to contain an entry for `g77' (during installation). - - * Some diagnostics have been changed from warnings to errors, to - prevent inadvertent use of the resulting, probably buggy, programs. - These mostly include diagnostics about use of unsupported features - in the `OPEN', `INQUIRE', `READ', and `WRITE' statements, and - about truncations of various sorts of constants. - - * Improve compilation of `FORMAT' expressions so that a null byte is - appended to the last operand if it is a constant. This provides a - cleaner run-time diagnostic as provided by `libf2c' for statements - like `PRINT '(I1', 42'. - - * Improve documentation and indexing. - - * The upgrade to `libf2c' as of 1998-06-18 should fix a variety of - problems, including those involving some uses of the `T' format - specifier, and perhaps some build (porting) problems as well. - -In `EGCS' 1.1 versus `g77' 0.5.23: -================================== - - * Fix a code-generation bug that afflicted Intel x86 targets when - `-O2' was specified compiling, for example, an old version of the - `DNRM2' routine. - - The x87 coprocessor stack was being mismanaged in cases involving - assigned `GOTO' and `ASSIGN'. - - * `g77' no longer produces incorrect code and initial values for - `EQUIVALENCE' and `COMMON' aggregates that, due to "unnatural" - ordering of members vis-a-vis their types, require initial padding. - - * Fix `g77' crash compiling code containing the construct - `CMPLX(0.)' or similar. - - * `g77' no longer crashes when compiling code containing - specification statements such as `INTEGER(KIND=7) PTR'. - - * `g77' no longer crashes when compiling code such as `J = SIGNAL(1, - 2)'. - - * `g77' now treats `%LOC(EXPR)' and `LOC(EXPR)' as "ordinary" - expressions when they are used as arguments in procedure calls. - This change applies only to global (filewide) analysis, making it - consistent with how `g77' actually generates code for these cases. - - Previously, `g77' treated these expressions as denoting special - "pointer" arguments for the purposes of filewide analysis. - - * Fix `g77' crash (or apparently infinite run-time) when compiling - certain complicated expressions involving `COMPLEX' arithmetic - (especially multiplication). - - * Align static double-precision variables and arrays on Intel x86 - targets regardless of whether `-malign-double' is specified. - - Generally, this affects only local variables and arrays having the - `SAVE' attribute or given initial values via `DATA'. - - * The `g77' driver now ensures that `-lg2c' is specified in the link - phase prior to any occurrence of `-lm'. This prevents - accidentally linking to a routine in the SunOS4 `-lm' library when - the generated code wants to link to the one in `libf2c' (`libg2c'). - - * `g77' emits more debugging information when `-g' is used. - - This new information allows, for example, `which __g77_length_a' - to be used in `gdb' to determine the type of the phantom length - argument supplied with `CHARACTER' variables. - - This information pertains to internally-generated type, variable, - and other information, not to the longstanding deficiencies - vis-a-vis `COMMON' and `EQUIVALENCE'. - - * The F90 `Date_and_Time' intrinsic now is supported. - - * The F90 `System_Clock' intrinsic allows the optional arguments - (except for the `Count' argument) to be omitted. - - * Upgrade to `libf2c' as of 1998-06-18. - - * Improve documentation and indexing. - -In previous versions: -===================== - - Information on previous versions is not provided in this -`gcc/gcc/f/NEWS' file, to keep it short. See `gcc/gcc/f/news.texi', or -any of its other derivations (Info, HTML, dvi forms) for such -information. - -- 2.11.4.GIT