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

     1  struct foo
     2  {
     3    unsigned long long b:40;
     4  } x;
     5  
     6  extern void abort (void);
     7  
     8  void test1(unsigned long long res)
     9  {
    10    /* The shift is carried out in 40 bit precision.  */
    11    if (x.b<<32 != res)
    12      abort ();
    13  }
    14  
    15  int main()
    16  {
    17    x.b = 0x0100;
    18    test1(0);
    19    return 0;
    20  }