https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106827
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW CC| |marxin at gcc dot gnu.org --- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Copied test-case: enum Foo{a,b,c,d,e,f}; Foo operator+(Foo n,int m) { return Foo(int(n)+m); } Foo operator++(Foo n,int) { return Foo(int(n)+1); } Foo operator++(Foo n) { return Foo(int(n)+1); } void test1() { for (Foo i=a; i<=f; i++) { volatile Foo z=i; } } void test2() { for (Foo i=a; i<=f; ++i) { volatile Foo z=i; } } void test3() { for (Foo i=a; i<=f; i=i+1) { volatile Foo z=i; } }