modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr39423-2.c (about) 1 /* PR target/39423 */ 2 3 typedef unsigned short uint16_t; 4 5 typedef struct 6 { 7 short x, y; 8 } P; 9 10 typedef struct 11 { 12 uint16_t w, h; 13 } D; 14 15 typedef struct 16 { 17 P p; 18 D s; 19 } A; 20 21 typedef struct 22 { 23 uint16_t f; 24 } W; 25 26 typedef struct 27 { 28 void* w; 29 D s; 30 } T; 31 32 extern void* foo00 (void*, void*); 33 34 void 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 }