From a35a19a6ea7248d98282f87244138299fa130c85 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Thu, 14 Mar 2013 17:40:14 +0000 Subject: scons: Define _ALLOW_KEYWORD_MACROS on MSVC builds. scons/llvm.py defines inline globally to workaround issues with LLVM C binding headers, so the only way to is to avoid aggravating xkeycheck.h errors is to set _ALLOW_KEYWORD_MACROS. This fixes MSVC 2012 build with LLVM. Reviewed-by: Brian Paul --- include/c99_compat.h | 8 +++----- scons/gallium.py | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/c99_compat.h b/include/c99_compat.h index 3a9f502a7ea..429c6014845 100644 --- a/include/c99_compat.h +++ b/include/c99_compat.h @@ -37,12 +37,10 @@ * Visual Studio 2012 will complain if we define the `inline` keyword, but * actually it only supports the keyword on C++. * - * We could skip this check by defining _ALLOW_KEYWORD_MACROS, but there is - * probably value in checking this for other keywords. So simply include - * the checking before we define it below. + * To avoid this the _ALLOW_KEYWORD_MACROS must be set. */ -# if _MSC_VER >= 1700 -# include +# if (_MSC_VER >= 1700) && !defined(_ALLOW_KEYWORD_MACROS) +# define _ALLOW_KEYWORD_MACROS # endif /* diff --git a/scons/gallium.py b/scons/gallium.py index 4b51b6e7cbf..4d3de82d59c 100755 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -289,6 +289,7 @@ def generate(env): '_CRT_SECURE_NO_DEPRECATE', '_SCL_SECURE_NO_WARNINGS', '_SCL_SECURE_NO_DEPRECATE', + '_ALLOW_KEYWORD_MACROS', ] if env['build'] in ('debug', 'checked'): cppdefines += ['_DEBUG'] -- cgit v1.2.3