/* { dg-do run } */ /* { dg-options "-O2" } */ int bbb = 0; int __attribute__((noinline,noclone)) aaa(void) { ++bbb; return 0; } int __attribute__((noinline,noclone)) ccc(void) { int ddd; /* bbb == 0 */ if (aaa()) return bbb; /* bbb == 1 */ ddd = bbb; /* bbb == ddd == 1 */ if (aaa ()) return 0; /* bbb == 2, ddd == 1 */ return ddd; } int main(void) { if (ccc() != 1) __builtin_abort(); return 0; }