[PATCH] D18369: [OpenCL] Upstreaming khronos OpenCL 1.2/2.0 header files.

Yaxun Liu via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 14 14:08:19 PDT 2016


yaxunl marked 4 inline comments as done.

================
Comment at: lib/Headers/opencl.h:15636-15637
@@ +15635,4 @@
+#if defined(__OPENCL_C_VERSION__) && __OPENCL_C_VERSION__ >= 200
+#define PIPE_RESERVE_ID_VALID_BIT (1U << 30)
+#define CLK_NULL_RESERVE_ID (__builtin_astype(((void*)(~PIPE_RESERVE_ID_VALID_BIT)), reserve_id_t))
+bool __attribute__((overloadable)) is_valid_reserve_id(reserve_id_t reserve_id);
----------------
yaxunl wrote:
> pxli168 wrote:
> > Is this macro needed in this header?
> > And what happens to spir32 and spir64 difference?
> The spec requires to define this macro.
> 
> I agree this definition seems arbitrary since the spec does not define PIPE_RESERVE_ID_VALID_BIT.
> 
> How about
> 
>   // Define an internally used macro for the maximum value of size_t.
>   #if defined(__SPIR32__)
>   #define _SIZET_MAX UINT_MAX
>   #elif defined(__SPIR64__ )
>   #define _SIZET_MAX ULONG_MAX
>   #endif
> 
> and use it for defining CLK_NULL_RESERVE_ID.
Actually there is a predefined macro `__SIZE_MAX__` by Clang which is just for this purpose.


http://reviews.llvm.org/D18369





More information about the cfe-commits mailing list