1#pragma version(1) 2#pragma rs java_package_name(foo) 3 4// disagree on RS_KERNEL 5 6#ifdef __LP64__ 7void aa(int *aout) { } 8#else 9void RS_KERNEL aa(double in) { } 10#endif 11 12#ifdef __LP64__ 13int RS_KERNEL bb(float fin, double din) { return 0; } 14#else 15void bb(const long *ain) { } 16#endif 17 18// two different non-void* output types 19 20void cc(size_t *out) { } 21 22size_t RS_KERNEL dd() { return 0; } 23 24// one non-void* output type, one void* output type 25 26#ifdef __LP64__ 27void ee(const int *in, short *out) { } 28void ff(const int *in, void *out) { } 29#else 30void ee(const int *in, void *out) { } 31void ff(const int *in, short *out) { } 32#endif 33 34// one non-void* output type, one no-output 35 36#ifdef __LP64__ 37void gg(const int *in, int *out) { } 38void hh(const int *in) { } 39int RS_KERNEL ii(int v) { return 0; } 40void RS_KERNEL jj(int v) { } 41#else 42void gg(const int *in) { } 43void hh(const int *in, int *out) { } 44void RS_KERNEL ii(int v) { } 45int RS_KERNEL jj(int v) { return 0; } 46#endif 47 48// one void* output type, one no-output 49 50#ifdef __LP64__ 51void kk(const int *in, void *out) { } 52void ll(const int *in) { } 53#else 54void kk(const int *in) { } 55void ll(const int *in, void *out) { } 56#endif 57 58// disagree on input count 59 60void mm( 61#ifdef __LP64__ 62const int *in, 63#endif 64 double *out) { } 65 66void RS_KERNEL nn( 67#ifdef __LP64__ 68int in0, 69#endif 70 size_t v) { } 71 72// disagree on param count 73 74void oo(const size_t *in, size_t *out 75#ifdef __LP64__ 76 , const char *d 77#endif 78 ) { } 79 80// disagree on special parameters 81 82void pp(const int *in, 83#ifdef __LP64__ 84 int x, 85#endif 86 int y) { } 87 88void RS_KERNEL qq(int in0, long in1, 89#ifdef __LP64__ 90int x 91#else 92int y 93#endif 94 ) { } 95 96// disagree on input types 97 98void rr(const size_t *in) { } 99 100void ss( 101#ifdef __LP64__ 102const void *in 103#else 104const char *in 105#endif 106) { } 107 108void tt( 109#ifdef __LP64__ 110const short *in 111#else 112const void *in 113#endif 114) { } 115 116struct S { int f; } s; 117struct T { int f; } t; 118#ifdef __LP64__ 119#define QQTYPE struct T 120#else 121#define QQTYPE struct S 122#endif 123 124void RS_KERNEL uu(int a, size_t b, char c, QQTYPE d) { } 125 126// disagree on param types 127 128void vv(const int *a, const size_t *b) { } 129 130// ... note that today, a void* param is ignored for reflection 131#ifdef __LP64__ 132void ww(const int *a, const void *b) { } 133void xx(const int *a, const float *b) { } 134void yy(const int *a, const void *b) { } 135void zz(const int *a) { } 136#else 137void ww(const int *a, const float *b) { } 138void xx(const int *a, const void *b) { } 139void yy(const int *a) { } 140void zz(const int *a, const void *b) { } 141#endif 142