static int g_7; static int *volatile g_6 = &g_7; int g_3; static int f1 (int *p_58) { return *p_58; } void f2 (int i) __attribute__ ((noinline)); void f2 (int i) { g_3 = i; } int f3 (void) __attribute__ ((noinline)); int f3 (void) { *g_6 = 1; f2 (f1 (&g_7)); return 0; } int main () { f3 (); if (g_3 != 1) abort (); exit (0); }