/* { dg-do run } */ /* { dg-options "-g" } */ struct s { int a, b, c, d; }; struct s gs1 = { 1, 2, 3, 4 }; struct s gs2 = { 5, 6, 7, 8 }; struct s *__attribute__((noipa)) consume (struct s *ptr) { return ptr; } int main (void) { struct s x; struct s *volatile ptr = consume (&x); x = gs1; x = gs2; /* { dg-final { gdb-test . "ptr->a" "1" } } */ return 0; /* { dg-final { gdb-test . "ptr->a" "5" } } */ }