• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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