Fixed some parsing errors for enums
[delight/core.git] / README
blob0c86d115c2322910b075b363e5d4c90e44747a4d
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,
19     1329, 1898, 1400
20   * Fixed SourceForge issues 1689634, 1749622, 1721496, 1721435
22 Supported Systems
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
27     * FreeBSD 6.x
28     * Cygwin
29     * MinGW
30     * AIX (tested on 5.1)
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.
37 Requirements
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.
44 Downloads
46     * Main package
47       http://sourceforge.net/projects/dgcc
48     * Build Instructions
49       http://dgcc.sourceforge.net/gdc/install.html
50       (or see INSTALL included in the main package)
52 Links
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/
63 Contact
64 David Friedman
65 e-mail: dvdfrdmn@users.sf.net
67 Status
69 Known Issues
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
86       modules than needed.
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
108       the creal type.
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
114       function.
115     * Jumps from assembler statements will not run cleanups (auto and
116       finally)
118 See GDC.html for more information
120 License
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