1 D Front End for GCC - Release 0.24
3 Last update: August 22, 2007
6 * Removed support for GCC 3.3.x
8 * Fixed Bugzilla 1037, 1038 (gdc specific), 1043, 1045, 1046,
9 1031, 1032, 1034, 1065, 1109, 1191, 1137, 1152, 1208, 1325,
11 * Fixed SourceForge issues 1689634, 1749622, 1721496, 1721435
15 * GCC 3.4.x, 4.0.x, 4.1.x
16 * Linux (tested on Fedora Core 5 x86, x86_64, and PowerPC)
17 * Mac OS X 10.3.9 and 10.4.x
23 Similar versions of the above systems should work and other Unix
24 platforms may work. Although the compiler will probably work on most
25 architectures, the D runtime library will still need to be
26 updated to support them.
29 * The base developer package for your system. Generally, this
30 means binutils and a C runtime library.
31 * The MacOS X universal binary package requires XCode 2.4.1 or the
32 equivalent version of cctools.
33 * The gdmd wrapper script requires Perl.
38 http://sourceforge.net/projects/dgcc
40 http://dgcc.sourceforge.net/gdc/install.html
41 (or see INSTALL included in the main package)
45 * This Project -- http://dgcc.sourceforge.net/
46 * The D Programming Language -- http://www.digitalmars.com/d/
47 * D Links Page -- http://digitalmars.com/d/dlinks.html
48 * The D.gnu newsgroup -- news://news.digitalmars.com/D.gnu
49 * For general D discussion, the digitalmars.D and
50 digitalmars.D.bugs newsgroups
51 * The GNU Compiler Collection -- http://gcc.gnu.org/
52 * Mac OS X binary distribution -- http://gdcmac.sourceforge.net/
56 e-mail: dvdfrdmn@users.sf.net
61 * See the DStress (http://svn.kuehne.cn/dstress/www/dstress.html)
62 page for known failing cases.
63 * Debugging information may have a few problems. To enable D name
64 mangling in gdb, apply this patch.
65 (http://dsource.org/projects/gdb-patches/)
66 * Some targets do not support once-only linking which is needed
67 for templates to work smoothly. A workaround is to manually
68 control template emission. See the -femit-templates option
69 below. For Darwin, Apple's GCC 3.x compiler supports one-only
70 linking, but GDC does not build with those sources. There are
71 no problems with the stock GCC 4.x on Darwin.
72 * Complex floating point operations may not work the same as DMD.
73 * Some math functions behave differently due to different
74 implementations of the extended floating-point type.
75 * Volatile statements may not always do the right thing.
76 * Because of a problem on AIX, the linker will pull in more
78 See: http://groups-beta.google.com/groups?hl=en&q=%22large+executables+on+AIX%22&qt_s=Search
79 * Some C libraries (Cygwin, MinGW, AIX) don't handle
80 floating-point formatting and parsing in a standard way.
82 Known Differences from DMD
84 * The type of _argptr in variadic functions is the target-specific
85 va_list type. The only portable way to use _argptr is the
86 std.stdarg.va_arg template. In particular, you cannot construct
87 a va_list from a pointer to data and expect it to work.
88 * In assembler code, direct access to parameters in naked
89 functions works differently. Frame relative addressing through
90 [ESP+4] does work the same way.
91 * Currently, GDC uses the C calling convention for all functions
92 except those declared extern (Windows).
93 * GDC allows catch statements in finally blocks.
94 * pragma(lib) is not supported.
95 * Some targets do not have a distinct extended floating-point
96 type. On these targets, real and double are the same size.
97 * On Win32 targets, GDC allocates 12 bytes for the real type, while
98 DMD allocates 10 bytes. This also applies to the components of
101 Inline Assembler Notes
103 * Getting GCC to respect the "naked" attribute is difficult. It
104 is recommended that you use only assembler statements in a naked
106 * Jumps from assembler statements will not run cleanups (auto and
109 See GDC.html for more information
113 This program is free software; you can redistribute it and/or modify
114 it under the terms of the GNU General Public License as published by
115 the Free Software Foundation; either version 2 of the License, or
116 (at your option) any later version.
118 This program is distributed in the hope that it will be useful,
119 but WITHOUT ANY WARRANTY; without even the implied warranty of
120 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
121 GNU General Public License for more details.
123 You should have received a copy of the GNU General Public License
124 along with this program; if not, write to the Free Software
125 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA