Mercurial > projects > ldc
diff dmd/func.c @ 57:a9d29e9f1fed trunk
[svn r61] Added support for D-style variadic functions :)
author | lindquist |
---|---|
date | Thu, 25 Oct 2007 02:39:53 +0200 |
parents | 6fcc08a4d406 |
children | d8dd47ef3973 |
line wrap: on
line diff
--- a/dmd/func.c Wed Oct 24 22:26:37 2007 +0200 +++ b/dmd/func.c Thu Oct 25 02:39:53 2007 +0200 @@ -76,6 +76,8 @@ llvmQueued = false; llvmThisVar = NULL; llvmNested = NULL; + llvmArguments = NULL; + llvmArgPtr = NULL; } Dsymbol *FuncDeclaration::syntaxCopy(Dsymbol *s) @@ -1051,6 +1053,8 @@ } } +// we'll handle variadics ourselves +#if !IN_LLVM if (argptr) { // Initialize _argptr to point past non-variadic arg #if IN_GCC @@ -1075,7 +1079,7 @@ e = new AssignExp(0, e1, e); e->type = t; a->push(new ExpStatement(0, e)); -#endif +#endif // IN_GCC } if (_arguments) @@ -1091,6 +1095,8 @@ a->push(new ExpStatement(0, e)); } +#endif // !IN_LLVM + // Merge contracts together with body into one compound statement #ifdef _DH