| /* { 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; | |
| } | |