Table of Contents
Toolchain Issues
Tango is in many respects pushing D to its boundaries, and as such exposes issues with the surrounding tool chains. Typically these issues have a ticket in our ticketing system, but as the repair of them usually are outside of our control, they aren't a normal part of our release processes (although they will show up in the relevant milestones when fixed). Thus you will see a list of the known issues here, with links to the relevant bug reports for the toolchains themselves.
In addition to these, there are some workarounds in Tango for compiler bugs. These doesn't always have a ticket in Tango's Trac, but may be listed here with the corresponding bugzilla entry and information on the workaround. When the compiler bug is fixed, the Tango code with the workaround should be cleaned.
Issues listed here should always have a corresponding bugzilla (or other issue tracker used) entry for it too. If it cannot be shown that the issue in fact is a problem with the tool, it should be removed from this page.
Known to affect both DMD and GDC
These will most likely need a fix in the former, and/or the specification.
- Array expansion problem - #618 - Bugzilla 929
- opEquals should return bool - #761 - Bugzilla 1989
- Variadic arguments and alignment - #1042 - Bugzilla 2004 & Bugzilla 2005
DMD
- Non functional pragma (lib, ) on Linux - #678 - Bugzilla 1663
- -debuglib fallback isn't -defaultlib - #739 - Bugzilla 1662
GDC
- Remove std.stdarg - #1001 - Bugzilla 1949
- Poly ASM problem - #467 - Bugzilla 1230 - Has workaround
- Internal Compiler Error with GDC ("memmove") - #622 - Bugzilla 1490 - Fixed in GDC svn, will be closed on our end after next release.
Affecting X86_64:
- Casting of interfaces - #865 - Bugzilla 1844 - Fixed in GDC svn, will be closed on our end after next release.
Workarounds
DMD
- Warnings in tango.math.IEEE - #912 - Bugzilla 1257 - Workaround implemented in [3228].
GDC
- Variadic argument issues related to calling convention - #465 - Bugzilla 670, Bugzilla 1805 - Workaround in GNU version block in tango.text.convert.Layout, implemented in [3420].
- Unittest fails in tango.math.IEEE - #463 - Workaround implemented in [3192].
Affecting 64 bit GDC through DMD's frontend:
- Implicit casting in templates - Bugzilla 617 - Workaround implemented in [3114].
Non-Compiler tools
DSSS
Other References
- General issues fought with the DMD toolchain
- Status on Debian using GDC - http://wiki.debian.org/gdc-4.1
Fixed issues
DMD
- Linker error Layout - #740 - Bugzilla 1508 - Fixed in DMD 1.024 / 2.008
- Erroneous warnings due to forward references - #919 - Bugzilla 1843 - Fixed in DMD 1.028
- scope interfaces crash in unittests - #811 - Bugzilla 1719 - Fixed in DMD 1.027
- vtable error using templated interfaces - #1024 - Bugzilla 1978
GDC
- Float expression broken - #392












