(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
pr88217.C
// { dg-do compile { target c++11 } }
// { dg-options "-O2 -fstrict-enums -fno-tree-forwprop -fno-tree-fre" }

extern "C" int printf (const char *, ...);

enum E { e1, e2, e3, X };
E operator*(E e) { return e; }
E begin(E e) { return e; }
E end(E e) { return X; }
E operator++(E& e) { return e = E(e+1); }

int main()
{
  for (auto e: e1)
    {
      printf ("%d ", e);
    }
}