2 // { dg-do compile { target c++14 } }
10 constexpr operator A() const { return {}; }
19 constexpr A baz() { return {}; }
22 A a1 = true ? A{} : A{};
23 A a2 = true ? A{} : B{};
24 A a3 = false ? A{} : B{};
25 A a4 = false ? B{} : B{};
28 A a7 = false ? B{} : (true ? A{} : A{});
29 A a8 = false ? (true ? A{} : B{}) : (true ? A{} : A{});
39 constexpr A a1 = true ? A{} : A{};
40 constexpr A a2 = true ? A{} : B{};
41 constexpr A a3 = false ? A{} : B{};
42 constexpr A a4 = false ? B{} : B{};
45 constexpr A a7 = false ? B{} : (true ? A{} : A{});
46 constexpr A a8 = false ? (true ? A{} : B{}) : (true ? A{} : A{});
47 constexpr A a9 = (A{});
48 constexpr A a10 = (true, A{});
49 constexpr A a11 = bar (A{});
50 //static_assert(a10.p == &a10, ""); // bug, 105619
51 constexpr A a12 = baz ();
52 //static_assert(a11.p == &a11, ""); // bug, 105619
53 constexpr A a13 = (A{}, A{});