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; }; foo(int64_t * z)6void foo (int64_t *z) 7 { 8 ((struct X *)z)->i = 0x05060708; 9 ((struct X *)z)->j = 0x01020304; 10 *z = 0x0102030405060708; 11 } 12 main()13int 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 } 23