GCC 3.0-1 ALPHA RELEASE
Last updated: Wed Jun 20 19:31:42 CDT 2001
This is a very alpha, very preliminary release of GCC 3.0 for Mingw. I'm
making this available for 3 main reasons:
1. Check packaging -- can you install it anywhere and just run it? Does
it run on W9x, NT and 2000? What about XP beta?
2. Check obvious bugs -- does it compile and link trivial C/C++/F77
programs? Go wild with fancy code if it does.
3. Get feedback. I suggest you send it to the Mingw developers list. Copy
me if you will, but my mail filter removes all multiple copies, so it
doesn't do you any good.
This is not for the faint of heart; you're welcome to download and try
it out, but please hold the urge to report obvious problems that others
may have already reported.
Please don't be surprised when you find problems, especially those dumb
packaging bugs. EXPECT GLARING PROBLEMS.
What's included here?
3 main binary packages:
gcc-3.0-1-mingw-core.zip : GCC 3.0-1 core (C Compiler and other must haves)
gcc-3.0-1-mingw-c++.zip : GCC 3.0-1 C++ compiler and runtime
gcc-3.0-1-mingw-f77.zip : GCC 3.0-1 F77 compiler and runtime
mingw-runtime.diff : There is a small patch to Mingw runtime -- the
header files stdio.h, stdarg.h, and varargs.h
are slightly modified. You shouldn't need this,
unless GCC complains about incorrect use of
va_arg (``first arg not a va_list'').
Source + patches are also available of course. Please don't download the
sources from here, just get the patches.
** NOTE NOTE NOTE **: The default runtime is MSVCRT, not CRTDLL, so you'll
need the correct Mingw runtime. I believe this is the default now, so as
long as you're reasonably up-to-date, you should be fine.
I am going to assume that you have access to the latest Mingw/w32api
runtime and a very recent version of binutils. Please don't ask me
where to get or how to install these packages, rather visit Mingw
You need an unzip program. You obviously need a computer running some
flavor of Windows 32 Operating System.
See "Summary of Changes" below.
Who should get it?
This is targeted towards the more experienced users who have a large
source code base to test out, but everybody is welcome of course. Please
don't report about missing features (``I can't link against MSVC created
object files!''), only bugs that you believe are new or bugs introduced
by new features (eg., trouble building dlls using `gcc -shared').
Other than the basic tests, the features I'd really like stress-tested
are the following:
- New libstdc++-v3. I know that some of the locale stuff is going to
buggy, and including some of the C++ headers may not work quite yet.
Work in progress.
- Using C++ code that makes heavy use of dllimport/dllexport.
- Creating DLLs using ``gcc/c++ -shared''.
Where is the pre-release alpha test version?
The sources are there as well (*-src.zip). Here's a listing of what's
on the ftp site:
gcc-3.0-1-mingw-core.zip 2.03 MB
gcc-3.0-1-mingw-c++.zip 1.67 MB
gcc-3.0-1-mingw-f77.zip 1.57 MB
1. Must at least get the -core package. Pick whatever other compilers you
would like to test.
2. Create a installation directory:
c:\> mkdir c:\gcc-3.0
You can choose any other you like, and in fact, I would prefer that you
install in funny places. Try out a directory with embedded whitespace
for the fun of it.
3. Change to that directory and unpack/install Mingw/w32api runtime and
4. Change to that directory and unzip the various packages there. Some
unzip programs such as WinZip will automatically create the directory
for you, so you can skip 2.
5. Set your PATH, and off you go:
c:\> set path=c:\gcc-3.0;%PATH%
c:\> gcc -v
Summary of Changes:
- [core] Various small configuration nits to build. Defaults to MSVCRT
- [core] Protect gcc headers with RC_INVOKED. (old)
- [core] Mingw specific fixes. (old/new)
- [core/c++] Add some of the DLL fixes that I had never submitted to gcc
team, but have been in use in all the Cygwin/Mingw 2.95.2 releases.
Added patch from Danny Smith to not dllimport initialized data. (new)
- [libstdc++] Various small configuration nits to build.
Missing are the following:
- [core] bitfield packing -fnative-struct patch yet to go in.
- [libg2c] Some of the changes from 2.95.x yet to go in.