Date: Sat, 23 May 1998 06:18:57 -0400 (EDT) From: Craig Burley <burley@gnu.org> To: info-gnu-fortran@gnu.org Subject: GNU Fortran (g77) Version 0.5.23 Released This release includes many changes since 0.5.22. A list is included below. The primary focus of this release is to upgrade to gcc 2.8, and to fix some bugs in 0.5.22. 0.5.23 is *not* intended as a drop-in replacement for 0.5.22 -- anyone installing this version should definitely read the new installation instructions. For end users, however, 0.5.23 should appear generally similar to 0.5.22, though they should review the "Changes" node of the Info documentation to see what changes might affect them. See the .plan file for g77 <ftp://alpha.gnu.org/g77.plan; for information on plans for future releases. g77-0.5.22-0.5.23.diff.gz -- Patch file to apply to 0.5.22 g77-0.5.23.tar.gz -- Complete 0.5.23 distribution NOTE: The patch file does not include patches to the Info documentation, which is derived from the texinfo sources in the distribution (and updated via the patch). This is to reduce the size of the patch file. If you don't have makeinfo version 1.68 (or more recent) installed (distributed as texinfo-3.11.tar.gz), obtain and use the full distribution instead. However, it is definitely worthwhile having texinfo installed and making full use of GNU Info documentation! Similar, the patch file does not include patches to autoconf-produced files, so users of the patch file will need to have autoconf installed. Please report any bugs or questions to <fortran@gnu.org>, after first reviewing the documentation and the .plan file. (GNU Fortran is a free replacement for the UNIX f77 Fortran compiler, and is currently in beta testing. To build it requires the GNU CC source distribution, Version 2.8.1, which you can obtain as gcc-2.8.1.tar.gz from a GNU distribution site.) tq vm, (burley) * This release contains several regressions against version 0.5.22 of `g77', due to using the "vanilla" `gcc' back end instead of patching it to fix a few bugs and improve performance in a few cases. *Note Actual Bugs We Haven't Fixed Yet: Actual Bugs, available in plain-text format in `gcc/f/BUGS', for information on the known bugs in this version, including the regressions. Features that have been dropped from this version of `g77' due to their being implemented via `g77'-specific patches to the `gcc' back end in previous releases include: - Support for `__restrict__' keyword, the options `-fargument-alias', `-fargument-noalias', and `-fargument-noalias-global', and the corresponding alias-analysis code. (Version 1.0.1 of `egcs' has the alias-analysis code, but not the `__restrict__' keyword. `egcs' `g77' users benefit from the alias-analysis code despite the lack of the `__restrict__' keyword, which is a C-language construct.) - Support for the GNU compiler options `-fmove-all-movables', `-freduce-all-givs', and `-frerun-loop-opt'. (Version 1.0.1 of `egcs' supports these options. `g77' users of `egcs' benefit from them even if they are not explicitly specified, because the defaults are optimized for `g77' users.) - Support for the `-W' option warning about integer division by zero. - The Intel x86-specific option `-malign-double' applying to stack-allocated data as well as statically-allocate data. Note that the `gcc/f/gbe/' subdirectory has been removed from this distribution as a result of `g77' no longer including patches for the `gcc' back end. * 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. * Support `gcc' version 2.8, and remove support for prior versions of `gcc'. * Remove support for the `--driver' option, as `g77' now does all the driving, just like `gcc'. * `CASE DEFAULT' no longer crashes `g77'. * 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'. * `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. * The `-Wunused' option no longer issues a spurious warning about the "master" procedure generated by `g77' for procedures containing `ENTRY' statements. * `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. * During the configuration and build process, `g77' creates subdirectories it needs only as it needs them, thus avoiding unnecessary creation of, for example, `stage1/f/runtime' when doing a non-bootstrap build. 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 documentation and indexing. * Upgrade to `libf2c' as of 1998-04-20. This should fix a variety of problems, including those involving some uses of the `T' format specifier, and perhaps some build (porting) problems as well. [ Most GNU software is compressed using the GNU `gzip' compression program. Source code is available on most sites distributing GNU software. Executables for various systems and information about using gzip can be found at the URL http://www.gzip.org. For information on how to order GNU software on CD-ROM and printed GNU manuals, see http://www.gnu.org/order/order.html or e-mail a request to: gnu@gnu.org By ordering your GNU software from the FSF, you help us continue to develop more free software. Media revenues are our primary source of support. Donations to FSF are deductible on US tax returns. The above software will soon be at these ftp sites as well. Please try them before ftp.gnu.org as ftp.gnu.org is very busy! A possibly more up-to-date list is at the URL http://www.gnu.org/order/ftp.html thanx -gnu@gnu.org Here are the mirrored ftp sites for the GNU Project, listed by country: United States: California - labrea.stanford.edu/pub/gnu Hawaii - ftp.hawaii.edu/mirrors/gnu Illinois - uiarchive.cso.uiuc.edu/pub/gnu (Internet address 128.174.5.14) Kentucky - ftp.ms.uky.edu/pub/gnu Maryland - ftp.digex.net/pub/gnu (Internet address 164.109.10.23) Massachusetts - gatekeeper.dec.com/pub/GNU Michigan - gnu.egr.msu.edu/pub/gnu Missouri - wuarchive.wustl.edu/systems/gnu New York - ftp.cs.columbia.edu/archives/gnu/prep Ohio - ftp.cis.ohio-state.edu/mirror/gnu Utah - jaguar.utah.edu/gnustuff Virginia - ftp.uu.net/archive/systems/gnu Africa: South Africa - ftp.sun.ac.za/pub/gnu The Americas: Brazil - ftp.unicamp.br/pub/gnu Canada - ftp.cs.ubc.ca/mirror2/gnu Chile - ftp.inf.utfsm.cl/pub/gnu (Internet address 146.83.198.3) Costa Rica - sunsite.ulatina.ac.cr/GNU Mexico - ftp.uaem.mx/pub/gnu Asia and Australia: Australia - archie.au/gnu (archie.oz or archie.oz.au for ACSnet) Australia - ftp.progsoc.uts.edu.au/pub/gnu Japan - tron.um.u-tokyo.ac.jp/pub/GNU/prep Japan - ftp.cs.titech.ac.jp/pub/gnu Korea - cair-archive.kaist.ac.kr/pub/gnu (Internet address 143.248.186.3) Thailand - ftp.nectec.or.th/pub/mirrors/gnu (Internet address - 192.150.251.32) Europe: Austria - ftp.univie.ac.at/packages/gnu Czech Republic - ftp.fi.muni.cz/pub/gnu/ Denmark - ftp.denet.dk/mirror/ftp.gnu.org/pub/gnu Finland - ftp.funet.fi/pub/gnu (Internet address 128.214.6.100) France - ftp.univ-lyon1.fr/pub/gnu France - ftp.irisa.fr/pub/gnu Germany - ftp.informatik.tu-muenchen.de/pub/comp/os/unix/gnu/ Germany - ftp.informatik.rwth-aachen.de/pub/gnu Germany - ftp.de.uu.net/pub/gnu Greece - ftp.ntua.gr/pub/gnu Greece - ftp.aua.gr/pub/mirrors/GNU (Internet address 143.233.187.61) Ireland - ftp.ieunet.ie/pub/gnu (Internet address 192.111.39.1) Netherlands - ftp.eu.net/gnu (Internet address 192.16.202.1) Netherlands - ftp.nluug.nl/pub/gnu Netherlands - ftp.win.tue.nl/pub/gnu (Internet address 131.155.70.100) Norway - ugle.unit.no/pub/gnu (Internet address 129.241.1.97) Spain - ftp.etsimo.uniovi.es/pub/gnu Sweden - ftp.isy.liu.se/pub/gnu Sweden - ftp.stacken.kth.se Sweden - ftp.luth.se/pub/unix/gnu Sweden - ftp.sunet.se/pub/gnu (Internet address 130.238.127.3) Also mirrors the Mailing List Archives. Switzerland - ftp.eunet.ch/mirrors4/gnu Switzerland - sunsite.cnlab-switch.ch/mirror/gnu (Internet address 193.5.24.1) United Kingdom - ftp.mcc.ac.uk/pub/gnu (Internet address 130.88.203.12) United Kingdom - unix.hensa.ac.uk/mirrors/gnu United Kingdom - ftp.warwick.ac.uk (Internet address 137.205.192.14) United Kingdom - SunSITE.doc.ic.ac.uk/gnu (Internet address 193.63.255.4)