// { dg-do assemble } // Test that the result of `x ? const E : E' is an E rvalue. // Contributed by Jason Merrill enum E { a }; bool b; int main () { E e1 = a; const E &er = e1; E e2 = b ? er : a; // OK const E* ep = &(b ? er : a); // { dg-error "" } non-lvalue }