From: Reid Kleckner Date: Thu, 20 Nov 2014 22:44:03 +0000 (+0000) Subject: Intercept __crt_va_* used by MSVC "14" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=235db81ae5d900ddad6b4f99718bcf9f0b84a282;p=clang Intercept __crt_va_* used by MSVC "14" Moving further into the implementor's namespace is good, but now we have one more name to intercept. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222473 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Headers/vadefs.h b/lib/Headers/vadefs.h index cb997fbf66..7fe9a74e3f 100644 --- a/lib/Headers/vadefs.h +++ b/lib/Headers/vadefs.h @@ -45,5 +45,21 @@ #define _crt_va_arg(ap, type) __builtin_va_arg(ap, type) #endif +/* VS 2015 switched to double underscore names, which is an improvement, but now + * we have to intercept those names too. + */ +#ifdef __crt_va_start +#undef __crt_va_start +#define __crt_va_start(ap, param) __builtin_va_start(ap, param) +#endif +#ifdef __crt_va_end +#undef __crt_va_end +#define __crt_va_end(ap) __builtin_va_end(ap) +#endif +#ifdef __crt_va_arg +#undef __crt_va_arg +#define __crt_va_arg(ap, type) __builtin_va_arg(ap, type) +#endif + #endif #endif