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  }