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