gdc / d /

Filename Size Date modified Message
60.7 KB
23.2 KB
8.3 KB
2.8 KB
5.1 KB
13.7 KB
4.9 KB
13.0 KB
995 B
5.7 KB
73.7 KB
43.4 KB
44.4 KB
42.7 KB
50.5 KB
18.1 KB
11.0 KB
563 B
80.9 KB
17.6 KB
12.5 KB
24.3 KB
1.6 KB
2.4 KB
2.3 KB
8.8 KB
2.5 KB
1019 B
110.4 KB
1.1 KB
9.7 KB
4.5 KB
43.5 KB
7.0 KB
1.4 KB
27.0 KB
4.1 KB
11.8 KB
1.1 KB
1.1 KB
11.8 KB
1.3 KB
1.9 KB
2.7 KB
2.0 KB
25 B
1.3 KB
390 B
17.6 KB
1.7 KB
3.6 KB
23.1 KB
5.7 KB
12.3 KB
20.9 KB
25.0 KB
1.0 KB
22.3 KB
24.0 KB
22.4 KB
851 B
10.6 KB
2.1 KB
1.9 KB
3.8 KB
2.4 KB
D Front End for GCC - Release 0.24

Last update: August 22, 2007

Release Notes for 0.24
  * Removed support for GCC 3.3.x
  * Updated to DMD 1.020
  * Fixed Bugzilla 1037, 1038 (gdc specific), 1043, 1045, 1046,
    1031, 1032, 1034, 1065, 1109, 1191, 1137, 1152, 1208, 1325,
    1329, 1898, 1400
  * Fixed SourceForge issues 1689634, 1749622, 1721496, 1721435

Supported Systems

    * GCC 3.4.x, 4.0.x, 4.1.x
    * Linux (tested on Fedora Core 5 x86, x86_64, and PowerPC)
    * Mac OS X 10.3.9 and 10.4.x
    * FreeBSD 6.x
    * Cygwin
    * MinGW
    * AIX (tested on 5.1)

Similar versions of the above systems should work and other Unix
platforms may work.  Although the compiler will probably work on most
architectures, the D runtime library will still need to be
updated to support them.

    * The base developer package for your system.  Generally, this
      means binutils and a C runtime library.
    * The MacOS X universal binary package requires XCode 2.4.1 or the
      equivalent version of cctools.
    * The gdmd wrapper script requires Perl.


    * Main package
    * Build Instructions
      (or see INSTALL included in the main package)


    * This Project --
    * The D Programming Language --
    * D Links Page --
    * The D.gnu newsgroup -- news://
    * For general D discussion, the digitalmars.D and
      digitalmars.D.bugs newsgroups
    * The GNU Compiler Collection --
    * Mac OS X binary distribution --

David Friedman


Known Issues
    * See the DStress (
      page for known failing cases.
    * Debugging information may have a few problems.  To enable D name
      mangling in gdb, apply this patch.
    * Some targets do not support once-only linking which is needed
      for templates to work smoothly. A workaround is to manually
      control template emission.  See the -femit-templates option
      below.  For Darwin, Apple's GCC 3.x compiler supports one-only
      linking, but GDC does not build with those sources.  There are
      no problems with the stock GCC 4.x on Darwin.
    * Complex floating point operations may not work the same as DMD.
    * Some math functions behave differently due to different
      implementations of the extended floating-point type.
    * Volatile statements may not always do the right thing.
    * Because of a problem on AIX, the linker will pull in more
      modules than needed.
    * Some C libraries (Cygwin, MinGW, AIX) don't handle
      floating-point formatting and parsing in a standard way.

Known Differences from DMD

    * The type of _argptr in variadic functions is the target-specific
      va_list type.  The only portable way to use _argptr is the
      std.stdarg.va_arg template.  In particular, you cannot construct
      a va_list from a pointer to data and expect it to work.
    * In assembler code, direct access to parameters in naked
      functions works differently.  Frame relative addressing through
      [ESP+4] does work the same way.
    * Currently, GDC uses the C calling convention for all functions
      except those declared extern (Windows).
    * GDC allows catch statements in finally blocks.
    * pragma(lib) is not supported.
    * Some targets do not have a distinct extended floating-point
      type.  On these targets, real and double are the same size.
    * On Win32 targets, GDC allocates 12 bytes for the real type, while
      DMD allocates 10 bytes. This also applies to the components of
      the creal type.

Inline Assembler Notes

    * Getting GCC to respect the "naked" attribute is difficult.  It
      is recommended that you use only assembler statements in a naked
    * Jumps from assembler statements will not run cleanups (auto and

See GDC.html for more information


    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA