// { dg-do compile { target c++14 } } // { dg-additional-options -fno-elide-constructors } struct A { constexpr A(int) { } }; struct B: A { constexpr B(int i): A(i) { } constexpr B(const B& b): A(b) { } }; struct C { B b; constexpr C(int i): b(i) { } constexpr C(const C&c): b(c.b) {} }; constexpr int f() { C b1{42}; C b2{b1}; b2.b; return 42; } constexpr int i = f();