PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / pr66556.c
blobd1259c4155612209a4393fbad1db4a84eb0f7f04
1 /* { dg-do run } */
2 /* { dg-require-effective-target int32plus } */
4 extern void abort (void);
6 struct {
7 unsigned f2;
8 unsigned f3 : 15;
9 unsigned f5 : 3;
10 short f6;
11 } b = {0x7f8000, 6, 5, 0}, g = {8, 0, 5, 0};
13 short d, l;
14 int a, c, h = 8;
15 volatile char e[237] = {4};
16 short *f = &d;
17 short i[5] = {3};
18 char j;
19 int *k = &c;
21 int
22 fn1 (unsigned p1) { return -p1; }
24 void
25 fn2 (char p1)
27 a = p1;
28 e[0];
31 short
32 fn3 ()
34 *k = 4;
35 return *f;
38 int
39 main ()
42 unsigned m;
43 short *n = &i[4];
45 m = fn1 ((h && j) <= b.f5);
46 l = m > g.f3;
47 *n = 3;
48 fn2 (b.f2 >> 15);
49 if ((a & 0xff) != 0xff)
50 abort ();
52 return 0;