From: Reid Kleckner Date: Thu, 20 Nov 2014 22:44:03 +0000 (+0000) Subject: Intercept __crt_va_* used by MSVC "14" X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e35b07ad494f77707b385abc8e0bf680fdaea76f;p=platform%2Fupstream%2Fllvm.git 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. llvm-svn: 222473 --- diff --git a/clang/lib/Headers/vadefs.h b/clang/lib/Headers/vadefs.h index cb997fb..7fe9a74 100644 --- a/clang/lib/Headers/vadefs.h +++ b/clang/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