modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr34971.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    /* Build a rotate expression on a 40 bit argument.  */
    11    if ((x.b<<8) + (x.b>>32) != res)
    12      abort ();
    13  }
    14  
    15  int main()
    16  {
    17    x.b = 0x0100000001;
    18    test1(0x0000000101);
    19    x.b = 0x0100000000;
    20    test1(0x0000000001);
    21    return 0;
    22  }