Notes: The MinGW.org team is pleased to offer a binary release of GCC 4.4.0. 1. PREREQUISITES This binary release requires a PC with a 32-bit version of Windows, such as Windows 95, Windows NT 4.0, Windows XP, or better. You will need to have an existing MinGW installation that includes at least the following:-- - binutils 2.13 - mingw-runtime 3.13 - w32api 2.2 2. AVAILABILITY This release is available for download from the following URL. https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304 To get a complete GCC distribution, download the 'full' file. It includes the DLL prerequisites GMP, libiconv, MPFR, and support for all languages. Note that you still must have the prerequisites listed above to actually compile anything. gcc-full-4.4.0-mingw32-bin.tar.lzma If you do not want to download the entire compiler, you must download the required gmp, mpfr, and pthreads prerequisites, the 'core' bin and dll packages, plus the 'bin' and 'dll' packages of any other languages that you need. GMP Runtime [REQUIRED] gmp-4.2.4-mingw32-dll.tar.gz libiconv Runtime [REQUIRED] libiconv-1.13-mingw32-dll-2.tar.gz MPFR Runtime [REQUIRED] mpfr-2.4.1-mingw32-dll.tar.gz POSIX Threads for Win32 Runtime [REQUIRED] pthreads-w32-2.8.0-mingw32-dll.tar.gz Core (C) [REQUIRED] gcc-core-4.4.0-mingw32-bin.tar.gz gcc-core-4.4.0-mingw32-dll.tar.gz Ada [OPTIONAL] gcc-ada-4.4.0-mingw32-bin.tar.gz gcc-ada-4.4.0-mingw32-dll.tar.gz C++ [OPTIONAL] gcc-c++-4.4.0-mingw32-bin.tar.gz gcc-c++-4.4.0-mingw32-dll.tar.gz Fortran [OPTIONAL] gcc-fortran-4.4.0-mingw32-bin.tar.gz gcc-fortran-4.4.0-mingw32-dll.tar.gz Java [OPTIONAL] gcc-java-4.4.0-mingw32-bin.tar.gz gcc-java-4.4.0-mingw32-dll.tar.gz Objective-C [OPTIONAL] gcc-objc-4.4.0-mingw32-bin.tar.gz gcc-objc-4.4.0-mingw32-dll.tar.gz Be aware that some archive extracters do not preserve read-only attributes of files. If you are installing the Ada component, please check that the files in the /lib/gcc/mingw32/4.2.1-dw2/adainclude and adalib directories are flagged as read-only. This attribute is necessary to prevent them from being deleted when using gnatclean to clean a project. 3. INSTALLATION INSTRUCTIONS Use an archiver of your choice to extract this package over your existing MinGW installation, which is usually located in c:\mingw. This will replace your old GCC version, if any, as the default compiler. To uninstall or return to your previous version, you can extract the version you want over this version, optionally deleting the old files. Alternately, if you do not want to replace your old installation, you can extract to some other directory of your choosing, and add the bin/ subdirectory to your PATH environment variable. 4. NEW FEATURES SINCE MINGW GCC 3.4 Windows-specific:-- - Shared libgcc: If all modules are linked with -shared-libgcc, exceptions can be thrown across DLL boundaries. Note that this is the default for all languages other than C. - Shared libstdc++: Compile with -D_GLIBCXX_DLL and add -lstdc++_s to your link flags to link against a DLL version of libstdc++. - Zero cost exceptions: New exception model Dwarf only has performance penalty when being thrown. The old model, SJLJ, is no longer available. - Thread local storage support: The __thread keyword is honoured. - Translations into your language! See MINGW\share\locale for a list of codes. Set the LANG environment variable to the code of your preferred language. $ export LANG=es $ gcc gcc.exe: no hay ficheros de entrada In general:-- - New language: Java 1.5, using the Eclipse front end - New language: Objective-C++, intended to bridge C++ and Objective-C code - Improved optimisation: SSA optimisation framework, IPA support, autovectorization of loops, new register allocator, new instruction scheduler, and more - Support for some parts of the upcoming new version of C++ - Support for new IA-32 processors and SIMD instruction sets - Support for TR1 and experimental support for the next C++ standard - Fortran language rewritten to support new standards - Improved debugging information: Dwarf-2 debugging is now the default. Make sure to get the latest GDB version for the best debugging experience. - OpenMP support For more information, see <http://gcc.gnu.org/gcc-4.4/>. 5. GENERAL NOTES - Throwing exceptions through foreign frames Previous versions of GCC would blindly unwind through all foreign frames. If these frames did not have valid unwind information, perhaps because they were written in a language that does not have exceptions, program data structures might be left in an incoherent state, leading to mysterious bugs including data loss and program crashes. From now on, GCC will only unwind through frames if it can be determined that the functions understand exceptions. Currently, functions that use either Dwarf-2 EH or SEH are supported. Unfortunately, in i386 versions of Windows, there is no reliable way for the compiler or runtime unwinder to tell if a function supports unwinding with SEH. Consequently, it is necessary to add the seh_aware decorator to the declarations of foreign SEH functions that exceptions might be thrown through. If you intend to throw exceptions through Windows API callbacks, you will need to add __attribute__((seh_aware)) to the declaration of the corresponding API function. This is only a temporary measure, as a future version of w32api from MinGW.org will have some sort of way of adding this annotation automatically. Note that it is not necessary to add this attribute to the callbacks themselves, or any other function definition that is compiled by GCC; it is only necessary for foreign functions. - Dynamic linking with libgcc_s_dw2-1.dll Dynamic linking with libgcc_s_dw2-1.dll is necessary to throw exceptions between different modules, such as between two DLLs or a DLL and an EXE. Consequently, it is the default for all languages other than C. To disable this dynamic linking, use -static-libgcc. To enable this dynamic linking in C, use -shared-libgcc. 6. KNOWN ISSUES - The Java compiler GCJ is somewhat broken. Compiling with -static-libgcj works better than the default of dynamically linking. - libstdc++_s is only partially implemented. - GRAPHITE is not supported due to various bugs. This is being corrected for the next release. 7. CONTACT INFORMATION Bugs: http://www.mingw.org/bugs.shtml General: mingw-users at http://www.mingw.org/lists.shtml
Changes:
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use