/* PR debug/69244 */ /* { dg-do run } */ /* { dg-options "-g" } */ #include "../nop.h" union U { float f; int i; }; float a, b; __attribute__((noinline, noclone)) void foo (void) { asm volatile ("" : : "g" (&a), "g" (&b) : "memory"); } int main () { float e = a; foo (); float d = e; union U p; p.f = d += 2; int c = p.i - 4; asm (NOP : : : "memory"); b = c; return 0; } /* { dg-final { gdb-test 25 "c" "p.i-4" } } */