[Mesa-dev] [PATCH libclc] Add __CLC_ prefix to all macro definitions in headers

Aaron Watry awatry at gmail.com
Tue Jun 18 11:59:25 PDT 2013


I noticed that UGENTYPE and SGENTYPE have morphed into
__CLC_U__CLC_GENTYPE and __CLC_S__CLC_GENTYPE.

Could you do another find/replace to clean those extra __CLC_'s up?

With that change:
Reviewed-by: Aaron Watry <awatry at gmail.com>

On Fri, Jun 14, 2013 at 6:07 PM, Tom Stellard <tom at stellard.net> wrote:
> From: Tom Stellard <thomas.stellard at amd.com>
>
> libclc was defining and undefing GENTYPE and several other macros with
> common names in its header files.  This was preventing applications from
> defining macros with identical names as command line arguments to the
> compiler, because the definitions in the header files were masking the
> macros defined as compiler arguements.
> ---
>  generic/include/clc/gentype.inc             |  48 +-
>  generic/include/clc/geometric/distance.h    |   2 +-
>  generic/include/clc/geometric/dot.h         |   2 +-
>  generic/include/clc/geometric/dot.inc       |   2 +-
>  generic/include/clc/geometric/floatn.inc    |  58 +-
>  generic/include/clc/geometric/length.h      |   2 +-
>  generic/include/clc/geometric/length.inc    |   2 +-
>  generic/include/clc/geometric/normalize.h   |   2 +-
>  generic/include/clc/geometric/normalize.inc |   2 +-
>  generic/include/clc/integer/abs.h           |   2 +-
>  generic/include/clc/integer/abs.inc         |   2 +-
>  generic/include/clc/integer/abs_diff.h      |   2 +-
>  generic/include/clc/integer/abs_diff.inc    |   2 +-
>  generic/include/clc/integer/add_sat.h       |   2 +-
>  generic/include/clc/integer/add_sat.inc     |   2 +-
>  generic/include/clc/integer/clz.h           |   2 +-
>  generic/include/clc/integer/clz.inc         |   2 +-
>  generic/include/clc/integer/gentype.inc     | 866 ++++++++++++++--------------
>  generic/include/clc/integer/rotate.h        |   2 +-
>  generic/include/clc/integer/rotate.inc      |   2 +-
>  generic/include/clc/integer/sub_sat.h       |   2 +-
>  generic/include/clc/integer/sub_sat.inc     |   2 +-
>  generic/include/clc/math/binary_decl.inc    |   6 +-
>  generic/include/clc/math/binary_intrin.inc  |  28 +-
>  generic/include/clc/math/ceil.h             |   4 +-
>  generic/include/clc/math/cos.h              |   4 +-
>  generic/include/clc/math/exp2.h             |   4 +-
>  generic/include/clc/math/fabs.h             |   4 +-
>  generic/include/clc/math/floor.h            |   4 +-
>  generic/include/clc/math/fma.h              |   4 +-
>  generic/include/clc/math/fmax.h             |   8 +-
>  generic/include/clc/math/fmin.h             |   8 +-
>  generic/include/clc/math/gentype.inc        |  90 +--
>  generic/include/clc/math/hypot.h            |   2 +-
>  generic/include/clc/math/hypot.inc          |   2 +-
>  generic/include/clc/math/log2.h             |   4 +-
>  generic/include/clc/math/mad.h              |   2 +-
>  generic/include/clc/math/mad.inc            |   2 +-
>  generic/include/clc/math/pow.h              |   4 +-
>  generic/include/clc/math/sin.h              |   4 +-
>  generic/include/clc/math/sqrt.h             |   4 +-
>  generic/include/clc/math/ternary_intrin.inc |  28 +-
>  generic/include/clc/math/unary_decl.inc     |   2 +-
>  generic/include/clc/math/unary_intrin.inc   |  28 +-
>  generic/include/clc/shared/clamp.h          |   4 +-
>  generic/include/clc/shared/clamp.inc        |   6 +-
>  generic/include/clc/shared/max.h            |   4 +-
>  generic/include/clc/shared/max.inc          |   6 +-
>  generic/include/clc/shared/min.h            |   4 +-
>  generic/include/clc/shared/min.inc          |   8 +-
>  generic/lib/geometric/length.cl             |   2 +-
>  generic/lib/geometric/length.inc            |   2 +-
>  generic/lib/geometric/normalize.cl          |   2 +-
>  generic/lib/geometric/normalize.inc         |   2 +-
>  generic/lib/integer/abs.cl                  |   2 +-
>  generic/lib/integer/abs.inc                 |   4 +-
>  generic/lib/integer/abs_diff.cl             |   2 +-
>  generic/lib/integer/abs_diff.inc            |   4 +-
>  generic/lib/integer/rotate.cl               |   2 +-
>  generic/lib/integer/rotate.inc              |  30 +-
>  generic/lib/math/binary_impl.inc            |  12 +-
>  generic/lib/math/fmax.cl                    |   2 +-
>  generic/lib/math/fmin.cl                    |   2 +-
>  generic/lib/math/hypot.cl                   |   2 +-
>  generic/lib/math/hypot.inc                  |   2 +-
>  generic/lib/math/mad.cl                     |   2 +-
>  generic/lib/math/mad.inc                    |   2 +-
>  generic/lib/shared/clamp.cl                 |   4 +-
>  generic/lib/shared/clamp.inc                |  10 +-
>  generic/lib/shared/max.cl                   |   4 +-
>  generic/lib/shared/max.inc                  |  10 +-
>  generic/lib/shared/min.cl                   |   4 +-
>  generic/lib/shared/min.inc                  |   8 +-
>  generic/lib/shared/vload.cl                 |  12 +-
>  generic/lib/shared/vstore.cl                |   8 +-
>  75 files changed, 712 insertions(+), 712 deletions(-)
>
> diff --git a/generic/include/clc/gentype.inc b/generic/include/clc/gentype.inc
> index 4506920..1ff064a 100644
> --- a/generic/include/clc/gentype.inc
> +++ b/generic/include/clc/gentype.inc
> @@ -1,51 +1,51 @@
> -#define GENTYPE float
> +#define __CLC_GENTYPE float
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float2
> +#define __CLC_GENTYPE float2
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float3
> +#define __CLC_GENTYPE float3
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float4
> +#define __CLC_GENTYPE float4
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float8
> +#define __CLC_GENTYPE float8
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float16
> +#define __CLC_GENTYPE float16
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
>  #ifdef cl_khr_fp64
> -#define GENTYPE double
> +#define __CLC_GENTYPE double
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double2
> +#define __CLC_GENTYPE double2
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double3
> +#define __CLC_GENTYPE double3
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double4
> +#define __CLC_GENTYPE double4
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double8
> +#define __CLC_GENTYPE double8
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double16
> +#define __CLC_GENTYPE double16
>  #include BODY
> -#undef GENTYPE
> +#undef __CLC_GENTYPE
>  #endif
>
>  #undef BODY
> diff --git a/generic/include/clc/geometric/distance.h b/generic/include/clc/geometric/distance.h
> index 1660dcd..3e91332 100644
> --- a/generic/include/clc/geometric/distance.h
> +++ b/generic/include/clc/geometric/distance.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/geometric/distance.inc>
> +#define __CLC_BODY <clc/geometric/distance.inc>
>  #include <clc/geometric/floatn.inc>
> diff --git a/generic/include/clc/geometric/dot.h b/generic/include/clc/geometric/dot.h
> index 5f0464f..7f65fed 100644
> --- a/generic/include/clc/geometric/dot.h
> +++ b/generic/include/clc/geometric/dot.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/geometric/dot.inc>
> +#define __CLC_BODY <clc/geometric/dot.inc>
>  #include <clc/geometric/floatn.inc>
> diff --git a/generic/include/clc/geometric/dot.inc b/generic/include/clc/geometric/dot.inc
> index 69c53a9..34245e2 100644
> --- a/generic/include/clc/geometric/dot.inc
> +++ b/generic/include/clc/geometric/dot.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL FLOAT dot(FLOATN p0, FLOATN p1);
> +_CLC_OVERLOAD _CLC_DECL __CLC_FLOAT dot(__CLC_FLOATN p0, __CLC_FLOATN p1);
> diff --git a/generic/include/clc/geometric/floatn.inc b/generic/include/clc/geometric/floatn.inc
> index e84545a..fb7a9ae 100644
> --- a/generic/include/clc/geometric/floatn.inc
> +++ b/generic/include/clc/geometric/floatn.inc
> @@ -1,45 +1,45 @@
> -#define FLOAT float
> +#define __CLC_FLOAT float
>
> -#define FLOATN float
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN float
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#define FLOATN float2
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN float2
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#define FLOATN float3
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN float3
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#define FLOATN float4
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN float4
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#undef FLOAT
> +#undef __CLC_FLOAT
>
>  #ifdef cl_khr_fp64
>
> -#define FLOAT double
> +#define __CLC_FLOAT double
>
> -#define FLOATN double
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN double
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#define FLOATN double2
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN double2
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#define FLOATN double3
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN double3
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#define FLOATN double4
> -#include BODY
> -#undef FLOATN
> +#define __CLC_FLOATN double4
> +#include __CLC_BODY
> +#undef __CLC_FLOATN
>
> -#undef FLOAT
> +#undef __CLC_FLOAT
>
>  #endif
>
> -#undef BODY
> +#undef __CLC_BODY
> diff --git a/generic/include/clc/geometric/length.h b/generic/include/clc/geometric/length.h
> index fbba634..cb992b9 100644
> --- a/generic/include/clc/geometric/length.h
> +++ b/generic/include/clc/geometric/length.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/geometric/length.inc>
> +#define __CLC_BODY <clc/geometric/length.inc>
>  #include <clc/geometric/floatn.inc>
> diff --git a/generic/include/clc/geometric/length.inc b/generic/include/clc/geometric/length.inc
> index a9fa2d5..c2d95e8 100644
> --- a/generic/include/clc/geometric/length.inc
> +++ b/generic/include/clc/geometric/length.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL FLOAT length(FLOATN p0);
> +_CLC_OVERLOAD _CLC_DECL __CLC_FLOAT length(__CLC_FLOATN p0);
> diff --git a/generic/include/clc/geometric/normalize.h b/generic/include/clc/geometric/normalize.h
> index 3aaf61c..dccff9b 100644
> --- a/generic/include/clc/geometric/normalize.h
> +++ b/generic/include/clc/geometric/normalize.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/geometric/normalize.inc>
> +#define __CLC_BODY <clc/geometric/normalize.inc>
>  #include <clc/geometric/floatn.inc>
> diff --git a/generic/include/clc/geometric/normalize.inc b/generic/include/clc/geometric/normalize.inc
> index 7b4f69d..6eb1315 100644
> --- a/generic/include/clc/geometric/normalize.inc
> +++ b/generic/include/clc/geometric/normalize.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL FLOATN normalize(FLOATN p);
> +_CLC_OVERLOAD _CLC_DECL __CLC_FLOATN normalize(__CLC_FLOATN p);
> diff --git a/generic/include/clc/integer/abs.h b/generic/include/clc/integer/abs.h
> index 7592e4b..77a4cbe 100644
> --- a/generic/include/clc/integer/abs.h
> +++ b/generic/include/clc/integer/abs.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/integer/abs.inc>
> +#define __CLC_BODY <clc/integer/abs.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/include/clc/integer/abs.inc b/generic/include/clc/integer/abs.inc
> index bfbec20..be17d51 100644
> --- a/generic/include/clc/integer/abs.inc
> +++ b/generic/include/clc/integer/abs.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL UGENTYPE abs(GENTYPE x);
> +_CLC_OVERLOAD _CLC_DECL __CLC_U__CLC_GENTYPE abs(__CLC_GENTYPE x);


