(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
torture/
pr42834.c
       1  /* { dg-do run } */
       2  
       3  void __attribute__((noinline,noclone))
       4  foo(int *p, float *q) { __asm__ volatile ("" : : : "memory"); }
       5  
       6  int main()
       7  {
       8    if (sizeof (int) == sizeof (float))
       9      {
      10        int i;
      11        float f;
      12        int *p;
      13        /* Prevent i and f from being rewritten into SSA form.  */
      14        foo (&i, &f);
      15        i = 0;
      16        f = 1.0;
      17        p = (int *)&f;
      18        __builtin_memcpy (&i, p, 4);
      19        if (*(float *)&i != 1.0)
      20  	__builtin_abort ();
      21      }
      22    return 0;
      23  }