[Libclc-dev] [PATCH] Don't include <stddef.h>

Matt Arsenault Matthew.Arsenault at amd.com
Fri Oct 17 15:22:38 PDT 2014


On 10/17/2014 03:19 PM, Jean-Sébastien Pédron wrote:
> Including a standard or system header isn't allowed in OpenCL.
>
> The type "size_t" needs to be explicitely defined now.
> ---
>   generic/include/clc/clctypes.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/generic/include/clc/clctypes.h b/generic/include/clc/clctypes.h
> index ca1372d..f2b7d88 100644
> --- a/generic/include/clc/clctypes.h
> +++ b/generic/include/clc/clctypes.h
> @@ -1,12 +1,12 @@
>   /* 6.1.1 Built-in Scalar Data Types */
>   
> -#include <stddef.h>
> -
>   typedef unsigned char uchar;
>   typedef unsigned short ushort;
>   typedef unsigned int uint;
>   typedef unsigned long ulong;
>   
> +typedef unsigned int size_t;
> +
>   #define __stdint_join3(a,b,c) a ## b ## c
>   
>   #define  __intn_t(n) __stdint_join3(__INT, n, _TYPE__)
This will only work correctly for 32-bit targets. This should be typedef 
__SIZE_TYPE__  size_t to be portable




More information about the Libclc-dev mailing list