/* Test that gcc understands that the call to g might clobber i. */ | |
/* { dg-do run } */ | |
/* { dg-options "-O2" } */ | |
__inline int f () | |
{ | |
static int i; | |
int i2 = i; | |
i = i2 + 1; | |
return i; | |
} | |
int g () { return f (); } | |
int main () | |
{ | |
if (f() != 1 | |
|| g() != 2 | |
|| f() != 3) | |
return 1; | |
return 0; | |
} |