Message ID | 20171205133622.GV2353@tucnak |
---|---|
State | New |
Headers | show |
Series | [committed] Add testcase for already fixed PR (PR tree-optimization/83283) | expand |
--- gcc/testsuite/g++.dg/torture/pr83283.C.jj 2017-12-05 13:01:03.432144366 +0100 +++ gcc/testsuite/g++.dg/torture/pr83283.C 2017-12-05 13:00:55.926238921 +0100 @@ -0,0 +1,26 @@ +// PR tree-optimization/83283 +// { dg-do run } +// { dg-additional-options "-std=c++11" } + +enum E : unsigned char { X = 0, Y = 1 }; + +void __attribute__((noinline)) +foo (E *v, int size) +{ + for (int i = 0; i < size; ++i) + { + const bool b = (v[i] == E::Y); + v[i] = static_cast<E>(static_cast<unsigned char>(b)); + } +} + +int +main () +{ + constexpr int items = 32; + E vals[items] = {X}; + vals[3] = Y; + foo (vals, items); + if (vals[3] != 1) + __builtin_abort (); +}