From fd3a8b2069249d5706d01f131b6d693938b0f134 Mon Sep 17 00:00:00 2001 From: Fraser Cormack Date: Mon, 26 May 2025 12:54:31 +0100 Subject: [PATCH] [libspirv] Add include guards where appropriate These are technically required by OpenCL but not observed since downstream we unconditionally build libclc with all extensions enabled. Since this won't fly upstream, this commit prepares the ground for a more correct building of these libraries. --- libclc/libspirv/include/libspirv/image/image.h | 4 ++++ libclc/libspirv/include/libspirv/spirv_types.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/libclc/libspirv/include/libspirv/image/image.h b/libclc/libspirv/include/libspirv/image/image.h index 86145a5a93976..ff77d12618885 100644 --- a/libclc/libspirv/include/libspirv/image/image.h +++ b/libclc/libspirv/include/libspirv/image/image.h @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +#if defined(__opencl_c_images) + _CLC_OVERLOAD _CLC_DECL float __spirv_ImageRead__Rfloat(image2d_t image, int2 coord); _CLC_OVERLOAD _CLC_DECL float __spirv_ImageRead__Rfloat(image2d_t image, @@ -113,3 +115,5 @@ _CLC_OVERLOAD _CLC_DECL void __spirv_ImageWrite(image2d_t image, int4 coord, _CLC_OVERLOAD _CLC_DECL void __spirv_ImageWrite(image3d_t image, int4 coord, half4 texel); #endif + +#endif diff --git a/libclc/libspirv/include/libspirv/spirv_types.h b/libclc/libspirv/include/libspirv/spirv_types.h index a717803f8661e..287dcf96bd2f1 100644 --- a/libclc/libspirv/include/libspirv/spirv_types.h +++ b/libclc/libspirv/include/libspirv/spirv_types.h @@ -50,12 +50,16 @@ typedef struct { float real, imag; } complex_float; +#ifdef cl_khr_fp64 typedef struct { double real, imag; } complex_double; +#endif +#ifdef cl_khr_fp16 typedef struct { half real, imag; } complex_half; +#endif #endif // CLC_SPIRV_TYPES