[Mesa-dev] [PATCH 2/2] clover: Re-order includes in invocation.cpp to fix build

Francisco Jerez currojerez at riseup.net
Wed Jul 20 18:47:55 UTC 2016


Tom Stellard <thomas.stellard at amd.com> writes:

> The build was failing because the official CL headers have a few defines, like:
>
> \# define cl_khr_gl_sharing 1
>
> Which have the same name as some class members of clang's OpenCLOptions class.
> If we include the cl headers first, this breaks the build because the member
> names of this class are replaced by the literal 1.

Reviewed-by: Francisco Jerez <currojerez at riseup.net>

> ---
>  .../state_trackers/clover/llvm/invocation.cpp      | 24 +++++++++++++++-------
>  1 file changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
> index bbd66d4..7b50b02 100644
> --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
> +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
> @@ -24,13 +24,6 @@
>  // OTHER DEALINGS IN THE SOFTWARE.
>  //
>  
> -#include "llvm/codegen.hpp"
> -#include "llvm/compat.hpp"
> -#include "llvm/invocation.hpp"
> -#include "llvm/metadata.hpp"
> -#include "llvm/util.hpp"
> -#include "util/algorithm.hpp"
> -
>  #include <llvm/IR/DiagnosticPrinter.h>
>  #include <llvm/IR/DiagnosticInfo.h>
>  #include <llvm/IR/LLVMContext.h>
> @@ -45,6 +38,23 @@
>  #include <clang/Frontend/TextDiagnosticPrinter.h>
>  #include <clang/Basic/TargetInfo.h>
>  
> +// We need to include internal headers last, because the internal headers
> +// include CL headers which have #define's like:
> +//
> +//#define cl_khr_gl_sharing 1
> +//#define cl_khr_icd 1
> +//
> +// Which will break the compilation of clang/Basic/OpenCLOptions.h
> +
> +#include "core/error.hpp"
> +#include "llvm/codegen.hpp"
> +#include "llvm/compat.hpp"
> +#include "llvm/invocation.hpp"
> +#include "llvm/metadata.hpp"
> +#include "llvm/util.hpp"
> +#include "util/algorithm.hpp"
> +
> +
>  using namespace clover;
>  using namespace clover::llvm;
>  
> -- 
> 2.7.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160720/20aa70bf/attachment.sig>


More information about the mesa-dev mailing list