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;
    }
}

Reply via email to