X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f Message-Id: <200202261416.g1QEGda07646@delorie.com> From: pavenis AT lanet DOT lv To: djgpp-announce AT delorie DOT com Date: Tue, 26 Feb 2002 16:04:12 +0200 Subject: [ANNOUNCE] DJGPP port of gcc-3.0.4 Content-type: text/plain; charset=US-ASCII Content-description: Mail message body Reply-To: djgpp AT delorie DOT com This is an announcement of DJGPP port of gcc-3.0.4 GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages aside from C, it now stands for the GNU Compiler Collection. GCC 3.0.x has several new optimizations, new targets, new languages and many other new features, relative to GCC 2.95.x. See the new features page for a more complete list. GCC-3.0.4 is a bugfix version against earlier GCC-3.0.X releases. See http://gcc.gnu.org/gcc-3.0/features.html for more detailed information about new features in gcc-3.0.4 (and gcc-3.0.X at all) See http://gcc.gnu.org/ml/gcc/2002-02/msg01198.html for information what problems are fixed in gcc-3.0.4 in comparison with gcc-3.0.3 Currently C, C++, Fortran and Objective C compilers are supported for DJGPP. Java compiler is not ported and is not included Also libg++ is no more included and will not be included in future. Archives are available from DJGPP distribution in Simtelnet (and mirror sites) in directory v2gnu: There are 6 archives: gcc304.README - readme file from DJGPP port of GCC-3.0.4. It's in separate file to avoid need to download large archives to get this file. gcc304s.zip - sources of gcc-3.0.4. I put all sources in a single archive. This file is only needed if You're want to rebuild gcc-3.0.4 from sources. gcc304b.zip - binaries of C compiler gpp304b.zip - binaries of C++ compiler (needs gcc304b.zip) g77304b.zip - binaries of Fortran compiler (needs gcc304b.zip) objc304b.zip - binaries of Objective C compiler (needs gcc304b.zip) gcc304s2.zip - shell script and patches for original gcc-3.0.4. I used them to generate gcc-3.0.4 sources for DJGPP (gcc304s.zip). Files user need: Programming languages Needed files C gcc304b.zip C++ gcc304b.zip, gpp304b.zip Fortran gcc304b.zip, g77304b.zip Objective-C gcc304b.zip, objc304b.zip NOTE: gcc304b.zip contains file cxxfilt.exe and there is file with same name in binutils (bnu2112b.zip). You can safely overwrite the old one. For more information about this port see archive gnu/gcc-3.04/readme.DJGPP after unpacking either gcc304b.zip or gcc304s.zip or get file readme-gcc-3.0.4.txt from directory v2gnu in DJGPP distribution Also please DON'T mix C++ libraries (or object files) built with different compiler versions. C++ sources should be recompiled (seems that there is no need to do this for C sources). System requirements =================== DJGPP-2.03 or above (otherwise exceptions will not work at all) binutils-2.11.2 or above. It's no more possible to use binutils-2.8.1 or 2.9.1. Command line option -mno-bnu210 is no more supported. Some warning for users of C++. C++ compiler in gcc-3.0.4 does more strict syntax checking than gcc and egcs versions older than gcc-3.0. As result errors are generated in many places where earlier one got warnings. Note for users of C++ IO classes fstream, ifstream, ofstream ============================================================ There is a regression against GCC versions 2.95.3 and earlier: Member functions tellp(), tellg(), seekp() and seekg() are broken when stream is opened not in binary mode. If You are going to use any similar functions You should open stream in binary mode. Don't ask me when it will be fixed as I don't know that. I'm also not sure I'll spend much time trying to fix that. Note for users of GNU Fortran compiler ====================================== If You are getting assembler warnings like: foo.s: Assembler messages: foo.s:1011: Warning: rest of line ignored; first ignored character is `+' foo.s:1012: Warning: rest of line ignored; first ignored character is `+' when compiling FORTRAN sources, please use stabs or DWARF-2 debugging info instead of COFF one, for example: gcc -c -O2 -gstabs foo.f -o foo.o gcc -c -O2 -gdwarf-2 foo.f -o foo.o gcc -c -O2 -gstabs+ foo.f -o foo.o Happy hacking Andris Pavenis