/* { dg-do compile } */ /* { dg-options "-O -fharden-compares -Wno-c++11-extensions" } */ enum E:bool { E0, E1 }; int x; E baz (E rtt) { return rtt == E0 ? E1 : E0; } bool bar (); void foo (E) { E a = x ? E1 : E0; if (bar ()) if (bar ()) { E b = baz (a); foo (b); } }