I've noticed that what used to be UGENTYPE and SGENTYPE have morphed
into __CLC_U__CLC_GENTYPE and __CLC_S__CLC_GENTYPE.

Those extra __CLC_'s in the macro names could get annoying in the
future.  Could you do another find/replace on those to clean them up?

With that fixed:
Reviewed-by: Aaron Watry <awatry at gmail.com>


> diff --git a/generic/include/clc/integer/abs_diff.h b/generic/include/clc/integer/abs_diff.h
> index 16fb465..3f3b4b4 100644
> --- a/generic/include/clc/integer/abs_diff.h
> +++ b/generic/include/clc/integer/abs_diff.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/integer/abs_diff.inc>
> +#define __CLC_BODY <clc/integer/abs_diff.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/include/clc/integer/abs_diff.inc b/generic/include/clc/integer/abs_diff.inc
> index 8cfdb9b..3415584 100644
> --- a/generic/include/clc/integer/abs_diff.inc
> +++ b/generic/include/clc/integer/abs_diff.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL UGENTYPE abs_diff(GENTYPE x, GENTYPE y);
> +_CLC_OVERLOAD _CLC_DECL __CLC_U__CLC_GENTYPE abs_diff(__CLC_GENTYPE x, __CLC_GENTYPE y);
> diff --git a/generic/include/clc/integer/add_sat.h b/generic/include/clc/integer/add_sat.h
> index 9dbe12a..2e5e698 100644
> --- a/generic/include/clc/integer/add_sat.h
> +++ b/generic/include/clc/integer/add_sat.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/integer/add_sat.inc>
> +#define __CLC_BODY <clc/integer/add_sat.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/include/clc/integer/add_sat.inc b/generic/include/clc/integer/add_sat.inc
> index 2ea8a83..913841a 100644
> --- a/generic/include/clc/integer/add_sat.inc
> +++ b/generic/include/clc/integer/add_sat.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE add_sat(GENTYPE x, GENTYPE y);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE add_sat(__CLC_GENTYPE x, __CLC_GENTYPE y);
> diff --git a/generic/include/clc/integer/clz.h b/generic/include/clc/integer/clz.h
> index 5708eb4..f7cdbf7 100644
> --- a/generic/include/clc/integer/clz.h
> +++ b/generic/include/clc/integer/clz.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/integer/clz.inc>
> +#define __CLC_BODY <clc/integer/clz.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/include/clc/integer/clz.inc b/generic/include/clc/integer/clz.inc
> index ac73a31..45826d1 100644
> --- a/generic/include/clc/integer/clz.inc
> +++ b/generic/include/clc/integer/clz.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE clz(GENTYPE x);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE clz(__CLC_GENTYPE x);
> diff --git a/generic/include/clc/integer/gentype.inc b/generic/include/clc/integer/gentype.inc
> index 95a37d5..faaeea7 100644
> --- a/generic/include/clc/integer/gentype.inc
> +++ b/generic/include/clc/integer/gentype.inc
> @@ -1,435 +1,435 @@
>  //These 2 defines only change when switching between data sizes or base types to
>  //keep this file manageable.
> -#define GENSIZE 8
> -#define SCALAR_GENTYPE char
> -
> -#define GENTYPE char
> -#define UGENTYPE uchar
> -#define SGENTYPE char
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE char2
> -#define UGENTYPE uchar2
> -#define SGENTYPE char2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE char3
> -#define UGENTYPE uchar3
> -#define SGENTYPE char3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE char4
> -#define UGENTYPE uchar4
> -#define SGENTYPE char4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE char8
> -#define UGENTYPE uchar8
> -#define SGENTYPE char8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE char16
> -#define UGENTYPE uchar16
> -#define SGENTYPE char16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE uchar
> -
> -#define GENTYPE uchar
> -#define UGENTYPE uchar
> -#define SGENTYPE char
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uchar2
> -#define UGENTYPE uchar2
> -#define SGENTYPE char2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uchar3
> -#define UGENTYPE uchar3
> -#define SGENTYPE char3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uchar4
> -#define UGENTYPE uchar4
> -#define SGENTYPE char4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uchar8
> -#define UGENTYPE uchar8
> -#define SGENTYPE char8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uchar16
> -#define UGENTYPE uchar16
> -#define SGENTYPE char16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef GENSIZE
> -#define GENSIZE 16
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE short
> -
> -#define GENTYPE short
> -#define UGENTYPE ushort
> -#define SGENTYPE short
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE short2
> -#define UGENTYPE ushort2
> -#define SGENTYPE short2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE short3
> -#define UGENTYPE ushort3
> -#define SGENTYPE short3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE short4
> -#define UGENTYPE ushort4
> -#define SGENTYPE short4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE short8
> -#define UGENTYPE ushort8
> -#define SGENTYPE short8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE short16
> -#define UGENTYPE ushort16
> -#define SGENTYPE short16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE ushort
> -
> -#define GENTYPE ushort
> -#define UGENTYPE ushort
> -#define SGENTYPE short
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ushort2
> -#define UGENTYPE ushort2
> -#define SGENTYPE short2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ushort3
> -#define UGENTYPE ushort3
> -#define SGENTYPE short3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ushort4
> -#define UGENTYPE ushort4
> -#define SGENTYPE short4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ushort8
> -#define UGENTYPE ushort8
> -#define SGENTYPE short8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ushort16
> -#define UGENTYPE ushort16
> -#define SGENTYPE short16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef GENSIZE
> -#define GENSIZE 32
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE int
> -
> -#define GENTYPE int
> -#define UGENTYPE uint
> -#define SGENTYPE int
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE int2
> -#define UGENTYPE uint2
> -#define SGENTYPE int2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE int3
> -#define UGENTYPE uint3
> -#define SGENTYPE int3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE int4
> -#define UGENTYPE uint4
> -#define SGENTYPE int4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE int8
> -#define UGENTYPE uint8
> -#define SGENTYPE int8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE int16
> -#define UGENTYPE uint16
> -#define SGENTYPE int16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE uint
> -
> -#define GENTYPE uint
> -#define UGENTYPE uint
> -#define SGENTYPE int
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uint2
> -#define UGENTYPE uint2
> -#define SGENTYPE int2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uint3
> -#define UGENTYPE uint3
> -#define SGENTYPE int3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uint4
> -#define UGENTYPE uint4
> -#define SGENTYPE int4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uint8
> -#define UGENTYPE uint8
> -#define SGENTYPE int8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE uint16
> -#define UGENTYPE uint16
> -#define SGENTYPE int16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef GENSIZE
> -#define GENSIZE 64
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE long
> -
> -#define GENTYPE long
> -#define UGENTYPE ulong
> -#define SGENTYPE long
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE long2
> -#define UGENTYPE ulong2
> -#define SGENTYPE long2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE long3
> -#define UGENTYPE ulong3
> -#define SGENTYPE long3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE long4
> -#define UGENTYPE ulong4
> -#define SGENTYPE long4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE long8
> -#define UGENTYPE ulong8
> -#define SGENTYPE long8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE long16
> -#define UGENTYPE ulong16
> -#define SGENTYPE long16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef SCALAR_GENTYPE
> -#define SCALAR_GENTYPE ulong
> -
> -#define GENTYPE ulong
> -#define UGENTYPE ulong
> -#define SGENTYPE long
> -#define SCALAR 1
> -#include BODY
> -#undef SCALAR
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ulong2
> -#define UGENTYPE ulong2
> -#define SGENTYPE long2
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ulong3
> -#define UGENTYPE ulong3
> -#define SGENTYPE long3
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ulong4
> -#define UGENTYPE ulong4
> -#define SGENTYPE long4
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ulong8
> -#define UGENTYPE ulong8
> -#define SGENTYPE long8
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#define GENTYPE ulong16
> -#define UGENTYPE ulong16
> -#define SGENTYPE long16
> -#include BODY
> -#undef GENTYPE
> -#undef UGENTYPE
> -#undef SGENTYPE
> -
> -#undef GENSIZE
> -#undef SCALAR_GENTYPE
> -#undef BODY
> +#define __CLC_GENSIZE 8
> +#define __CLC_SCALAR_GENTYPE char
> +
> +#define __CLC_GENTYPE char
> +#define __CLC_U__CLC_GENTYPE uchar
> +#define __CLC_S__CLC_GENTYPE char
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE char2
> +#define __CLC_U__CLC_GENTYPE uchar2
> +#define __CLC_S__CLC_GENTYPE char2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE char3
> +#define __CLC_U__CLC_GENTYPE uchar3
> +#define __CLC_S__CLC_GENTYPE char3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE char4
> +#define __CLC_U__CLC_GENTYPE uchar4
> +#define __CLC_S__CLC_GENTYPE char4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE char8
> +#define __CLC_U__CLC_GENTYPE uchar8
> +#define __CLC_S__CLC_GENTYPE char8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE char16
> +#define __CLC_U__CLC_GENTYPE uchar16
> +#define __CLC_S__CLC_GENTYPE char16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE uchar
> +
> +#define __CLC_GENTYPE uchar
> +#define __CLC_U__CLC_GENTYPE uchar
> +#define __CLC_S__CLC_GENTYPE char
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uchar2
> +#define __CLC_U__CLC_GENTYPE uchar2
> +#define __CLC_S__CLC_GENTYPE char2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uchar3
> +#define __CLC_U__CLC_GENTYPE uchar3
> +#define __CLC_S__CLC_GENTYPE char3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uchar4
> +#define __CLC_U__CLC_GENTYPE uchar4
> +#define __CLC_S__CLC_GENTYPE char4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uchar8
> +#define __CLC_U__CLC_GENTYPE uchar8
> +#define __CLC_S__CLC_GENTYPE char8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uchar16
> +#define __CLC_U__CLC_GENTYPE uchar16
> +#define __CLC_S__CLC_GENTYPE char16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_GENSIZE
> +#define __CLC_GENSIZE 16
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE short
> +
> +#define __CLC_GENTYPE short
> +#define __CLC_U__CLC_GENTYPE ushort
> +#define __CLC_S__CLC_GENTYPE short
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE short2
> +#define __CLC_U__CLC_GENTYPE ushort2
> +#define __CLC_S__CLC_GENTYPE short2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE short3
> +#define __CLC_U__CLC_GENTYPE ushort3
> +#define __CLC_S__CLC_GENTYPE short3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE short4
> +#define __CLC_U__CLC_GENTYPE ushort4
> +#define __CLC_S__CLC_GENTYPE short4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE short8
> +#define __CLC_U__CLC_GENTYPE ushort8
> +#define __CLC_S__CLC_GENTYPE short8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE short16
> +#define __CLC_U__CLC_GENTYPE ushort16
> +#define __CLC_S__CLC_GENTYPE short16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE ushort
> +
> +#define __CLC_GENTYPE ushort
> +#define __CLC_U__CLC_GENTYPE ushort
> +#define __CLC_S__CLC_GENTYPE short
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ushort2
> +#define __CLC_U__CLC_GENTYPE ushort2
> +#define __CLC_S__CLC_GENTYPE short2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ushort3
> +#define __CLC_U__CLC_GENTYPE ushort3
> +#define __CLC_S__CLC_GENTYPE short3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ushort4
> +#define __CLC_U__CLC_GENTYPE ushort4
> +#define __CLC_S__CLC_GENTYPE short4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ushort8
> +#define __CLC_U__CLC_GENTYPE ushort8
> +#define __CLC_S__CLC_GENTYPE short8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ushort16
> +#define __CLC_U__CLC_GENTYPE ushort16
> +#define __CLC_S__CLC_GENTYPE short16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_GENSIZE
> +#define __CLC_GENSIZE 32
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE int
> +
> +#define __CLC_GENTYPE int
> +#define __CLC_U__CLC_GENTYPE uint
> +#define __CLC_S__CLC_GENTYPE int
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE int2
> +#define __CLC_U__CLC_GENTYPE uint2
> +#define __CLC_S__CLC_GENTYPE int2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE int3
> +#define __CLC_U__CLC_GENTYPE uint3
> +#define __CLC_S__CLC_GENTYPE int3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE int4
> +#define __CLC_U__CLC_GENTYPE uint4
> +#define __CLC_S__CLC_GENTYPE int4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE int8
> +#define __CLC_U__CLC_GENTYPE uint8
> +#define __CLC_S__CLC_GENTYPE int8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE int16
> +#define __CLC_U__CLC_GENTYPE uint16
> +#define __CLC_S__CLC_GENTYPE int16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE uint
> +
> +#define __CLC_GENTYPE uint
> +#define __CLC_U__CLC_GENTYPE uint
> +#define __CLC_S__CLC_GENTYPE int
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uint2
> +#define __CLC_U__CLC_GENTYPE uint2
> +#define __CLC_S__CLC_GENTYPE int2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uint3
> +#define __CLC_U__CLC_GENTYPE uint3
> +#define __CLC_S__CLC_GENTYPE int3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uint4
> +#define __CLC_U__CLC_GENTYPE uint4
> +#define __CLC_S__CLC_GENTYPE int4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uint8
> +#define __CLC_U__CLC_GENTYPE uint8
> +#define __CLC_S__CLC_GENTYPE int8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE uint16
> +#define __CLC_U__CLC_GENTYPE uint16
> +#define __CLC_S__CLC_GENTYPE int16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_GENSIZE
> +#define __CLC_GENSIZE 64
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE long
> +
> +#define __CLC_GENTYPE long
> +#define __CLC_U__CLC_GENTYPE ulong
> +#define __CLC_S__CLC_GENTYPE long
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE long2
> +#define __CLC_U__CLC_GENTYPE ulong2
> +#define __CLC_S__CLC_GENTYPE long2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE long3
> +#define __CLC_U__CLC_GENTYPE ulong3
> +#define __CLC_S__CLC_GENTYPE long3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE long4
> +#define __CLC_U__CLC_GENTYPE ulong4
> +#define __CLC_S__CLC_GENTYPE long4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE long8
> +#define __CLC_U__CLC_GENTYPE ulong8
> +#define __CLC_S__CLC_GENTYPE long8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE long16
> +#define __CLC_U__CLC_GENTYPE ulong16
> +#define __CLC_S__CLC_GENTYPE long16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_SCALAR_GENTYPE
> +#define __CLC_SCALAR_GENTYPE ulong
> +
> +#define __CLC_GENTYPE ulong
> +#define __CLC_U__CLC_GENTYPE ulong
> +#define __CLC_S__CLC_GENTYPE long
> +#define __CLC_SCALAR 1
> +#include __CLC_BODY
> +#undef __CLC_SCALAR
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ulong2
> +#define __CLC_U__CLC_GENTYPE ulong2
> +#define __CLC_S__CLC_GENTYPE long2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ulong3
> +#define __CLC_U__CLC_GENTYPE ulong3
> +#define __CLC_S__CLC_GENTYPE long3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ulong4
> +#define __CLC_U__CLC_GENTYPE ulong4
> +#define __CLC_S__CLC_GENTYPE long4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ulong8
> +#define __CLC_U__CLC_GENTYPE ulong8
> +#define __CLC_S__CLC_GENTYPE long8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#define __CLC_GENTYPE ulong16
> +#define __CLC_U__CLC_GENTYPE ulong16
> +#define __CLC_S__CLC_GENTYPE long16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_U__CLC_GENTYPE
> +#undef __CLC_S__CLC_GENTYPE
> +
> +#undef __CLC_GENSIZE
> +#undef __CLC_SCALAR_GENTYPE
> +#undef __CLC_BODY
> diff --git a/generic/include/clc/integer/rotate.h b/generic/include/clc/integer/rotate.h
> index e163bc8..6320223 100644
> --- a/generic/include/clc/integer/rotate.h
> +++ b/generic/include/clc/integer/rotate.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/integer/rotate.inc>
> +#define __CLC_BODY <clc/integer/rotate.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/include/clc/integer/rotate.inc b/generic/include/clc/integer/rotate.inc
> index 5720e1c..c97711e 100644
> --- a/generic/include/clc/integer/rotate.inc
> +++ b/generic/include/clc/integer/rotate.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE rotate(GENTYPE x, GENTYPE y);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE rotate(__CLC_GENTYPE x, __CLC_GENTYPE y);
> diff --git a/generic/include/clc/integer/sub_sat.h b/generic/include/clc/integer/sub_sat.h
> index 942274d..f841529 100644
> --- a/generic/include/clc/integer/sub_sat.h
> +++ b/generic/include/clc/integer/sub_sat.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/integer/sub_sat.inc>
> +#define __CLC_BODY <clc/integer/sub_sat.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/include/clc/integer/sub_sat.inc b/generic/include/clc/integer/sub_sat.inc
> index 3e0f8f9..425df2e 100644
> --- a/generic/include/clc/integer/sub_sat.inc
> +++ b/generic/include/clc/integer/sub_sat.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE sub_sat(GENTYPE x, GENTYPE y);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE sub_sat(__CLC_GENTYPE x, __CLC_GENTYPE y);
> diff --git a/generic/include/clc/math/binary_decl.inc b/generic/include/clc/math/binary_decl.inc
> index 1a49e26..70a7114 100644
> --- a/generic/include/clc/math/binary_decl.inc
> +++ b/generic/include/clc/math/binary_decl.inc
> @@ -1,6 +1,6 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE a, GENTYPE b);
> -_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE a, float b);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, __CLC_GENTYPE b);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, float b);
>
>  #ifdef cl_khr_fp64
> -_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE a, double b);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE a, double b);
>  #endif
> diff --git a/generic/include/clc/math/binary_intrin.inc b/generic/include/clc/math/binary_intrin.inc
> index 30dec7b..cfbe741 100644
> --- a/generic/include/clc/math/binary_intrin.inc
> +++ b/generic/include/clc/math/binary_intrin.inc
> @@ -1,18 +1,18 @@
> -_CLC_OVERLOAD float FUNCTION(float, float) __asm(INTRINSIC ".f32");
> -_CLC_OVERLOAD float2 FUNCTION(float2, float2) __asm(INTRINSIC ".v2f32");
> -_CLC_OVERLOAD float3 FUNCTION(float3, float3) __asm(INTRINSIC ".v3f32");
> -_CLC_OVERLOAD float4 FUNCTION(float4, float4) __asm(INTRINSIC ".v4f32");
> -_CLC_OVERLOAD float8 FUNCTION(float8, float8) __asm(INTRINSIC ".v8f32");
> -_CLC_OVERLOAD float16 FUNCTION(float16, float16) __asm(INTRINSIC ".v16f32");
> +_CLC_OVERLOAD float __CLC_FUNCTION(float, float) __asm(__CLC_INTRINSIC ".f32");
> +_CLC_OVERLOAD float2 __CLC_FUNCTION(float2, float2) __asm(__CLC_INTRINSIC ".v2f32");
> +_CLC_OVERLOAD float3 __CLC_FUNCTION(float3, float3) __asm(__CLC_INTRINSIC ".v3f32");
> +_CLC_OVERLOAD float4 __CLC_FUNCTION(float4, float4) __asm(__CLC_INTRINSIC ".v4f32");
> +_CLC_OVERLOAD float8 __CLC_FUNCTION(float8, float8) __asm(__CLC_INTRINSIC ".v8f32");
> +_CLC_OVERLOAD float16 __CLC_FUNCTION(float16, float16) __asm(__CLC_INTRINSIC ".v16f32");
>
>  #ifdef cl_khr_fp64
> -_CLC_OVERLOAD double FUNCTION(double, double) __asm(INTRINSIC ".f64");
> -_CLC_OVERLOAD double2 FUNCTION(double2, double2) __asm(INTRINSIC ".v2f64");
> -_CLC_OVERLOAD double3 FUNCTION(double3, double3) __asm(INTRINSIC ".v3f64");
> -_CLC_OVERLOAD double4 FUNCTION(double4, double4) __asm(INTRINSIC ".v4f64");
> -_CLC_OVERLOAD double8 FUNCTION(double8, double8) __asm(INTRINSIC ".v8f64");
> -_CLC_OVERLOAD double16 FUNCTION(double16, double16) __asm(INTRINSIC ".v16f64");
> +_CLC_OVERLOAD double __CLC_FUNCTION(double, double) __asm(__CLC_INTRINSIC ".f64");
> +_CLC_OVERLOAD double2 __CLC_FUNCTION(double2, double2) __asm(__CLC_INTRINSIC ".v2f64");
> +_CLC_OVERLOAD double3 __CLC_FUNCTION(double3, double3) __asm(__CLC_INTRINSIC ".v3f64");
> +_CLC_OVERLOAD double4 __CLC_FUNCTION(double4, double4) __asm(__CLC_INTRINSIC ".v4f64");
> +_CLC_OVERLOAD double8 __CLC_FUNCTION(double8, double8) __asm(__CLC_INTRINSIC ".v8f64");
> +_CLC_OVERLOAD double16 __CLC_FUNCTION(double16, double16) __asm(__CLC_INTRINSIC ".v16f64");
>  #endif
>
> -#undef FUNCTION
> -#undef INTRINSIC
> +#undef __CLC_FUNCTION
> +#undef __CLC_INTRINSIC
> diff --git a/generic/include/clc/math/ceil.h b/generic/include/clc/math/ceil.h
> index b8e4b08..5b40abf 100644
> --- a/generic/include/clc/math/ceil.h
> +++ b/generic/include/clc/math/ceil.h
> @@ -1,6 +1,6 @@
>  #undef ceil
>  #define ceil __clc_ceil
>
> -#define FUNCTION __clc_ceil
> -#define INTRINSIC "llvm.ceil"
> +#define __CLC_FUNCTION __clc_ceil
> +#define __CLC_INTRINSIC "llvm.ceil"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/cos.h b/generic/include/clc/math/cos.h
> index e876c1a..974f9d1 100644
> --- a/generic/include/clc/math/cos.h
> +++ b/generic/include/clc/math/cos.h
> @@ -1,6 +1,6 @@
>  #undef cos
>  #define cos __clc_cos
>
> -#define FUNCTION __clc_cos
> -#define INTRINSIC "llvm.cos"
> +#define __CLC_FUNCTION __clc_cos
> +#define __CLC_INTRINSIC "llvm.cos"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/exp2.h b/generic/include/clc/math/exp2.h
> index fe91633..ec0dad2 100644
> --- a/generic/include/clc/math/exp2.h
> +++ b/generic/include/clc/math/exp2.h
> @@ -1,6 +1,6 @@
>  #undef exp2
>  #define exp2 __clc_exp2
>
> -#define FUNCTION __clc_exp2
> -#define INTRINSIC "llvm.exp2"
> +#define __CLC_FUNCTION __clc_exp2
> +#define __CLC_INTRINSIC "llvm.exp2"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/fabs.h b/generic/include/clc/math/fabs.h
> index 4da013c..ee2f893 100644
> --- a/generic/include/clc/math/fabs.h
> +++ b/generic/include/clc/math/fabs.h
> @@ -1,6 +1,6 @@
>  #undef fabs
>  #define fabs __clc_fabs
>
> -#define FUNCTION __clc_fabs
> -#define INTRINSIC "llvm.fabs"
> +#define __CLC_FUNCTION __clc_fabs
> +#define __CLC_INTRINSIC "llvm.fabs"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/floor.h b/generic/include/clc/math/floor.h
> index abb7c2a..2337d35 100644
> --- a/generic/include/clc/math/floor.h
> +++ b/generic/include/clc/math/floor.h
> @@ -1,6 +1,6 @@
>  #undef floor
>  #define floor __clc_floor
>
> -#define FUNCTION __clc_floor
> -#define INTRINSIC "llvm.floor"
> +#define __CLC_FUNCTION __clc_floor
> +#define __CLC_INTRINSIC "llvm.floor"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/fma.h b/generic/include/clc/math/fma.h
> index 8d862fa..02d39f6 100644
> --- a/generic/include/clc/math/fma.h
> +++ b/generic/include/clc/math/fma.h
> @@ -1,6 +1,6 @@
>  #undef fma
>  #define fma __clc_fma
>
> -#define FUNCTION __clc_fma
> -#define INTRINSIC "llvm.fma"
> +#define __CLC_FUNCTION __clc_fma
> +#define __CLC_INTRINSIC "llvm.fma"
>  #include <clc/math/ternary_intrin.inc>
> diff --git a/generic/include/clc/math/fmax.h b/generic/include/clc/math/fmax.h
> index d26e5d6..d6956af 100644
> --- a/generic/include/clc/math/fmax.h
> +++ b/generic/include/clc/math/fmax.h
> @@ -1,11 +1,11 @@
>  #undef fmax
>  #define fmax __clc_fmax
>
> -#define BODY <clc/math/binary_decl.inc>
> -#define FUNCTION __clc_fmax
> +#define __CLC_BODY <clc/math/binary_decl.inc>
> +#define __CLC_FUNCTION __clc_fmax
>
>  #include <clc/math/gentype.inc>
>
> -#undef BODY
> -#undef FUNCTION
> +#undef __CLC_BODY
> +#undef __CLC_FUNCTION
>
> diff --git a/generic/include/clc/math/fmin.h b/generic/include/clc/math/fmin.h
> index 3506aef..5588ba9 100644
> --- a/generic/include/clc/math/fmin.h
> +++ b/generic/include/clc/math/fmin.h
> @@ -1,11 +1,11 @@
>  #undef fmin
>  #define fmin __clc_fmin
>
> -#define BODY <clc/math/binary_decl.inc>
> -#define FUNCTION __clc_fmin
> +#define __CLC_BODY <clc/math/binary_decl.inc>
> +#define __CLC_FUNCTION __clc_fmin
>
>  #include <clc/math/gentype.inc>
>
> -#undef BODY
> -#undef FUNCTION
> +#undef __CLC_BODY
> +#undef __CLC_FUNCTION
>
> diff --git a/generic/include/clc/math/gentype.inc b/generic/include/clc/math/gentype.inc
> index 4ed2151..bff4f56 100644
> --- a/generic/include/clc/math/gentype.inc
> +++ b/generic/include/clc/math/gentype.inc
> @@ -1,63 +1,63 @@
> -#define SCALAR_GENTYPE float
> +#define __CLC_SCALAR_GENTYPE float
>
> -#define GENTYPE float
> -#define SCALAR
> -#include BODY
> -#undef GENTYPE
> -#undef SCALAR
> +#define __CLC_GENTYPE float
> +#define __CLC_SCALAR
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_SCALAR
>
> -#define GENTYPE float2
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE float2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float3
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE float3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float4
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE float4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float8
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE float8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE float16
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE float16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#undef SCALAR_GENTYPE
> +#undef __CLC_SCALAR_GENTYPE
>
>  #ifdef cl_khr_fp64
> -#define SCALAR_GENTYPE double
> +#define __CLC_SCALAR_GENTYPE double
>
> -#define SCALAR
> -#define GENTYPE double
> -#include BODY
> -#undef GENTYPE
> -#undef SCALAR
> +#define __CLC_SCALAR
> +#define __CLC_GENTYPE double
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
> +#undef __CLC_SCALAR
>
> -#define GENTYPE double2
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE double2
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double3
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE double3
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double4
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE double4
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double8
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE double8
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#define GENTYPE double16
> -#include BODY
> -#undef GENTYPE
> +#define __CLC_GENTYPE double16
> +#include __CLC_BODY
> +#undef __CLC_GENTYPE
>
> -#undef SCALAR_GENTYPE
> +#undef __CLC_SCALAR_GENTYPE
>  #endif
>
> -#undef BODY
> +#undef __CLC_BODY
> diff --git a/generic/include/clc/math/hypot.h b/generic/include/clc/math/hypot.h
> index 9ffda48..c00eb45 100644
> --- a/generic/include/clc/math/hypot.h
> +++ b/generic/include/clc/math/hypot.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/math/hypot.inc>
> +#define __CLC_BODY <clc/math/hypot.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/include/clc/math/hypot.inc b/generic/include/clc/math/hypot.inc
> index 2f97ee5..08b4605 100644
> --- a/generic/include/clc/math/hypot.inc
> +++ b/generic/include/clc/math/hypot.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE hypot(GENTYPE x, GENTYPE y);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE hypot(__CLC_GENTYPE x, __CLC_GENTYPE y);
> diff --git a/generic/include/clc/math/log2.h b/generic/include/clc/math/log2.h
> index d8a8842..8801240 100644
> --- a/generic/include/clc/math/log2.h
> +++ b/generic/include/clc/math/log2.h
> @@ -1,6 +1,6 @@
>  #undef log2
>  #define log2 __clc_log2
>
> -#define FUNCTION __clc_log2
> -#define INTRINSIC "llvm.log2"
> +#define __CLC_FUNCTION __clc_log2
> +#define __CLC_INTRINSIC "llvm.log2"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/mad.h b/generic/include/clc/math/mad.h
> index 58f7674..c4e5084 100644
> --- a/generic/include/clc/math/mad.h
> +++ b/generic/include/clc/math/mad.h
> @@ -1,2 +1,2 @@
> -#define BODY <clc/math/mad.inc>
> +#define __CLC_BODY <clc/math/mad.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/include/clc/math/mad.inc b/generic/include/clc/math/mad.inc
> index 5200d67..61194b6 100644
> --- a/generic/include/clc/math/mad.inc
> +++ b/generic/include/clc/math/mad.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE mad(GENTYPE a, GENTYPE b, GENTYPE c);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE mad(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c);
> diff --git a/generic/include/clc/math/pow.h b/generic/include/clc/math/pow.h
> index 208d06d..320d341 100644
> --- a/generic/include/clc/math/pow.h
> +++ b/generic/include/clc/math/pow.h
> @@ -1,6 +1,6 @@
>  #undef pow
>  #define pow __clc_pow
>
> -#define FUNCTION __clc_pow
> -#define INTRINSIC "llvm.pow"
> +#define __CLC_FUNCTION __clc_pow
> +#define __CLC_INTRINSIC "llvm.pow"
>  #include <clc/math/binary_intrin.inc>
> diff --git a/generic/include/clc/math/sin.h b/generic/include/clc/math/sin.h
> index 2216804..e50b71a 100644
> --- a/generic/include/clc/math/sin.h
> +++ b/generic/include/clc/math/sin.h
> @@ -1,6 +1,6 @@
>  #undef sin
>  #define sin __clc_sin
>
> -#define FUNCTION __clc_sin
> -#define INTRINSIC "llvm.sin"
> +#define __CLC_FUNCTION __clc_sin
> +#define __CLC_INTRINSIC "llvm.sin"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/sqrt.h b/generic/include/clc/math/sqrt.h
> index a000e24..f69de84 100644
> --- a/generic/include/clc/math/sqrt.h
> +++ b/generic/include/clc/math/sqrt.h
> @@ -1,6 +1,6 @@
>  #undef sqrt
>  #define sqrt __clc_sqrt
>
> -#define FUNCTION __clc_sqrt
> -#define INTRINSIC "llvm.sqrt"
> +#define __CLC_FUNCTION __clc_sqrt
> +#define __CLC_INTRINSIC "llvm.sqrt"
>  #include <clc/math/unary_intrin.inc>
> diff --git a/generic/include/clc/math/ternary_intrin.inc b/generic/include/clc/math/ternary_intrin.inc
> index 7d451e9..9633696 100644
> --- a/generic/include/clc/math/ternary_intrin.inc
> +++ b/generic/include/clc/math/ternary_intrin.inc
> @@ -1,18 +1,18 @@
> -_CLC_OVERLOAD float FUNCTION(float, float, float) __asm(INTRINSIC ".f32");
> -_CLC_OVERLOAD float2 FUNCTION(float2, float2, float2) __asm(INTRINSIC ".v2f32");
> -_CLC_OVERLOAD float3 FUNCTION(float3, float3, float3) __asm(INTRINSIC ".v3f32");
> -_CLC_OVERLOAD float4 FUNCTION(float4, float4, float4) __asm(INTRINSIC ".v4f32");
> -_CLC_OVERLOAD float8 FUNCTION(float8, float8, float8) __asm(INTRINSIC ".v8f32");
> -_CLC_OVERLOAD float16 FUNCTION(float16, float16, float16) __asm(INTRINSIC ".v16f32");
> +_CLC_OVERLOAD float __CLC_FUNCTION(float, float, float) __asm(__CLC_INTRINSIC ".f32");
> +_CLC_OVERLOAD float2 __CLC_FUNCTION(float2, float2, float2) __asm(__CLC_INTRINSIC ".v2f32");
> +_CLC_OVERLOAD float3 __CLC_FUNCTION(float3, float3, float3) __asm(__CLC_INTRINSIC ".v3f32");
> +_CLC_OVERLOAD float4 __CLC_FUNCTION(float4, float4, float4) __asm(__CLC_INTRINSIC ".v4f32");
> +_CLC_OVERLOAD float8 __CLC_FUNCTION(float8, float8, float8) __asm(__CLC_INTRINSIC ".v8f32");
> +_CLC_OVERLOAD float16 __CLC_FUNCTION(float16, float16, float16) __asm(__CLC_INTRINSIC ".v16f32");
>
>  #ifdef cl_khr_fp64
> -_CLC_OVERLOAD double FUNCTION(double, double, double) __asm(INTRINSIC ".f64");
> -_CLC_OVERLOAD double2 FUNCTION(double2, double2, double2) __asm(INTRINSIC ".v2f64");
> -_CLC_OVERLOAD double3 FUNCTION(double3, double3, double3) __asm(INTRINSIC ".v3f64");
> -_CLC_OVERLOAD double4 FUNCTION(double4, double4, double4) __asm(INTRINSIC ".v4f64");
> -_CLC_OVERLOAD double8 FUNCTION(double8, double8, double8) __asm(INTRINSIC ".v8f64");
> -_CLC_OVERLOAD double16 FUNCTION(double16, double16, double16) __asm(INTRINSIC ".v16f64");
> +_CLC_OVERLOAD double __CLC_FUNCTION(double, double, double) __asm(__CLC_INTRINSIC ".f64");
> +_CLC_OVERLOAD double2 __CLC_FUNCTION(double2, double2, double2) __asm(__CLC_INTRINSIC ".v2f64");
> +_CLC_OVERLOAD double3 __CLC_FUNCTION(double3, double3, double3) __asm(__CLC_INTRINSIC ".v3f64");
> +_CLC_OVERLOAD double4 __CLC_FUNCTION(double4, double4, double4) __asm(__CLC_INTRINSIC ".v4f64");
> +_CLC_OVERLOAD double8 __CLC_FUNCTION(double8, double8, double8) __asm(__CLC_INTRINSIC ".v8f64");
> +_CLC_OVERLOAD double16 __CLC_FUNCTION(double16, double16, double16) __asm(__CLC_INTRINSIC ".v16f64");
>  #endif
>
> -#undef FUNCTION
> -#undef INTRINSIC
> +#undef __CLC_FUNCTION
> +#undef __CLC_INTRINSIC
> diff --git a/generic/include/clc/math/unary_decl.inc b/generic/include/clc/math/unary_decl.inc
> index 392c4d6..9858d90 100644
> --- a/generic/include/clc/math/unary_decl.inc
> +++ b/generic/include/clc/math/unary_decl.inc
> @@ -1 +1 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE FUNCTION(GENTYPE x);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE __CLC_FUNCTION(__CLC_GENTYPE x);
> diff --git a/generic/include/clc/math/unary_intrin.inc b/generic/include/clc/math/unary_intrin.inc
> index 2da5a9c..8c62d88 100644
> --- a/generic/include/clc/math/unary_intrin.inc
> +++ b/generic/include/clc/math/unary_intrin.inc
> @@ -1,18 +1,18 @@
> -_CLC_OVERLOAD float FUNCTION(float f) __asm(INTRINSIC ".f32");
> -_CLC_OVERLOAD float2 FUNCTION(float2 f) __asm(INTRINSIC ".v2f32");
> -_CLC_OVERLOAD float3 FUNCTION(float3 f) __asm(INTRINSIC ".v3f32");
> -_CLC_OVERLOAD float4 FUNCTION(float4 f) __asm(INTRINSIC ".v4f32");
> -_CLC_OVERLOAD float8 FUNCTION(float8 f) __asm(INTRINSIC ".v8f32");
> -_CLC_OVERLOAD float16 FUNCTION(float16 f) __asm(INTRINSIC ".v16f32");
> +_CLC_OVERLOAD float __CLC_FUNCTION(float f) __asm(__CLC_INTRINSIC ".f32");
> +_CLC_OVERLOAD float2 __CLC_FUNCTION(float2 f) __asm(__CLC_INTRINSIC ".v2f32");
> +_CLC_OVERLOAD float3 __CLC_FUNCTION(float3 f) __asm(__CLC_INTRINSIC ".v3f32");
> +_CLC_OVERLOAD float4 __CLC_FUNCTION(float4 f) __asm(__CLC_INTRINSIC ".v4f32");
> +_CLC_OVERLOAD float8 __CLC_FUNCTION(float8 f) __asm(__CLC_INTRINSIC ".v8f32");
> +_CLC_OVERLOAD float16 __CLC_FUNCTION(float16 f) __asm(__CLC_INTRINSIC ".v16f32");
>
>  #ifdef cl_khr_fp64
> -_CLC_OVERLOAD double FUNCTION(double d) __asm(INTRINSIC ".f64");
> -_CLC_OVERLOAD double2 FUNCTION(double2 d) __asm(INTRINSIC ".v2f64");
> -_CLC_OVERLOAD double3 FUNCTION(double3 d) __asm(INTRINSIC ".v3f64");
> -_CLC_OVERLOAD double4 FUNCTION(double4 d) __asm(INTRINSIC ".v4f64");
> -_CLC_OVERLOAD double8 FUNCTION(double8 d) __asm(INTRINSIC ".v8f64");
> -_CLC_OVERLOAD double16 FUNCTION(double16 d) __asm(INTRINSIC ".v16f64");
> +_CLC_OVERLOAD double __CLC_FUNCTION(double d) __asm(__CLC_INTRINSIC ".f64");
> +_CLC_OVERLOAD double2 __CLC_FUNCTION(double2 d) __asm(__CLC_INTRINSIC ".v2f64");
> +_CLC_OVERLOAD double3 __CLC_FUNCTION(double3 d) __asm(__CLC_INTRINSIC ".v3f64");
> +_CLC_OVERLOAD double4 __CLC_FUNCTION(double4 d) __asm(__CLC_INTRINSIC ".v4f64");
> +_CLC_OVERLOAD double8 __CLC_FUNCTION(double8 d) __asm(__CLC_INTRINSIC ".v8f64");
> +_CLC_OVERLOAD double16 __CLC_FUNCTION(double16 d) __asm(__CLC_INTRINSIC ".v16f64");
>  #endif
>
> -#undef FUNCTION
> -#undef INTRINSIC
> +#undef __CLC_FUNCTION
> +#undef __CLC_INTRINSIC
> diff --git a/generic/include/clc/shared/clamp.h b/generic/include/clc/shared/clamp.h
> index 5c2ebd0..a389b85 100644
> --- a/generic/include/clc/shared/clamp.h
> +++ b/generic/include/clc/shared/clamp.h
> @@ -1,5 +1,5 @@
> -#define BODY <clc/shared/clamp.inc>
> +#define __CLC_BODY <clc/shared/clamp.inc>
>  #include <clc/integer/gentype.inc>
>
> -#define BODY <clc/shared/clamp.inc>
> +#define __CLC_BODY <clc/shared/clamp.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/include/clc/shared/clamp.inc b/generic/include/clc/shared/clamp.inc
> index 67c8142..aaff9d0 100644
> --- a/generic/include/clc/shared/clamp.inc
> +++ b/generic/include/clc/shared/clamp.inc
> @@ -1,5 +1,5 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_GENTYPE z);
>
> -#ifndef SCALAR
> -_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z);
> +#ifndef __CLC_SCALAR
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_SCALAR_GENTYPE y, __CLC_SCALAR_GENTYPE z);
>  #endif
> diff --git a/generic/include/clc/shared/max.h b/generic/include/clc/shared/max.h
> index 7967d4a..ee20b9e 100644
> --- a/generic/include/clc/shared/max.h
> +++ b/generic/include/clc/shared/max.h
> @@ -1,5 +1,5 @@
> -#define BODY <clc/shared/max.inc>
> +#define __CLC_BODY <clc/shared/max.inc>
>  #include <clc/integer/gentype.inc>
>
> -#define BODY <clc/shared/max.inc>
> +#define __CLC_BODY <clc/shared/max.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/include/clc/shared/max.inc b/generic/include/clc/shared/max.inc
> index 9fe73c4..5901074 100644
> --- a/generic/include/clc/shared/max.inc
> +++ b/generic/include/clc/shared/max.inc
> @@ -1,5 +1,5 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, GENTYPE b);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_GENTYPE b);
>
> -#ifndef SCALAR
> -_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, SCALAR_GENTYPE b);
> +#ifndef __CLC_SCALAR
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b);
>  #endif
> diff --git a/generic/include/clc/shared/min.h b/generic/include/clc/shared/min.h
> index e16b45d..e11d9f9 100644
> --- a/generic/include/clc/shared/min.h
> +++ b/generic/include/clc/shared/min.h
> @@ -1,5 +1,5 @@
> -#define BODY <clc/shared/min.inc>
> +#define __CLC_BODY <clc/shared/min.inc>
>  #include <clc/integer/gentype.inc>
>
> -#define BODY <clc/shared/min.inc>
> +#define __CLC_BODY <clc/shared/min.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/include/clc/shared/min.inc b/generic/include/clc/shared/min.inc
> index cf3afaf..d8c1568 100644
> --- a/generic/include/clc/shared/min.inc
> +++ b/generic/include/clc/shared/min.inc
> @@ -1,5 +1,5 @@
> -_CLC_OVERLOAD _CLC_DECL GENTYPE min(GENTYPE a, GENTYPE b);
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_GENTYPE b);
>
> -#ifndef SCALAR
> -_CLC_OVERLOAD _CLC_DECL GENTYPE min(GENTYPE a, SCALAR_GENTYPE b);
> -#endif
> \ No newline at end of file
> +#ifndef __CLC_SCALAR
> +_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b);
> +#endif
> diff --git a/generic/lib/geometric/length.cl b/generic/lib/geometric/length.cl
> index e26f2b8..ef087c7 100644
> --- a/generic/lib/geometric/length.cl
> +++ b/generic/lib/geometric/length.cl
> @@ -4,5 +4,5 @@
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <length.inc>
> +#define __CLC_BODY <length.inc>
>  #include <clc/geometric/floatn.inc>
> diff --git a/generic/lib/geometric/length.inc b/generic/lib/geometric/length.inc
> index 494789c..5faaaff 100644
> --- a/generic/lib/geometric/length.inc
> +++ b/generic/lib/geometric/length.inc
> @@ -1,3 +1,3 @@
> -_CLC_OVERLOAD _CLC_DEF FLOAT length(FLOATN p) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_FLOAT length(__CLC_FLOATN p) {
>    return native_sqrt(dot(p, p));
>  }
> diff --git a/generic/lib/geometric/normalize.cl b/generic/lib/geometric/normalize.cl
> index 70d255d..b06b2fe 100644
> --- a/generic/lib/geometric/normalize.cl
> +++ b/generic/lib/geometric/normalize.cl
> @@ -4,5 +4,5 @@
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <normalize.inc>
> +#define __CLC_BODY <normalize.inc>
>  #include <clc/geometric/floatn.inc>
> diff --git a/generic/lib/geometric/normalize.inc b/generic/lib/geometric/normalize.inc
> index a23908b..423ff79 100644
> --- a/generic/lib/geometric/normalize.inc
> +++ b/generic/lib/geometric/normalize.inc
> @@ -1,3 +1,3 @@
> -_CLC_OVERLOAD _CLC_DEF FLOATN normalize(FLOATN p) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_FLOATN normalize(__CLC_FLOATN p) {
>    return p/length(p);
>  }
> diff --git a/generic/lib/integer/abs.cl b/generic/lib/integer/abs.cl
> index 86f1a34..faff8d0 100644
> --- a/generic/lib/integer/abs.cl
> +++ b/generic/lib/integer/abs.cl
> @@ -1,4 +1,4 @@
>  #include <clc/clc.h>
>
> -#define BODY <abs.inc>
> +#define __CLC_BODY <abs.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/lib/integer/abs.inc b/generic/lib/integer/abs.inc
> index fff6691..a693dc4 100644
> --- a/generic/lib/integer/abs.inc
> +++ b/generic/lib/integer/abs.inc
> @@ -1,3 +1,3 @@
> -_CLC_OVERLOAD _CLC_DEF UGENTYPE abs(GENTYPE x) {
> -  return __builtin_astype((GENTYPE)(x > (GENTYPE)(0) ? x : -x), UGENTYPE);
> +_CLC_OVERLOAD _CLC_DEF __CLC_U__CLC_GENTYPE abs(__CLC_GENTYPE x) {
> +  return __builtin_astype((__CLC_GENTYPE)(x > (__CLC_GENTYPE)(0) ? x : -x), __CLC_U__CLC_GENTYPE);
>  }
> diff --git a/generic/lib/integer/abs_diff.cl b/generic/lib/integer/abs_diff.cl
> index c9ca821..3d75105 100644
> --- a/generic/lib/integer/abs_diff.cl
> +++ b/generic/lib/integer/abs_diff.cl
> @@ -1,4 +1,4 @@
>  #include <clc/clc.h>
>
> -#define BODY <abs_diff.inc>
> +#define __CLC_BODY <abs_diff.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/lib/integer/abs_diff.inc b/generic/lib/integer/abs_diff.inc
> index 6ad57ee..915d0c0 100644
> --- a/generic/lib/integer/abs_diff.inc
> +++ b/generic/lib/integer/abs_diff.inc
> @@ -1,3 +1,3 @@
> -_CLC_OVERLOAD _CLC_DEF UGENTYPE abs_diff(GENTYPE x, GENTYPE y) {
> -  return __builtin_astype((GENTYPE)(x > y ? x-y : y-x), UGENTYPE);
> +_CLC_OVERLOAD _CLC_DEF __CLC_U__CLC_GENTYPE abs_diff(__CLC_GENTYPE x, __CLC_GENTYPE y) {
> +  return __builtin_astype((__CLC_GENTYPE)(x > y ? x-y : y-x), __CLC_U__CLC_GENTYPE);
>  }
> diff --git a/generic/lib/integer/rotate.cl b/generic/lib/integer/rotate.cl
> index d7eff2b..27ce515 100644
> --- a/generic/lib/integer/rotate.cl
> +++ b/generic/lib/integer/rotate.cl
> @@ -1,4 +1,4 @@
>  #include <clc/clc.h>
>
> -#define BODY <rotate.inc>
> +#define __CLC_BODY <rotate.inc>
>  #include <clc/integer/gentype.inc>
> diff --git a/generic/lib/integer/rotate.inc b/generic/lib/integer/rotate.inc
> index 2aa6cc9..b2c44fa 100644
> --- a/generic/lib/integer/rotate.inc
> +++ b/generic/lib/integer/rotate.inc
> @@ -7,36 +7,36 @@
>   * Eventually, someone should feel free to implement an llvm-specific version
>   */
>
> -_CLC_OVERLOAD _CLC_DEF GENTYPE rotate(GENTYPE x, GENTYPE n){
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE rotate(__CLC_GENTYPE x, __CLC_GENTYPE n){
>      //Try to avoid extra work if someone's spinning the value through multiple
>      //full rotations
> -    n = n % (GENTYPE)GENSIZE;
> +    n = n % (__CLC_GENTYPE)__CLC_GENSIZE;
>
> -#ifdef SCALAR
> +#ifdef __CLC_SCALAR
>      if (n > 0){
> -        return (x << n) | (((UGENTYPE)x) >> (GENSIZE - n));
> +        return (x << n) | (((__CLC_U__CLC_GENTYPE)x) >> (__CLC_GENSIZE - n));
>      } else if (n == 0){
>          return x;
>      } else {
> -        return ( (((UGENTYPE)x) >> -n) | (x << (GENSIZE + n)) );
> +        return ( (((__CLC_U__CLC_GENTYPE)x) >> -n) | (x << (__CLC_GENSIZE + n)) );
>      }
>  #else
>      //XXX: There's a lot of __builtin_astype calls to cast everything to
> -    //     unsigned ... This should be improved so that if GENTYPE==UGENTYPE, no
> +    //     unsigned ... This should be improved so that if __CLC_GENTYPE==__CLC_U__CLC_GENTYPE, no
>      //     casts are required.
>
> -    UGENTYPE x_1 = __builtin_astype(x, UGENTYPE);
> +    __CLC_U__CLC_GENTYPE x_1 = __builtin_astype(x, __CLC_U__CLC_GENTYPE);
>
> -    //XXX: Is (UGENTYPE >> SGENTYPE) | (UGENTYPE << SGENTYPE) legal?
> +    //XXX: Is (__CLC_U__CLC_GENTYPE >> S__CLC_GENTYPE) | (__CLC_U__CLC_GENTYPE << S__CLC_GENTYPE) legal?
>      //     If so, then combine the amt and shifts into a single set of statements
>
> -    UGENTYPE amt;
> -    amt = (n < (GENTYPE)0 ? __builtin_astype((GENTYPE)0-n, UGENTYPE) : (UGENTYPE)0);
> -    x_1 = (x_1 >> amt) | (x_1 << ((UGENTYPE)GENSIZE - amt));
> +    __CLC_U__CLC_GENTYPE amt;
> +    amt = (n < (__CLC_GENTYPE)0 ? __builtin_astype((__CLC_GENTYPE)0-n, __CLC_U__CLC_GENTYPE) : (__CLC_U__CLC_GENTYPE)0);
> +    x_1 = (x_1 >> amt) | (x_1 << ((__CLC_U__CLC_GENTYPE)__CLC_GENSIZE - amt));
>
> -    amt = (n < (GENTYPE)0 ? (UGENTYPE)0 : __builtin_astype(n, UGENTYPE));
> -    x_1 = (x_1 << amt) | (x_1 >> ((UGENTYPE)GENSIZE - amt));
> +    amt = (n < (__CLC_GENTYPE)0 ? (__CLC_U__CLC_GENTYPE)0 : __builtin_astype(n, __CLC_U__CLC_GENTYPE));
> +    x_1 = (x_1 << amt) | (x_1 >> ((__CLC_U__CLC_GENTYPE)__CLC_GENSIZE - amt));
>
> -    return __builtin_astype(x_1, GENTYPE);
> +    return __builtin_astype(x_1, __CLC_GENTYPE);
>  #endif
> -}
> \ No newline at end of file
> +}
> diff --git a/generic/lib/math/binary_impl.inc b/generic/lib/math/binary_impl.inc
> index e4b1e5f..83872d2 100644
> --- a/generic/lib/math/binary_impl.inc
> +++ b/generic/lib/math/binary_impl.inc
> @@ -1,18 +1,18 @@
>
> -#ifndef SCALAR
> +#ifndef __CLC_SCALAR
>
> -_CLC_OVERLOAD _CLC_DEF GENTYPE FUNCTION(GENTYPE x, GENTYPE y) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE FUNCTION(__CLC_GENTYPE x, __CLC_GENTYPE y) {
>    return FUNCTION_IMPL(x, y);
>  }
>
>  #endif
>
> -_CLC_OVERLOAD _CLC_DEF GENTYPE FUNCTION(GENTYPE x, double y) {
> -  GENTYPE vec_y = (GENTYPE) (y);
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE FUNCTION(__CLC_GENTYPE x, double y) {
> +  __CLC_GENTYPE vec_y = (__CLC_GENTYPE) (y);
>    return FUNCTION_IMPL(x, vec_y);
>  }
>
> -_CLC_OVERLOAD _CLC_DEF GENTYPE FUNCTION(GENTYPE x, float y) {
> -  GENTYPE vec_y = (GENTYPE) (y);
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE FUNCTION(__CLC_GENTYPE x, float y) {
> +  __CLC_GENTYPE vec_y = (__CLC_GENTYPE) (y);
>    return FUNCTION_IMPL(x, vec_y);
>  }
> diff --git a/generic/lib/math/fmax.cl b/generic/lib/math/fmax.cl
> index 68a67ac..58583d6 100644
> --- a/generic/lib/math/fmax.cl
> +++ b/generic/lib/math/fmax.cl
> @@ -7,5 +7,5 @@
>  #define FUNCTION __clc_fmax
>  #define FUNCTION_IMPL(x, y) ((x) < (y) ? (y) : (x))
>
> -#define BODY <binary_impl.inc>
> +#define __CLC_BODY <binary_impl.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/math/fmin.cl b/generic/lib/math/fmin.cl
> index cac188e..a61ad47 100644
> --- a/generic/lib/math/fmin.cl
> +++ b/generic/lib/math/fmin.cl
> @@ -7,5 +7,5 @@
>  #define FUNCTION __clc_fmin
>  #define FUNCTION_IMPL(x, y) ((y) < (x) ? (y) : (x))
>
> -#define BODY <binary_impl.inc>
> +#define __CLC_BODY <binary_impl.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/math/hypot.cl b/generic/lib/math/hypot.cl
> index dcdc1ed..eca042c 100644
> --- a/generic/lib/math/hypot.cl
> +++ b/generic/lib/math/hypot.cl
> @@ -4,5 +4,5 @@
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <hypot.inc>
> +#define __CLC_BODY <hypot.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/math/hypot.inc b/generic/lib/math/hypot.inc
> index 3f529c8..036cee7 100644
> --- a/generic/lib/math/hypot.inc
> +++ b/generic/lib/math/hypot.inc
> @@ -1,3 +1,3 @@
> -_CLC_OVERLOAD _CLC_DEF GENTYPE hypot(GENTYPE x, GENTYPE y) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE hypot(__CLC_GENTYPE x, __CLC_GENTYPE y) {
>    return sqrt(x*x + y*y);
>  }
> diff --git a/generic/lib/math/mad.cl b/generic/lib/math/mad.cl
> index e66e204..6c7b90d 100644
> --- a/generic/lib/math/mad.cl
> +++ b/generic/lib/math/mad.cl
> @@ -4,5 +4,5 @@
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <mad.inc>
> +#define __CLC_BODY <mad.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/math/mad.inc b/generic/lib/math/mad.inc
> index aec9c06..d32c783 100644
> --- a/generic/lib/math/mad.inc
> +++ b/generic/lib/math/mad.inc
> @@ -1,3 +1,3 @@
> -_CLC_OVERLOAD _CLC_DEF GENTYPE mad(GENTYPE a, GENTYPE b, GENTYPE c) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE mad(__CLC_GENTYPE a, __CLC_GENTYPE b, __CLC_GENTYPE c) {
>    return a * b + c;
>  }
> diff --git a/generic/lib/shared/clamp.cl b/generic/lib/shared/clamp.cl
> index 0e8d223..c79a358 100644
> --- a/generic/lib/shared/clamp.cl
> +++ b/generic/lib/shared/clamp.cl
> @@ -1,11 +1,11 @@
>  #include <clc/clc.h>
>
> -#define BODY <clamp.inc>
> +#define __CLC_BODY <clamp.inc>
>  #include <clc/integer/gentype.inc>
>
>  #ifdef cl_khr_fp64
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <clamp.inc>
> +#define __CLC_BODY <clamp.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/shared/clamp.inc b/generic/lib/shared/clamp.inc
> index 58370d3..c918f9c 100644
> --- a/generic/lib/shared/clamp.inc
> +++ b/generic/lib/shared/clamp.inc
> @@ -1,9 +1,9 @@
> -_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_GENTYPE y, __CLC_GENTYPE z) {
>    return (x > z ? z : (x < y ? y : x));
>  }
>
> -#ifndef SCALAR
> -_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z) {
> -  return (x > (GENTYPE)z ? (GENTYPE)z : (x < (GENTYPE)y ? (GENTYPE)y : x));
> +#ifndef __CLC_SCALAR
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE clamp(__CLC_GENTYPE x, __CLC_SCALAR_GENTYPE y, __CLC_SCALAR_GENTYPE z) {
> +  return (x > (__CLC_GENTYPE)z ? (__CLC_GENTYPE)z : (x < (__CLC_GENTYPE)y ? (__CLC_GENTYPE)y : x));
>  }
> -#endif
> \ No newline at end of file
> +#endif
> diff --git a/generic/lib/shared/max.cl b/generic/lib/shared/max.cl
> index 5a48537..1c4457c 100644
> --- a/generic/lib/shared/max.cl
> +++ b/generic/lib/shared/max.cl
> @@ -1,11 +1,11 @@
>  #include <clc/clc.h>
>
> -#define BODY <max.inc>
> +#define __CLC_BODY <max.inc>
>  #include <clc/integer/gentype.inc>
>
>  #ifdef cl_khr_fp64
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <max.inc>
> +#define __CLC_BODY <max.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/shared/max.inc b/generic/lib/shared/max.inc
> index 6a12b6f..75a24c0 100644
> --- a/generic/lib/shared/max.inc
> +++ b/generic/lib/shared/max.inc
> @@ -1,9 +1,9 @@
> -_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, GENTYPE b) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_GENTYPE b) {
>    return (a > b ? a : b);
>  }
>
> -#ifndef SCALAR
> -_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, SCALAR_GENTYPE b) {
> -  return (a > (GENTYPE)b ? a : (GENTYPE)b);
> +#ifndef __CLC_SCALAR
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE max(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b) {
> +  return (a > (__CLC_GENTYPE)b ? a : (__CLC_GENTYPE)b);
>  }
> -#endif
> \ No newline at end of file
> +#endif
> diff --git a/generic/lib/shared/min.cl b/generic/lib/shared/min.cl
> index 49481cb..433087a 100644
> --- a/generic/lib/shared/min.cl
> +++ b/generic/lib/shared/min.cl
> @@ -1,11 +1,11 @@
>  #include <clc/clc.h>
>
> -#define BODY <min.inc>
> +#define __CLC_BODY <min.inc>
>  #include <clc/integer/gentype.inc>
>
>  #ifdef cl_khr_fp64
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
>  #endif
>
> -#define BODY <min.inc>
> +#define __CLC_BODY <min.inc>
>  #include <clc/math/gentype.inc>
> diff --git a/generic/lib/shared/min.inc b/generic/lib/shared/min.inc
> index 58a22e1..fe42864 100644
> --- a/generic/lib/shared/min.inc
> +++ b/generic/lib/shared/min.inc
> @@ -1,9 +1,9 @@
> -_CLC_OVERLOAD _CLC_DEF GENTYPE min(GENTYPE a, GENTYPE b) {
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_GENTYPE b) {
>    return (a < b ? a : b);
>  }
>
> -#ifndef SCALAR
> -_CLC_OVERLOAD _CLC_DEF GENTYPE min(GENTYPE a, SCALAR_GENTYPE b) {
> -  return (a < (GENTYPE)b ? a : (GENTYPE)b);
> +#ifndef __CLC_SCALAR
> +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE min(__CLC_GENTYPE a, __CLC_SCALAR_GENTYPE b) {
> +  return (a < (__CLC_GENTYPE)b ? a : (__CLC_GENTYPE)b);
>  }
>  #endif
> diff --git a/generic/lib/shared/vload.cl b/generic/lib/shared/vload.cl
> index f6ebd37..4dd7918 100644
> --- a/generic/lib/shared/vload.cl
> +++ b/generic/lib/shared/vload.cl
> @@ -21,11 +21,11 @@
>      return (PRIM_TYPE##16)(vload8(offset, x), vload8(offset+8, x)); \
>    } \
>
> -#define VLOAD_ADDR_SPACES(SCALAR_GENTYPE) \
> -    VLOAD_VECTORIZE(SCALAR_GENTYPE, __private) \
> -    VLOAD_VECTORIZE(SCALAR_GENTYPE, __local) \
> -    VLOAD_VECTORIZE(SCALAR_GENTYPE, __constant) \
> -    VLOAD_VECTORIZE(SCALAR_GENTYPE, __global) \
> +#define VLOAD_ADDR_SPACES(__CLC_SCALAR_GENTYPE) \
> +    VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __private) \
> +    VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __local) \
> +    VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __constant) \
> +    VLOAD_VECTORIZE(__CLC_SCALAR_GENTYPE, __global) \
>
>  //int/uint are special... see below
>  #define VLOAD_TYPES() \
> @@ -93,4 +93,4 @@ _CLC_OVERLOAD _CLC_DEF uint8 vload8(size_t offset, const global uint *x) {
>  }
>  _CLC_OVERLOAD _CLC_DEF uint16 vload16(size_t offset, const global uint *x) {
>    return __clc_vload16_uint__global(offset, x);
> -}
> \ No newline at end of file
> +}
> diff --git a/generic/lib/shared/vstore.cl b/generic/lib/shared/vstore.cl
> index 5b84f47..17c2c4c 100644
> --- a/generic/lib/shared/vstore.cl
> +++ b/generic/lib/shared/vstore.cl
> @@ -29,10 +29,10 @@
>      vstore8(vec.hi, offset+8, mem); \
>    } \
>
> -#define VSTORE_ADDR_SPACES(SCALAR_GENTYPE) \
> -    VSTORE_VECTORIZE(SCALAR_GENTYPE, __private) \
> -    VSTORE_VECTORIZE(SCALAR_GENTYPE, __local) \
> -    VSTORE_VECTORIZE(SCALAR_GENTYPE, __global) \
> +#define VSTORE_ADDR_SPACES(__CLC_SCALAR___CLC_GENTYPE) \
> +    VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __private) \
> +    VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __local) \
> +    VSTORE_VECTORIZE(__CLC_SCALAR___CLC_GENTYPE, __global) \
>
>  //int/uint are special... see below
>  #define VSTORE_TYPES() \
> --
> 1.7.11.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list