1 // { dg-do compile { target c++11 } }
2 // { dg-options "-O2 -fstrict-enums -fno-tree-forwprop -fno-tree-fre" }
4 extern "C" int printf (const char *, ...);
6 enum E { e1, e2, e3, X };
7 E operator*(E e) { return e; }
8 E begin(E e) { return e; }
9 E end(E e) { return X; }
10 E operator++(E& e) { return e = E(e+1); }