[Issue 1949] New: Remove internal dependency on stdarg
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Mar 26 14:47:41 PDT 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1949
Summary: Remove internal dependency on stdarg
Product: DGCC aka GDC
Version: 0.24
Platform: Other
OS/Version: All
Status: NEW
Severity: major
Priority: P2
Component: glue layer
AssignedTo: dvdfrdmn at users.sf.net
ReportedBy: larsivar at igesund.net
Use of varargs does not work in GDC unless the necessary symbols from
gcc.builtins are imported via std.stdarg. This check happens in
void d_gcc_magic_module(Module *m)
in d-builtins2.cc
This means that Tango (and all other runtime libraries for D) needs to have
std.stdarg, even if this leads to an obvious conflict if one is to try to
install two such libraries at the same time (Tango and Tangobos is a typical
example that is affected by this.)
I can see no reason why gcc.builtins (which also is hardcoded into the magic
function above) should be the only required module to have varargs working. An
alternative would be adding tango.core.Vararg, but that would be an equally
broken solution.
Another solution proposed by Bommel, was that the dependency on gcc.builtins
could also be removed, by using a pragma to register the required symbols with
the compiler. Probably more work though.
--
More information about the D.gnu
mailing list