blob: 06c38bc4c559293f3c6043353a91c93ee24e53cf [file] [log] [blame]
// -Wall -Werror
#pragma version(1)
#pragma rs java_package_name(result)
// This test case was created by ./gen-result.pl.
// It exercises all legal Java-reflectable result types, so that we can ensure
// (a) We do not choke when compiling them
// (b) We reflect them correctly
// One example struct type
typedef struct MyStruct { float f; double d; } MyStruct;
#pragma rs reduce(my_half) accumulator(my_half_accum) combiner(my_half_comb)
static void my_half_accum(half *accum, half val) { }
static void my_half_comb(half *accum, const half *other) { }
#pragma rs reduce(my_half2) accumulator(my_half2_accum) combiner(my_half2_comb)
static void my_half2_accum(half2 *accum, half2 val) { }
static void my_half2_comb(half2 *accum, const half2 *other) { }
#pragma rs reduce(my_half4) accumulator(my_half4_accum) combiner(my_half4_comb)
static void my_half4_accum(half4 *accum, half4 val) { }
static void my_half4_comb(half4 *accum, const half4 *other) { }
#pragma rs reduce(my_array_half) accumulator(my_array_half_accum) combiner(my_array_half_comb)
typedef half array_half[7];
static void my_array_half_accum(array_half *accum, half val) { }
static void my_array_half_comb(array_half *accum, const array_half *other) { }
#pragma rs reduce(my_array_half2) accumulator(my_array_half2_accum) combiner(my_array_half2_comb)
typedef half2 array_half2[7];
static void my_array_half2_accum(array_half2 *accum, half2 val) { }
static void my_array_half2_comb(array_half2 *accum, const array_half2 *other) { }
#pragma rs reduce(my_array_half4) accumulator(my_array_half4_accum) combiner(my_array_half4_comb)
typedef half4 array_half4[7];
static void my_array_half4_accum(array_half4 *accum, half4 val) { }
static void my_array_half4_comb(array_half4 *accum, const array_half4 *other) { }
#pragma rs reduce(my_float) accumulator(my_float_accum) combiner(my_float_comb)
static void my_float_accum(float *accum, float val) { }
static void my_float_comb(float *accum, const float *other) { }
#pragma rs reduce(my_float2) accumulator(my_float2_accum) combiner(my_float2_comb)
static void my_float2_accum(float2 *accum, float2 val) { }
static void my_float2_comb(float2 *accum, const float2 *other) { }
#pragma rs reduce(my_float4) accumulator(my_float4_accum) combiner(my_float4_comb)
static void my_float4_accum(float4 *accum, float4 val) { }
static void my_float4_comb(float4 *accum, const float4 *other) { }
#pragma rs reduce(my_array_float) accumulator(my_array_float_accum) combiner(my_array_float_comb)
typedef float array_float[7];
static void my_array_float_accum(array_float *accum, float val) { }
static void my_array_float_comb(array_float *accum, const array_float *other) { }
#pragma rs reduce(my_array_float2) accumulator(my_array_float2_accum) combiner(my_array_float2_comb)
typedef float2 array_float2[7];
static void my_array_float2_accum(array_float2 *accum, float2 val) { }
static void my_array_float2_comb(array_float2 *accum, const array_float2 *other) { }
#pragma rs reduce(my_array_float4) accumulator(my_array_float4_accum) combiner(my_array_float4_comb)
typedef float4 array_float4[7];
static void my_array_float4_accum(array_float4 *accum, float4 val) { }
static void my_array_float4_comb(array_float4 *accum, const array_float4 *other) { }
#pragma rs reduce(my_double) accumulator(my_double_accum) combiner(my_double_comb)
static void my_double_accum(double *accum, double val) { }
static void my_double_comb(double *accum, const double *other) { }
#pragma rs reduce(my_double2) accumulator(my_double2_accum) combiner(my_double2_comb)
static void my_double2_accum(double2 *accum, double2 val) { }
static void my_double2_comb(double2 *accum, const double2 *other) { }
#pragma rs reduce(my_double4) accumulator(my_double4_accum) combiner(my_double4_comb)
static void my_double4_accum(double4 *accum, double4 val) { }
static void my_double4_comb(double4 *accum, const double4 *other) { }
#pragma rs reduce(my_array_double) accumulator(my_array_double_accum) combiner(my_array_double_comb)
typedef double array_double[7];
static void my_array_double_accum(array_double *accum, double val) { }
static void my_array_double_comb(array_double *accum, const array_double *other) { }
#pragma rs reduce(my_array_double2) accumulator(my_array_double2_accum) combiner(my_array_double2_comb)
typedef double2 array_double2[7];
static void my_array_double2_accum(array_double2 *accum, double2 val) { }
static void my_array_double2_comb(array_double2 *accum, const array_double2 *other) { }
#pragma rs reduce(my_array_double4) accumulator(my_array_double4_accum) combiner(my_array_double4_comb)
typedef double4 array_double4[7];
static void my_array_double4_accum(array_double4 *accum, double4 val) { }
static void my_array_double4_comb(array_double4 *accum, const array_double4 *other) { }
#pragma rs reduce(my_char) accumulator(my_char_accum) combiner(my_char_comb)
static void my_char_accum(char *accum, char val) { }
static void my_char_comb(char *accum, const char *other) { }
#pragma rs reduce(my_char2) accumulator(my_char2_accum) combiner(my_char2_comb)
static void my_char2_accum(char2 *accum, char2 val) { }
static void my_char2_comb(char2 *accum, const char2 *other) { }
#pragma rs reduce(my_char4) accumulator(my_char4_accum) combiner(my_char4_comb)
static void my_char4_accum(char4 *accum, char4 val) { }
static void my_char4_comb(char4 *accum, const char4 *other) { }
#pragma rs reduce(my_array_char) accumulator(my_array_char_accum) combiner(my_array_char_comb)
typedef char array_char[7];
static void my_array_char_accum(array_char *accum, char val) { }
static void my_array_char_comb(array_char *accum, const array_char *other) { }
#pragma rs reduce(my_array_char2) accumulator(my_array_char2_accum) combiner(my_array_char2_comb)
typedef char2 array_char2[7];
static void my_array_char2_accum(array_char2 *accum, char2 val) { }
static void my_array_char2_comb(array_char2 *accum, const array_char2 *other) { }
#pragma rs reduce(my_array_char4) accumulator(my_array_char4_accum) combiner(my_array_char4_comb)
typedef char4 array_char4[7];
static void my_array_char4_accum(array_char4 *accum, char4 val) { }
static void my_array_char4_comb(array_char4 *accum, const array_char4 *other) { }
#pragma rs reduce(my_short) accumulator(my_short_accum) combiner(my_short_comb)
static void my_short_accum(short *accum, short val) { }
static void my_short_comb(short *accum, const short *other) { }
#pragma rs reduce(my_short2) accumulator(my_short2_accum) combiner(my_short2_comb)
static void my_short2_accum(short2 *accum, short2 val) { }
static void my_short2_comb(short2 *accum, const short2 *other) { }
#pragma rs reduce(my_short4) accumulator(my_short4_accum) combiner(my_short4_comb)
static void my_short4_accum(short4 *accum, short4 val) { }
static void my_short4_comb(short4 *accum, const short4 *other) { }
#pragma rs reduce(my_array_short) accumulator(my_array_short_accum) combiner(my_array_short_comb)
typedef short array_short[7];
static void my_array_short_accum(array_short *accum, short val) { }
static void my_array_short_comb(array_short *accum, const array_short *other) { }
#pragma rs reduce(my_array_short2) accumulator(my_array_short2_accum) combiner(my_array_short2_comb)
typedef short2 array_short2[7];
static void my_array_short2_accum(array_short2 *accum, short2 val) { }
static void my_array_short2_comb(array_short2 *accum, const array_short2 *other) { }
#pragma rs reduce(my_array_short4) accumulator(my_array_short4_accum) combiner(my_array_short4_comb)
typedef short4 array_short4[7];
static void my_array_short4_accum(array_short4 *accum, short4 val) { }
static void my_array_short4_comb(array_short4 *accum, const array_short4 *other) { }
#pragma rs reduce(my_int) accumulator(my_int_accum) combiner(my_int_comb)
static void my_int_accum(int *accum, int val) { }
static void my_int_comb(int *accum, const int *other) { }
#pragma rs reduce(my_int2) accumulator(my_int2_accum) combiner(my_int2_comb)
static void my_int2_accum(int2 *accum, int2 val) { }
static void my_int2_comb(int2 *accum, const int2 *other) { }
#pragma rs reduce(my_int4) accumulator(my_int4_accum) combiner(my_int4_comb)
static void my_int4_accum(int4 *accum, int4 val) { }
static void my_int4_comb(int4 *accum, const int4 *other) { }
#pragma rs reduce(my_array_int) accumulator(my_array_int_accum) combiner(my_array_int_comb)
typedef int array_int[7];
static void my_array_int_accum(array_int *accum, int val) { }
static void my_array_int_comb(array_int *accum, const array_int *other) { }
#pragma rs reduce(my_array_int2) accumulator(my_array_int2_accum) combiner(my_array_int2_comb)
typedef int2 array_int2[7];
static void my_array_int2_accum(array_int2 *accum, int2 val) { }
static void my_array_int2_comb(array_int2 *accum, const array_int2 *other) { }
#pragma rs reduce(my_array_int4) accumulator(my_array_int4_accum) combiner(my_array_int4_comb)
typedef int4 array_int4[7];
static void my_array_int4_accum(array_int4 *accum, int4 val) { }
static void my_array_int4_comb(array_int4 *accum, const array_int4 *other) { }
#pragma rs reduce(my_long) accumulator(my_long_accum) combiner(my_long_comb)
static void my_long_accum(long *accum, long val) { }
static void my_long_comb(long *accum, const long *other) { }
#pragma rs reduce(my_long2) accumulator(my_long2_accum) combiner(my_long2_comb)
static void my_long2_accum(long2 *accum, long2 val) { }
static void my_long2_comb(long2 *accum, const long2 *other) { }
#pragma rs reduce(my_long4) accumulator(my_long4_accum) combiner(my_long4_comb)
static void my_long4_accum(long4 *accum, long4 val) { }
static void my_long4_comb(long4 *accum, const long4 *other) { }
#pragma rs reduce(my_array_long) accumulator(my_array_long_accum) combiner(my_array_long_comb)
typedef long array_long[7];
static void my_array_long_accum(array_long *accum, long val) { }
static void my_array_long_comb(array_long *accum, const array_long *other) { }
#pragma rs reduce(my_array_long2) accumulator(my_array_long2_accum) combiner(my_array_long2_comb)
typedef long2 array_long2[7];
static void my_array_long2_accum(array_long2 *accum, long2 val) { }
static void my_array_long2_comb(array_long2 *accum, const array_long2 *other) { }
#pragma rs reduce(my_array_long4) accumulator(my_array_long4_accum) combiner(my_array_long4_comb)
typedef long4 array_long4[7];
static void my_array_long4_accum(array_long4 *accum, long4 val) { }
static void my_array_long4_comb(array_long4 *accum, const array_long4 *other) { }
#pragma rs reduce(my_uchar) accumulator(my_uchar_accum) combiner(my_uchar_comb)
static void my_uchar_accum(uchar *accum, uchar val) { }
static void my_uchar_comb(uchar *accum, const uchar *other) { }
#pragma rs reduce(my_uchar2) accumulator(my_uchar2_accum) combiner(my_uchar2_comb)
static void my_uchar2_accum(uchar2 *accum, uchar2 val) { }
static void my_uchar2_comb(uchar2 *accum, const uchar2 *other) { }
#pragma rs reduce(my_uchar4) accumulator(my_uchar4_accum) combiner(my_uchar4_comb)
static void my_uchar4_accum(uchar4 *accum, uchar4 val) { }
static void my_uchar4_comb(uchar4 *accum, const uchar4 *other) { }
#pragma rs reduce(my_array_uchar) accumulator(my_array_uchar_accum) combiner(my_array_uchar_comb)
typedef uchar array_uchar[7];
static void my_array_uchar_accum(array_uchar *accum, uchar val) { }
static void my_array_uchar_comb(array_uchar *accum, const array_uchar *other) { }
#pragma rs reduce(my_array_uchar2) accumulator(my_array_uchar2_accum) combiner(my_array_uchar2_comb)
typedef uchar2 array_uchar2[7];
static void my_array_uchar2_accum(array_uchar2 *accum, uchar2 val) { }
static void my_array_uchar2_comb(array_uchar2 *accum, const array_uchar2 *other) { }
#pragma rs reduce(my_array_uchar4) accumulator(my_array_uchar4_accum) combiner(my_array_uchar4_comb)
typedef uchar4 array_uchar4[7];
static void my_array_uchar4_accum(array_uchar4 *accum, uchar4 val) { }
static void my_array_uchar4_comb(array_uchar4 *accum, const array_uchar4 *other) { }
#pragma rs reduce(my_ushort) accumulator(my_ushort_accum) combiner(my_ushort_comb)
static void my_ushort_accum(ushort *accum, ushort val) { }
static void my_ushort_comb(ushort *accum, const ushort *other) { }
#pragma rs reduce(my_ushort2) accumulator(my_ushort2_accum) combiner(my_ushort2_comb)
static void my_ushort2_accum(ushort2 *accum, ushort2 val) { }
static void my_ushort2_comb(ushort2 *accum, const ushort2 *other) { }
#pragma rs reduce(my_ushort4) accumulator(my_ushort4_accum) combiner(my_ushort4_comb)
static void my_ushort4_accum(ushort4 *accum, ushort4 val) { }
static void my_ushort4_comb(ushort4 *accum, const ushort4 *other) { }
#pragma rs reduce(my_array_ushort) accumulator(my_array_ushort_accum) combiner(my_array_ushort_comb)
typedef ushort array_ushort[7];
static void my_array_ushort_accum(array_ushort *accum, ushort val) { }
static void my_array_ushort_comb(array_ushort *accum, const array_ushort *other) { }
#pragma rs reduce(my_array_ushort2) accumulator(my_array_ushort2_accum) combiner(my_array_ushort2_comb)
typedef ushort2 array_ushort2[7];
static void my_array_ushort2_accum(array_ushort2 *accum, ushort2 val) { }
static void my_array_ushort2_comb(array_ushort2 *accum, const array_ushort2 *other) { }
#pragma rs reduce(my_array_ushort4) accumulator(my_array_ushort4_accum) combiner(my_array_ushort4_comb)
typedef ushort4 array_ushort4[7];
static void my_array_ushort4_accum(array_ushort4 *accum, ushort4 val) { }
static void my_array_ushort4_comb(array_ushort4 *accum, const array_ushort4 *other) { }
#pragma rs reduce(my_uint) accumulator(my_uint_accum) combiner(my_uint_comb)
static void my_uint_accum(uint *accum, uint val) { }
static void my_uint_comb(uint *accum, const uint *other) { }
#pragma rs reduce(my_uint2) accumulator(my_uint2_accum) combiner(my_uint2_comb)
static void my_uint2_accum(uint2 *accum, uint2 val) { }
static void my_uint2_comb(uint2 *accum, const uint2 *other) { }
#pragma rs reduce(my_uint4) accumulator(my_uint4_accum) combiner(my_uint4_comb)
static void my_uint4_accum(uint4 *accum, uint4 val) { }
static void my_uint4_comb(uint4 *accum, const uint4 *other) { }
#pragma rs reduce(my_array_uint) accumulator(my_array_uint_accum) combiner(my_array_uint_comb)
typedef uint array_uint[7];
static void my_array_uint_accum(array_uint *accum, uint val) { }
static void my_array_uint_comb(array_uint *accum, const array_uint *other) { }
#pragma rs reduce(my_array_uint2) accumulator(my_array_uint2_accum) combiner(my_array_uint2_comb)
typedef uint2 array_uint2[7];
static void my_array_uint2_accum(array_uint2 *accum, uint2 val) { }
static void my_array_uint2_comb(array_uint2 *accum, const array_uint2 *other) { }
#pragma rs reduce(my_array_uint4) accumulator(my_array_uint4_accum) combiner(my_array_uint4_comb)
typedef uint4 array_uint4[7];
static void my_array_uint4_accum(array_uint4 *accum, uint4 val) { }
static void my_array_uint4_comb(array_uint4 *accum, const array_uint4 *other) { }
#pragma rs reduce(my_ulong) accumulator(my_ulong_accum) combiner(my_ulong_comb)
static void my_ulong_accum(ulong *accum, ulong val) { }
static void my_ulong_comb(ulong *accum, const ulong *other) { }
#pragma rs reduce(my_ulong2) accumulator(my_ulong2_accum) combiner(my_ulong2_comb)
static void my_ulong2_accum(ulong2 *accum, ulong2 val) { }
static void my_ulong2_comb(ulong2 *accum, const ulong2 *other) { }
#pragma rs reduce(my_ulong4) accumulator(my_ulong4_accum) combiner(my_ulong4_comb)
static void my_ulong4_accum(ulong4 *accum, ulong4 val) { }
static void my_ulong4_comb(ulong4 *accum, const ulong4 *other) { }
#pragma rs reduce(my_array_ulong) accumulator(my_array_ulong_accum) combiner(my_array_ulong_comb)
typedef ulong array_ulong[7];
static void my_array_ulong_accum(array_ulong *accum, ulong val) { }
static void my_array_ulong_comb(array_ulong *accum, const array_ulong *other) { }
#pragma rs reduce(my_array_ulong2) accumulator(my_array_ulong2_accum) combiner(my_array_ulong2_comb)
typedef ulong2 array_ulong2[7];
static void my_array_ulong2_accum(array_ulong2 *accum, ulong2 val) { }
static void my_array_ulong2_comb(array_ulong2 *accum, const array_ulong2 *other) { }
#pragma rs reduce(my_array_ulong4) accumulator(my_array_ulong4_accum) combiner(my_array_ulong4_comb)
typedef ulong4 array_ulong4[7];
static void my_array_ulong4_accum(array_ulong4 *accum, ulong4 val) { }
static void my_array_ulong4_comb(array_ulong4 *accum, const array_ulong4 *other) { }
#pragma rs reduce(my_bool) accumulator(my_bool_accum) combiner(my_bool_comb)
static void my_bool_accum(bool *accum, bool val) { }
static void my_bool_comb(bool *accum, const bool *other) { }
#pragma rs reduce(my_array_bool) accumulator(my_array_bool_accum) combiner(my_array_bool_comb)
typedef bool array_bool[7];
static void my_array_bool_accum(array_bool *accum, bool val) { }
static void my_array_bool_comb(array_bool *accum, const array_bool *other) { }
#pragma rs reduce(my_MyStruct) accumulator(my_MyStruct_accum) combiner(my_MyStruct_comb)
static void my_MyStruct_accum(MyStruct *accum, MyStruct val) { }
static void my_MyStruct_comb(MyStruct *accum, const MyStruct *other) { }
#pragma rs reduce(my_array_MyStruct) accumulator(my_array_MyStruct_accum) combiner(my_array_MyStruct_comb)
typedef MyStruct array_MyStruct[7];
static void my_array_MyStruct_accum(array_MyStruct *accum, MyStruct val) { }
static void my_array_MyStruct_comb(array_MyStruct *accum, const array_MyStruct *other) { }