From 6838ea16cab2029166ac4b7cf278cd56c40e9c47 Mon Sep 17 00:00:00 2001 From: Daniel Murphy Date: Mon, 26 Jan 2015 00:33:21 +1100 Subject: [PATCH] Remove va_start's body, as it is not an intrinsic function. The old body was incorrect, and leaving it intact results in wrong-code when it is inlined --- src/core/stdc/stdarg.d | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/core/stdc/stdarg.d b/src/core/stdc/stdarg.d index 67234352f5e..f70b45837c9 100644 --- a/src/core/stdc/stdarg.d +++ b/src/core/stdc/stdarg.d @@ -96,10 +96,7 @@ else version (Windows) // Win64 * Initialize ap. * parmn should be the last named parameter. */ - void va_start(T)(out va_list ap, ref T parmn) - { - ap = cast(va_list)(cast(void*)&parmn + ((size_t.sizeof + size_t.sizeof - 1) & ~(size_t.sizeof - 1))); - } + void va_start(T)(out va_list ap, ref T parmn); // Compiler intrinsic /************ * Retrieve and return the next value that is type T.