modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr66556.c (about)

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