(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr33560.c
       1  /* { dg-do run } */
       2  
       3  struct T
       4  {
       5    int a, b;
       6  } t;
       7  
       8  __attribute__((noinline)) struct T *f (struct T *p)
       9  {
      10    struct T *q = __builtin_malloc (sizeof (struct T));
      11    *q = *p;
      12    return q;
      13  }
      14  
      15  int main (void)
      16  {
      17    struct T *p;
      18  
      19    t.a = 1;
      20    t.b = 2;
      21    p = f (&t);
      22    t.a = 3;
      23  
      24    if (p->a != 1)
      25      __builtin_abort ();
      26  
      27    return 0;
      28  }
      29