(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr93354.c
       1  /* { dg-do run } */
       2  
       3  typedef __INT32_TYPE__ int32_t;
       4  typedef __INT64_TYPE__ int64_t;
       5  struct X { int32_t i; int32_t j; };
       6  void foo (int64_t *z)
       7  {
       8    ((struct X *)z)->i = 0x05060708;
       9    ((struct X *)z)->j = 0x01020304;
      10    *z = 0x0102030405060708;
      11  }
      12  
      13  int main()
      14  {
      15    int64_t l = 0;
      16    int64_t *p;
      17    asm ("" : "=r" (p) : "0" (&l));
      18    foo (p);
      19    if (l != 0x0102030405060708)
      20      __builtin_abort ();
      21    return 0;
      22  }