Explicitly declare lp_native_vector_width inside an extern "C", since we cannot include the correct header file inside extern "C". --- src/gallium/drivers/swr/swr_screen.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/swr/swr_screen.cpp b/src/gallium/drivers/swr/swr_screen.cpp index a9905d7..f858f68 100644 --- a/src/gallium/drivers/swr/swr_screen.cpp +++ b/src/gallium/drivers/swr/swr_screen.cpp @@ -21,6 +21,19 @@ * IN THE SOFTWARE. ***************************************************************************/ +/* + * extern block below has to be before any #includes. + * Windows decorates global variables, and the first extern wins, + * so the first declaration of lp_native_vector_width has to be + * the correct one. The right approach, of course, is to include + * the correct .h files, however that doesn't work since + * header files eventually include system header files, + * which do not work inside extern "C". + */ +extern "C" { + extern unsigned lp_native_vector_width; +} + #include "swr_context.h" #include "swr_public.h" #include "swr_screen.h" @@ -39,9 +52,6 @@ #include "state_tracker/sw_winsys.h" -extern "C" { -#include "gallivm/lp_bld_limits.h" -} #include "jit_api.h" -- 2.10.0.windows.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev