The following code:
----
void error(...){}
----
Causes dmd 2.054 to ICE with the following errors:
----
Log.d(1): Error: '__va_argsave_t' is not defined, perhaps you need to import core.vararg; ?
Log.d(1): Error: function Log.error must import core.vararg to use variadic functions
dmd: expression.c:4434: SymbolExp::SymbolExp(Loc, TOK, int, Declaration*, int): Assertion `var' failed.
Aborted
----
On linux x86_64.
Comment #1 by robert — 2011-08-07T12:09:56Z
Note that if you add the import as suggested by the error, the ICE goes away.
Comment #2 by clugdbug — 2012-01-27T23:56:12Z
Works on Windows 32 bit. I assume this is 64 bit only, where varargs are done differently.
Comment #3 by robert — 2012-01-28T03:09:08Z
Definitely a 64bit issue, works on OS X 32, not on OS X 64 (same assertion) using dmd 2.057.