GCC 2.5.0 available

rms@gnu.ai.mit.edu (Richard Stallman)
Fri, 22 Oct 1993 08:42:42 GMT

          From comp.compilers

Related articles
GCC 2.5.0 available rms@gnu.ai.mit.edu (1993-10-22)
| List of all articles for this month |

Newsgroups: comp.compilers
From: rms@gnu.ai.mit.edu (Richard Stallman)
Followup-To: gnu.gcc.bug
Keywords: GCC, available
Organization: Compilers Central
Date: Fri, 22 Oct 1993 08:42:42 GMT

[Passed on to comp.compiler by Len Tower. -John]

GCC 2.5.0 is now available on prep.ai.mit.edu in
/pub/gnu/gcc-2.5.0.tar.gz. Patches from version 2.4.5 are in
gcc-2.4.5-2.5.0.diff.gz; they are about 980k long.

The file patch-header.c was omitted from the release of GCC 2.5.0. So
there is now a release 2.5.0a which adds the missing file. You can find
it in /pub/gnu/gcc-2.5.0a.tar.gz with diffs in gcc-2.4.5-2.5.0a.diff.gz
and gcc-2.5.0-2.5.0a.diff.

In addition, the old tar and diffs file for 2.5.0 have been replaced
with symbolic links to the new 2.5.0a files.

Noteworthy GCC changes in version 2.5:

* There is now support for the IBM 370 architecture as a target.
Currently the only operating system supported is MVS; GCC does not run on
MVS, so you must produce .s files using GCC as a cross compiler, then
transfer them to MVS to assemble them.

* The power pc is now supported.

* Basic block profiling has been enhanced to record the function the basic
block comes from, and if the module was compiled for debugging, the line
number and filename. A default version of the basic block support module
has been added to libgcc2 that appends the basic block information to a
text file 'bb.out'. Machine descriptions can now override the basic block
support module in the target macro file.

* In C, initializers for static and global variables are now processed an
element at a time, so that they don't need a lot of storage.

* The C syntax for specifying which structure field comes next in an
initializer is now `.FIELDNAME='. The corresponding syntax for
array initializers is now `[INDEX]='. For example,

    char whitespace[256]
        = { [' '] = 1, ['\t'] = 1, ['\n'] = 1 };

This was changed to accord with the syntax proposed by the Numerical
C Extensions Group (NCEG).

* Complex numbers are now supported in C. Use the keyword __complex__ to
declare complex data types. See the manual for details.

* GCC now supports `long double' meaningfully on the Sparc (128-bit
floating point) and on the 386 (96-bit floating point). The Sparc support
works reliably only in Solaris 2.x; earlier versions (Sun OS 4) have bugs
in the emulation.

* All targets now have assertions for cpu, machine and system. So you can
now use assertions to distinguish among all supported targets.

* Nested functions in C may now be inline. Just declare them inline in
the usual way.

* Packed structure members are now supported fully; it should be possible
to access them on any supported target, no matter how little alignment
they have.

* To declare a function volatile or const, you must now write something
like this:

        typedef void voidfn ();

        volatile voidfn fatal;

It used to be possible to do so by writing this:

        volatile void fatal ();

but it turns out that ANSI C requires that to mean something else (which
is useless).

* The new option -iwithprefixbefore specifies a directory to add to the
search path for include files in the same position where -I would put it,
but uses the specified prefix just like -iwithprefix.

New features in g++:

* The new flag `-fansi-overloading' for C++. Use a newly implemented
scheme of argument matching for C++. It makes g++ more accurately obey
the rules set down in Chapter 13 of the Annotated C++ Reference Manual
(the ARM). This option will be turned on by default in a future release.

* The -finline-debug flag is now gone (it was never really used by the

* Recognizing the syntax for pointers to members, e.g., "foo::*bar", has been
    dramatically improved. You should not get any syntax errors or incorrect
    runtime results while using pointers to members correctly; if you do, it's
    a definite bug.

* Forward declaration of an enum is now flagged as an error.

* Class-local typedefs are now working properly.

* Nested class support has been significantly improved. The compiler
    will now (in theory) support up to 240 nested classes before hitting
    other system limits (like memory size).

* There is a new C version of the `g++' driver, to replace the old
    shell script. This should significantly improve the performance of
    executing g++ on a system where a user's PATH environment variable
    references many NFS-mounted filesystems. This driver also works
    under MS-DOS and OS/2.

* The ANSI committee working on the C++ standard has adopted a new
    keyword `mutable'. This will allow you to make a specific member be
    modifiable in an otherwise const class.

[ Most GNU software is packed using the new `gzip' compression program.
    Source code is available on most sites distributing GNU software.

    For information on how to order GNU software on tape, floppy, or cd-rom,
    check the file etc/ORDERS in the GNU Emacs distribution or in GNUinfo/ORDERS
    on prep, or e-mail a request to: gnu@prep.ai.mit.edu

    By ordering tapes 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 prep.ai.mit.edu! thanx -gnu@prep.ai.mit.edu
ASIA: ftp.cs.titech.ac.jp, utsun.s.u-tokyo.ac.jp:/ftpsync/prep,
AUSTRALIA: archie.au:/gnu (archie.oz or archie.oz.au for ACSnet)
AFRICA: ftp.sun.ac.za:/pub/gnu
MIDDLE-EAST: ftp.technion.ac.il:/pub/unsupported/gnu
EUROPE: irisa.irisa.fr:/pub/gnu, ftp.univ-lyon1.fr:pub/gnu,
    ftp.mcc.ac.uk, unix.hensa.ac.uk:/pub/uunet/systems/gnu,
    src.doc.ic.ac.uk:/gnu, ftp.win.tue.nl, ugle.unit.no, ftp.denet.dk,
    ftp.informatik.rwth-aachen.de:/pub/gnu, ftp.informatik.tu-muenchen.de,
    ftp.eunet.ch, nic.switch.ch:/mirror/gnu, nic.funet.fi:/pub/gnu, isy.liu.se,
    ftp.stacken.kth.se, ftp.luth.se:/pub/unix/gnu, archive.eu.net
CANADA: ftp.cs.ubc.ca:/mirror2/gnu
USA: wuarchive.wustl.edu:/mirrors/gnu, labrea.stanford.edu,
    ftp.kpc.com:/pub/mirror/gnu, ftp.cs.widener.edu, uxc.cso.uiuc.edu,
    col.hp.com:/mirrors/gnu, ftp.cs.columbia.edu:/archives/gnu/prep,
    gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.