1/* PR target/39423 */ 2 3typedef unsigned short uint16_t; 4 5typedef struct 6{ 7 short x, y; 8} P; 9 10typedef struct 11{ 12 uint16_t w, h; 13} D; 14 15typedef struct 16{ 17 P p; 18 D s; 19} A; 20 21typedef struct 22{ 23 uint16_t f; 24} W; 25 26typedef struct 27{ 28 void* w; 29 D s; 30} T; 31 32extern void* foo00 (void*, void*); 33 34void foo01 (W* w) 35{ 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 = { }; 44 45 for (c = 0, it = foo00 (w, 0); it; it = foo00 (w, it), c++); 46 47 for (it = foo00 (w, 0), i = 0; i <= c; it = foo00 (w, it), i++, cl++) 48 { 49 if (i) 50 for (t = rs; t < cl; t++) 51 *((uint16_t*)&t->s + ((!v) ? 1 : 0)) = rh; 52 53 rh = (rh > ((*((uint16_t*)&a.s + ((!v) ? 1 : 0))))) 54 ? rh 55 : ((*((uint16_t*)&a.s + ((!v) ? 1 : 0)))); 56 } 57} 58