[Bug target/106827] operator++ doesn't work for enum -O2 -mcpu=cortex-m0plus
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 5 10:26:16 GMT 2022
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;
}
}
More information about the Gcc-bugs
mailing list