2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 990811-1.c
blob95e1da9cdfa078e31372563a19b8c66dee025042
1 struct s {long a; int b;};
3 int foo(int x, void *y)
5 switch(x) {
6 case 0: return ((struct s*)y)->a;
7 case 1: return *(signed char*)y;
8 case 2: return *(short*)y;
10 abort();
13 int main ()
15 struct s s;
16 short sh[10];
17 signed char c[10];
18 int i;
20 s.a = 1;
21 s.b = 2;
22 for (i = 0; i < 10; i++) {
23 sh[i] = i;
24 c[i] = i;
27 if (foo(0, &s) != 1) abort();
28 if (foo(1, c+3) != 3) abort();
29 if (foo(2, sh+3) != 3) abort();
30 exit(0);