From 24b80f8bb9ccfaa1579d3de074ceb82185b7d1ae Mon Sep 17 00:00:00 2001 From: James Park <16356-jpark37@users.noreply.gitlab.freedesktop.org> Date: Wed, 5 Aug 2020 09:59:25 -0700 Subject: [PATCH] amd/llvm: Reorder LLVM headers LLVM uses __declspec(restrict) which breaks because Mesa define restrict as __restrict. Move the LLVM headerse up to dodge the macro. Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Eric Engestrom Part-of: --- src/amd/llvm/ac_llvm_helper.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/amd/llvm/ac_llvm_helper.cpp b/src/amd/llvm/ac_llvm_helper.cpp index 779085b7e78..1174b34b638 100644 --- a/src/amd/llvm/ac_llvm_helper.cpp +++ b/src/amd/llvm/ac_llvm_helper.cpp @@ -25,12 +25,6 @@ #include -#include "ac_binary.h" -#include "ac_llvm_util.h" -#include "ac_llvm_build.h" - -#include "util/macros.h" - #include #include #include @@ -39,6 +33,18 @@ #include +/* DO NOT REORDER THE HEADERS + * The LLVM headers need to all be included before any Mesa header, + * as they use the `restrict` keyword in ways that are incompatible + * with our #define in include/c99_compat.h + */ + +#include "ac_binary.h" +#include "ac_llvm_util.h" +#include "ac_llvm_build.h" + +#include "util/macros.h" + void ac_add_attr_dereferenceable(LLVMValueRef val, uint64_t bytes) { llvm::Argument *A = llvm::unwrap(val); -- 2.30.2