1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// { dg-do run } // Bug: fold is too eager about pushing down CLEANUP_POINT_EXPR. int d; struct A { A() { } ~A() { d = 1; } }; int f (const A& a) { return 1; } int main () { if (f (A()) && d == 0) return 0; return 1; }