https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118192
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #3) > Better reduced testcase: > ``` > template<int> struct A > { > int i{}; > A() = delete; > constexpr A(int) : A() {} > }; > > constexpr A<0> a{0}; > ``` Sorry: ``` template<int> struct A { int i{}; A() = delete; constexpr A(int) : A{} {} }; constexpr A<0> a{0}; ``` The {} for the delegated constructor is needed to get the ICE before GCC 7.