/d/GDC.html
HTML | 799 lines | 691 code | 108 blank | 0 comment | 0 complexity | fb1a39fd5f256cf7ae4e01c4f6992e4f MD5 | raw file
Possible License(s): GPL-2.0, AGPL-1.0
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
- <title>D Front End for GCC</title>
- </head>
- <body>
- <h2>D Front End for GCC - Release 0.30<br>
- </h2>
- Last update: July 24, 2011<br>
- <h3>Supported Systems</h3>
- <ul>
- <li>GCC 4.2.x, 4.3.x, 4.4.x, 4.5.x, 4.6.x<br>
- </li>
- <li>Linux (tested on Debian Sid and Ubuntu Oneiric x86, x86_64)<br>
- </li>
- <li>Mac OS X 10.3.9, 10.4.x<br>
- </li>
- <li>FreeBSD 6.x, 7.x</li>
- <li>Cygwin</li>
- <li>MinGW</li>
- <li>AIX (tested on 5.1)</li>
- </ul>
- 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.<br>
- <h3>Requirements</h3>
- The MacOS X universal binary package requires XCode 2.4.1 or the
- equivalent version of cctools.
- <h3>Downloads</h3>
- <ul>
- <li><a href="http://bitbucket.org/goshawk/gdc/wiki/Home">Main
- package</a></li>
- <li><a href="INSTALL.html">Build Instructions</a></li>
- </ul>
- <h3>Links</h3>
- <ul>
- <li><a href="http://bitbucket.org/goshawk/gdc/wiki/Home">GDC: D
- Compiler for GCC</a><br>
- </li>
- <li><a href="http://www.digitalmars.com/d/">The D
- Programming Language</a></li>
- <li><a href="http://digitalmars.com/d/dlinks.html">D
- Links Page</a><br>
- </li>
- <li><a href="news://news.digitalmars.com/D.gnu">The
- D.gnu newsgroup</a></li>
- <li>For general D discussion, the <a href="news://news.digitalmars.com/digitalmars.D">digitalmars.D</a>
- and <a href="news://news.digitalmars.com/digitalmars.D.bugs">digitalmars.D.bugs</a>
- newsgroups<br>
- </li>
- <li><a href="http://gcc.gnu.org/">The GNU Compiler
- Collection</a></li>
- <li><a href="http://gdcmac.sourceforge.net/">Mac
- OS X binary
- distribution</a><br>
- </li>
- </ul>
- <h3>Contact</h3>
- David Friedman<br>
- e-mail: dvdfrdmn <at> users.sf.net<br>
- Iain Buclaw<br>
- e-mail: ibuclaw <at> ubuntu.com<br>
- Michael Parrott<br>
- e-mail: baseball.mjp <at> gmail.com<br>
- <h3>Status<br>
- </h3>
- <h4>Known Issues </h4>
- <ul>
- <li>See the <a href="http://svn.kuehne.cn/dstress/www/dstress.html">DStress</a>
- page for known failing cases.<br>
- </li>
- <li>Debugging information may have a few problems. To enable D
- name
- mangling in gdb, apply <a href="http://dsource.org/projects/gdb-patches/">this patch</a>.<br>
- </li>
- <li>Some targets do not support once-only linking. A workaround
- is to
- manually control template emission. See the <span style="font-family: monospace;">-femit-templates</span>
- 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.<br>
- </li>
- <ol>
- </ol>
- <li>Complex floating point operations may not work the same as
- DMD.</li>
- <li>Some math functions behave differently due to different
- implementations of the extended floating-point type.</li>
- <li>Volatile statements may not always do the right thing.</li>
- <li>Because of <a href="http://groups-beta.google.com/groups?hl=en&q=%22large+executables+on+AIX%22&qt_s=Search">a
- problem on AIX</a>, the linker will pull in more modules than
- needed.<br>
- </li>
- <li>Some C libraries (Cygwin, MinGW, AIX) don't handle
- floating-point
- formatting and parsing in a standard way.<br>
- </li>
- </ul>
- <h4>Known Differences from DMD</h4>
- <ul>
- <li>The type of <span style="font-family: monospace;">_argptr</span>
- in variadic functions is the target-specific <span style="font-family: monospace;">va_list</span>
- type. The only
- portable way
- to use <span style="font-family: monospace;">_argptr</span>
- is the <span style="font-family: monospace;">std.stdarg.va_arg</span>
- template. In particular, you cannot construct a <span style="font-family: monospace;">va_list</span> from a
- pointer to data
- an expect it to work.<br>
- </li>
- <li>In assembler code, direct access to parameters in naked
- functions
- works differently. Frame relative addressing through <span style="font-family: monospace;">[ESP+4]</span> does
- work the same way.<br>
- </li>
- <li>Currently, GDC uses the C calling convention for all
- functions
- except those declared <span style="font-family: monospace;">extern
- (Windows)</span>.</li>
- <li>GDC allows <span style="font-family: monospace;">catch</span> statements in <span style="font-family: monospace;">finally</span>
- blocks.</li>
- <li><span style="font-family: monospace;">pragma(lib)</span>
- is not
- supported.</li>
- <li>Some targets do not have a distinct extended floating-point
- type. On these targets, <span style="font-family: monospace;">real</span>
- and <span style="font-family: monospace;">double</span>
- are the same
- size.</li>
- <li>On Win32, GDC allocates 12 bytes for the <span style="font-family: monospace;">real</span> type,
- while DMD allocates
- 10 bytes. This also applies to the components of the <span style="font-family: monospace;">creal</span> type.<br>
- </li>
- </ul>
- <h4>Inline Assembler Notes</h4>
- <ul>
- <li>Getting GCC to respect the "naked" attribute is
- difficult.
- It is recommended that you use only assembler statements in a naked
- function. When generating position-independent code, accessing global symbols in a naked function will result in an error.</li>
- <li>Jumps from assembler statements will not run cleanups (auto
- and
- finally)</li>
- </ul>
- <h3>Usage</h3>
- <h4>Invoking gdc and gdmd</h4>
- The compiler driver is named 'gdc' and accepts the standard GCC
- options. There is also a script named 'gdmd' which has the
- same
- interface as the Digital Mars dmd.<br>
- <br>
- The mapping from DMD options to GCC is as follows:<br>
- <table style="text-align: left; width: 50%;" border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;">-c<br>
- </td>
- <td style="vertical-align: top;">-c<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-D<br>
- </td>
- <td style="vertical-align: top;">-fdoc<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-Dd<docdir><br>
- </td>
- <td style="vertical-align: top;">-fdoc-dir=<docdir><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-Df<filename><br>
- </td>
- <td style="vertical-align: top;">-fdoc-file=<filename><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-d</td>
- <td style="vertical-align: top;">-fdeprecated</td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-debug[=<arg>]<br>
- </td>
- <td style="vertical-align: top;">-fdebug[=<arg>]<br>
- </td>
- </tr>
-
- <tr>
- <td style="vertical-align: top;">-deps=<arg><br>
- </td>
- <td style="vertical-align: top;">-fdeps=<arg><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-g<br>
- </td>
- <td style="vertical-align: top;">-g<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-inline<br>
- </td>
- <td style="vertical-align: top;">-finline-functions<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-I<path><br>
- </td>
- <td style="vertical-align: top;">-I
- <path><br>
- </td>
- </tr>
-
- <tr>
- <td style="vertical-align: top;">-J<path><br>
- </td>
- <td style="vertical-align: top;">-J<path><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-L<arg><br>
- </td>
- <td style="vertical-align: top;">-Wl,<arg><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-O<br>
- </td>
- <td style="vertical-align: top;">-O3 without
- inlining (may not be
- equivalent)<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-o-<br>
- </td>
- <td style="vertical-align: top;">-fsyntax-only<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-od<dir><br>
- </td>
- <td style="vertical-align: top;">no equivalent; use the wrapper script<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-of<file></td>
- <td style="vertical-align: top;">-o
- <file><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-op<dir><br>
- </td>
- <td style="vertical-align: top;">no equivalent; use the wrapper script<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-profile<br>
- </td>
- <td style="vertical-align: top;">(see the GCC manual for profiling options)</td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-quiet<br>
- </td>
- <td style="vertical-align: top;">no equivalent<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-release<br>
- </td>
- <td style="vertical-align: top;">-frelease<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-run<br>
- </td>
- <td style="vertical-align: top;">no equivalent; use the wrapper script</td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-unittest<br>
- </td>
- <td style="vertical-align: top;">-funittest<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-version=<arg><br>
- </td>
- <td style="vertical-align: top;">-fversion=<arg><br>
- </td>
- </tr>
-
- <tr>
- <td style="vertical-align: top;">-w<br>
- </td>
- <td style="vertical-align: top;">-Werror<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-wi<br>
- </td>
- <td style="vertical-align: top;">-Wall<br>
- </td>
- </tr>
-
- <tr>
- <td style="vertical-align: top;">-X<br>
- </td>
- <td style="vertical-align: top;">no equivalent; use the wrapper script<br>
- </td>
- </tr>
-
- <tr>
- <td style="vertical-align: top;">-Xf<arg><br>
- </td>
- <td style="vertical-align: top;">-fXf=<arg><br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;"><.ddoc file><br>
- </td>
- <td style="vertical-align: top;">-fdoc-inc=<.ddoc file><br>
- </td>
- </tr>
- </tbody>
- </table>
- <br>
- Other options:<br>
- <table style="text-align: left; width: 75%;" border="1" cellpadding="2" cellspacing="2">
- <tbody>
- <tr>
- <td style="vertical-align: top;">-f[no-]bounds-check<br>
- </td>
- <td style="vertical-align: top;">Controls array
- bounds checking<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-femit-templates[=normal|private|all|none|auto]<br>
- -f[no-]emit-templates<br>
- </td>
- <td style="vertical-align: top;">Controls whether or
- not template
- code is emitted.<br>
- <br>
- "normal" -- Emit templates, expecting multiple copies to be merged by
- the
- linker.<br>
- "private" -- Emit templates, but make them private to the translation
- unit. The executable will have multiple copies of code and
- data.<br>
- "all" -- Emit all template instances with public visibility.
- Do
- this even if they would not normally be emitted.<br>
- "none" -- Do not emit templates at all.<br>
- "auto" -- For targets that support templates, the "full" mode is
- used. Otherwise, the "private" mode is used.<br>
- <br>
- "none" and -fno-emit-templates are synonyms.<br>
- "auto" and -femit-templates are synonyms.<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-fall-sources<br>
- </td>
- <td style="vertical-align: top;">For each source file on the
- command line, semantically process each file preceding it.
- Use this if compilation errors occur due to complicated circular module
- references. This will slow compilation noticeably.<br>
- </td>
- </tr>
- <tr>
- <td style="vertical-align: top;">-fdump-source<br>
- </td>
- <td style="vertical-align: top;">Dump decoded UTF-8 text and
- source from HTML to <source>.utf-8 and
- <source>.d.utf-8.<br>
- </td>
- </tr>
- </tbody>
- </table>
- <h4>Extensions</h4>
- <h5>Extended Assembler</h5>
- GDC implements a GCC extension that allows inline assembler with D
- expression operands. It is available on nearly all targets, not
- just i386. The syntax differs from the C language extension in
- the follow ways.
- <ul>
- <li>Statements start with '<span style="font-family: monospace;">asm { ...</span>', just like the regular DMD inline assembler.</li>
- <li>It is not necesary to put parentheses around operands.</li>
- <li>Instruction templates can be compile-time string constants, not
- just string literals. If the template is not a string literal,
- use parenthesis to indicate that it is not an opcode.</li>
- </ul>
- Unlike i386 inline assembler statements, extended assembler statements do not prevent a function from being inlined.<br>
- <br>
- See the GCC manual for more information about this extension.<br>
- <br>
- Example:<br>
- <br>
- <div style="margin-left: 40px;"><span style="font-family: monospace;">uint invert(uint v)</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">{</span><br style="font-family: monospace;">
- <span style="font-family: monospace;"> uint result;</span><br style="font-family: monospace;">
- <span style="font-family: monospace;"> version(X86)</span><br style="font-family: monospace;">
- <span style="font-family: monospace;"> asm{ "notl %[iov]" : [iov] "=r" result : "0" v; }</span><br style="font-family: monospace;">
- <span style="font-family: monospace;"> else version(PPC)</span><br style="font-family: monospace;">
- <span style="font-family: monospace;"> asm{ "nor %[oresult],%[iv],%[iv]" : [oresult] "=r" result : [iv] "r" v; }</span><br style="font-family: monospace;">
- <span style="font-family: monospace;"> return result;</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">}</span><br style="font-family: monospace;">
- </div>
- <h5>Declaration and Type Attributes</h5>
- (This extension is a work in progress.)<br>
- <br>
- GDC implements the GCC <span style="font-family: monospace;">__attribute__</span> extension with two pragmas:<br>
- <br>
- <span style="font-family: monospace;"><span style="font-weight: bold;">pragma</span>(<span style="font-weight: bold;">attribute</span>,<span style="font-style: italic;"> name1</span>(<span style="font-style: italic;">arg1</span>, <span style="font-style: italic;">arg2</span>, ...), ...) <span style="font-style: italic;">declarations</span>...</span><br style="font-family: monospace;">
- <br>
- <span style="font-family: monospace;"><span style="font-weight: bold;">pragma</span>(<span style="font-weight: bold;">set_attribute</span>, <span style="font-style: italic;">symbol</span>, <span style="font-style: italic;">name1</span>(<span style="font-style: italic;">arg1</span>, <span style="font-style: italic;">arg2</span>...), ...);</span><br>
- <br>
- The deprecated form of these pragmas are <span style="font-family: monospace;">GNU_attribute</span>
- and <span style="font-family: monospace;">GNU_set_attribute</span> respectively.<br>
- <br>
- If an attribute has no arguments, the argument list may be omitted.<br>
- <br>
- The first form applies to declarations directly contained in the
- pragma. The second form affects the given symbol. See the
- GCC manual for a list of attributes that can be set. Not all
- attributes are supported yet by GDC. Also, the interaction
- between these extended attributes and D languge attributes (alignment,
- for example) is not well defined.
- <h3>Changes</h3>
- <a name="0.30"></a>0.30:
- <ul>
- <li>Support for GCC, 4.5.x and 4.6.x added</li>
- <li>Removed support for GCC 3.4.x, 4.0.x, 4.1.x</li>
- <li>Updated D1 to 1.069</li>
- <li>Updated D2 to 2.054</li>
- <li>Better D2 support for MinGW</li>
- <li>Added 'optlink' calling convention for D</li>
- <li>Added 64bit support for IASM (Work in Progress)</li>
- <li>Moved correct implementation of delegates from GCC backend</li>
- to GDC frontend glue code</li>
- <li>Fixed Bugzilla 670, 4494, 4543, 5086, 5090, 5148, 5182,</li>
- 5191, 5439, 5735, 5812</li>
- <li>As always, my dear reader, fixes to many other bugs.</li>
- </ul>
- <a name="0.25"></a>0.25:
- <ul>
- <li>Support for GCC, 4.2.x, 4.3.x, and 4.4.x added</li>
- <li>Updated D1 to 1.063</li>
- <li>Updated D2 to 2.020</li>
- <li>Added druntime support</li>
- <li>Fixed Bugzilla 1041, 1044, 1136, 1145, 1296, 1669, 1689,</li>
- 1751, 1813, 1822, 1921, 1930, 2079, 2102, 2291, 2421</li>
- <li>Fixed Bitbucket issues too numerous to mention. :-)</li>
- </ul>
- <a name="0.24"></a>0.24:
- <ul>
- <li>Removed support for GCC 3.3.x</li>
- <li>Updated to DMD 1.020</li>
- <li>Fixed Bugzilla 1037, 1038 (gdc specific), 1043, 1045, 1046,</li>
- 1031, 1032, 1034, 1065, 1109, 1191, 1137, 1152, 1208, 1325,</li>
- 1329, 1898, 1400</li>
- <li>Fixed SourceForge issues 1689634, 1749622, 1721496, 1721435</li>
- </ul>
- <a name="0.23"></a>0.23:
- <ul>
- <li>Added support for 64-bit targets</li>
- <li>Added multilib support</li>
- <li>Updated to DMD 1.007</li>
- <li>Fixed Bugzilla 984, 1013</li>
- </ul>
- <a name="0.22"></a>0.22:
- <ul>
- <li>Added support for GCC 4.1.x</li>
- <li>Support for GCC 3.3.x is deprecated</li>
- <li>Updated to DMD 1.004</li>
- <li>Fixed Bugzilla 836, 837, 838, 839, 841, 843, 844, 889, 896</li>
- <li>Fixed problems with missing debug information</li>
- <li>Added Rick Mann's -frameowrk patch for gdmd</li>
- </ul>
- <a name="0.21"></a>0.21:
- <ul>
- <li>Updated to DMD 1.00</li>
- <li>Fixed Bugzilla 695, 696, 737, 738, 739, 742, 743, 745</li>
- <li>Implemented GCC extended assembler</li>
- <li>Implemented basic support for GCC attributes</li>
- </ul>
- <a name="0.20"></a>0.20:
- <ul>
- <li>Updated to DMD 0.177</li>
- <li>Fixes for synchronized code generation</li>
- <li>Better support for cross-hosted builds</li>
- <li>Fixed Bugzilla 307, 375, 403, 575, 578</li>
- <li>Applied Anders Björklund's MacOS X build patches</li>
- </ul>
- <a name="0.19"></a>0.19:
- <ul>
- <li>Fixed D Bugzilla bugs 141(gdc), 157, 162, 164, 171, 174,
- 175, 192, 229</li>
- <li>Applied Dave Fladebo's suggestion for -O3 in gdmd</li>
- <li>Updated to DMD 0.162</li>
- <li>The version symbol for FreeBSD is now "freebsd"</li>
- <li>Enabled std.loader for FreeBSD</li>
- <li>Implement offsetof in assembler</li>
- <li>Support building with Apple's GCC (4.0 only)</li>
- <li>Fix parallel builds</li>
- </ul>
- <a name="0.18"></a>0.18:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>ICE on assignment arithmetic</li>
- <li>Problems mixing D and assembler floating point operations</li>
- <li>Mac OS X 10.2 build problems</li>
- <li>The gdc driver no longer compiles C source as C++.<br>
- </li>
- <li>Many others...</li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Updated to DMD 0.157.</li>
- <li>Added support for PowerPC Linux.<br>
- </li>
- <li>Added partial support for SkyOS.</li>
- <li>Compiler can be relocated to another directory.<br>
- </li>
- </ul>
- </ul>
- <a name="0.17"></a>0.17:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Mixed complex/float operations on GCC 4.0 (<a href="http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/1485">D.gnu/1485</a>)</li>
- <li>Applied Thomas Kuhne's HTML line number fix</li>
- <li>Foreach/nested functions in templates (<a href="http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/1514">D.gnu/1514</a>)</li>
- <li>Use correct default initializer when allocating arrays of
- typedef'd types</li>
- <li>Recursive calls to nested functions (<a href="http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/1525">D.gnu/1525</a>)</li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Updated to DMD 0.140<br>
- </li>
- </ul>
- </ul>
- <a name="0.16"></a>0.16:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Concatenating a array and single element</li>
- <li>"__arrayArg already defined"</li>
- <li>ICE on nested foreach statements (<a href="http://www.digitalmars.com/drn-bin/wwwnews?D.gnu/1393">D.gnu/1393</a>)</li>
- <li>Inline assembler</li>
- <ul>
- <li>Functions returning floating point types</li>
- </ul>
- <ul>
- <li>Spurious error on scaled register without a base
- register</li>
- <li>Access to locals by var+ofs[EBP] now works with
- optimization.</li>
- <li>Can now guess operand size from referenced variables.</li>
- </ul>
- <li>Thunks errors with reimplemented interfaces (e.g., Mango)<br>
- </li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Support GCC 4.0.x</li>
- <li>Updated to DMD 0.137</li>
- <li>Support DW_LANG_D for DWARF debugging</li>
- <li>Support compiling multiple sources to a single object with GCC 3.4.x.<br>
- </li>
- </ul>
- </ul>
- <br>
- <a name="0.15"></a>0.15:<br>
- <div style="margin-left: 40px;">
- Updated to DMD 0.128<br>
- </div>
- <br>
- <a name="0.14"></a>0.14:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Classes nested in functions actually work now.</li>
- <li>Fix for newest versions of the GNU assembler.<br>
- </li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Updated to DMD 0.127<br>
- </li>
- </ul>
- </ul>
- <br>
- <a name="0.13"></a>0.13:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Cygwin/MinGW assembler problem</li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Updated to DMD 0.126.</li>
- <li>Calling nested functions with delegates is faster.</li>
- <li>The "check-target-libphobos" uses unit tests and runtime
- checks.<br>
- </li>
- </ul>
- </ul>
- <a name="0.12.1"></a>0.12.1:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Compilation errors and crashes with -fpic</li>
- <li>Crashes with interfaces on Cygwin/MinGW</li>
- <li>Support the -mno-cygwin option<br>
- </li>
- </ul>
- </ul>
- <a name="0.12"></a>0.12:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Various problems building MinGW in MSYS</li>
- <li>Mango "endless output"</li>
- <li>Build problems with gcc 3.4.1</li>
- <li>Various problems revealed by dmdscript<br>
- </li>
- <li>Error message now go to standard error</li>
- <li>DStress catch_01, catch_02, new_04, switch_19, throw_02, and others.</li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Updated to DMD 0.125</li>
- <li>New target: AIX</li>
- <li>GDC and DMD versions are reported with "gcc --version"</li>
- <li>Take advantage of DMD template improvements on<br>
- </li>
- </ul>
- <li>Changes</li>
- <ul>
- <li>std.c.unix is now std.c.unix.unix</li>
- <li>The runtime library is now "libgphobos" to avoid conflicts with DMD.</li>
- <li>The dmd wrapper script...</li>
- <ul>
- <li>Is now named "gdmd".</li>
- <li>Looks for gdc in its own directory instead of searching the path</li>
- <li>Requires a comma after the "-q" option.<br>
- </li>
- </ul>
- </ul>
- </ul>
- <a name="0.11"></a>0.11:<br>
- <ul>
- <li>Fixes</li>
- <ul>
- <li>Reversed structure compare</li>
- <li>Correct meaning of '-L' option in wrapper script</li>
- <li>Static data GC bug on Linux</li>
- </ul>
- <li>Improvements</li>
- <ul>
- <li>Updated to DMD 0.121</li>
- <li>New target: MingGW</li>
- <li>Included Anders F Björklund's man pages.<br>
- </li>
- <li>It is now possible to build a cross-compiler.
- Only MingGW is supported out-of-the-box, however.</li>
- </ul>
- </ul>
- <h3>License</h3>
- This program is free software; you can redistribute it and/or modify<br>
- it under the terms of the GNU General Public License as published by<br>
- the Free Software Foundation; either version 2 of the License, or<br>
- (at your option) any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
- GNU General Public License for more details.<br>
- <br>
- You should have received a copy of the GNU General Public License<br>
- along with this program; if not, write to the Free Software<br>
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA<br>
- </body>
- </html>