modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/pr66556.c (about)

     1  /* { dg-do run } */
     2  
     3  extern void abort (void);
     4  
     5  struct {
     6    unsigned f2;
     7    unsigned f3 : 15;
     8    unsigned f5 : 3;
     9    short f6;
    10  } b = {0x7f8000, 6, 5, 0}, g = {8, 0, 5, 0};
    11  
    12  short d, l;
    13  int a, c, h = 8;
    14  volatile char e[237] = {4};
    15  short *f = &d;
    16  short i[5] = {3};
    17  char j;
    18  int *k = &c;
    19  
    20  int
    21  fn1 (unsigned p1) { return -p1; }
    22  
    23  void
    24  fn2 (char p1)
    25  {
    26    a = p1;
    27    e[0];
    28  }
    29  
    30  short
    31  fn3 ()
    32  {
    33    *k = 4;
    34    return *f;
    35  }
    36  
    37  int
    38  main ()
    39  {
    40  
    41    unsigned m;
    42    short *n = &i[4];
    43  
    44    m = fn1 ((h && j) <= b.f5);
    45    l = m > g.f3;
    46    *n = 3;
    47    fn2 (b.f2 >> 15);
    48    if ((a & 0xff) != 0xff)
    49      abort ();
    50  
    51    return 0;
    52  }