* tree-loop-distribution.c (struct partition): New field recording
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / pr39423-2.c
blob5307846d7e0ffe7b75189102abef763d70b57e39
1 /* PR target/39423 */
3 typedef unsigned short uint16_t;
5 typedef struct
7 short x, y;
8 } P;
10 typedef struct
12 uint16_t w, h;
13 } D;
15 typedef struct
17 P p;
18 D s;
19 } A;
21 typedef struct
23 uint16_t f;
24 } W;
26 typedef struct
28 void* w;
29 D s;
30 } T;
32 extern void* foo00 (void*, void*);
34 void foo01 (W* w)
36 void* it;
37 uint16_t c, i;
38 T* cl;
39 T* rs;
40 T* t;
41 uint16_t rh = 0;
42 uint16_t v = !(w->f & 0x8000);
43 A a = { };
45 for (c = 0, it = foo00 (w, 0); it; it = foo00 (w, it), c++);
47 for (it = foo00 (w, 0), i = 0; i <= c; it = foo00 (w, it), i++, cl++)
49 if (i)
50 for (t = rs; t < cl; t++)
51 *((uint16_t*)&t->s + ((!v) ? 1 : 0)) = rh;
53 rh = (rh > ((*((uint16_t*)&a.s + ((!v) ? 1 : 0)))))
54 ? rh
55 : ((*((uint16_t*)&a.s + ((!v) ? 1 : 0))));