[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