gdc / d /

Filename Size Date modified Message
107.4 KB
23.8 KB
8.6 KB
3.2 KB
5.6 KB
17.3 KB
5.2 KB
17.6 KB
1.6 KB
1.1 KB
112.7 KB
47.0 KB
54.9 KB
62.1 KB
63.3 KB
62.6 KB
14.6 KB
25.1 KB
1.1 KB
135.9 KB
19.5 KB
13.1 KB
10.0 KB
32.6 KB
1.9 KB
2.5 KB
3.0 KB
11.5 KB
3.5 KB
1014 B
142.4 KB
1.1 KB
4.7 KB
8.2 KB
5.3 KB
8.2 KB
1.0 KB
1.0 KB
62.9 KB
9.0 KB
32.2 KB
4.7 KB
28.3 KB
1.1 KB
1008 B
21.4 KB
2.8 KB
8.6 KB
2.9 KB
5 B
5.1 KB
1.1 KB
17.6 KB
1.7 KB
4.4 KB
851 B
10.6 KB
5.7 KB
2.0 KB
3.4 KB
3.7 KB
D Front End for GCC - Release 0.30

Last update: Sunday 24, 2011

Release Notes for 0.30:
  * Support for GCC, 4.5.x and 4.6.x added
  * Dropped support for GCC 3.4.x, 4.0.x, 4.1.x
  * Updated D1 to 1.069
  * Updated D2 to 2.054
  * Added 'optlink' calling convention for D
  * Added 64bit support for IASM (WIP).
  * Reimplemented static chain passing in frontend

Supported Systems

    * GCC 4.2.x, 4.3.x, 4.4.x, 4.5.x, 4.6.x
    * Linux (tested on Debian Sid and Ubuntu Oneiric x86, x86_64)
    * Mac OS X 10.3.9 and 10.4.x
    * FreeBSD 6.x, 7.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 --
    * Previous home --
    * 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
Iain Buclaw
Michael Parrott


Known Issues
    * See the DStress (
      page for known failing cases.
    * Debugging information may have a few problems if you are using
      a version of gdb that is not 7.2 or later.  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