https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84045
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Another reduction that is accepted by g++6 and clang++: template <typename T, T N> struct C { static constexpr T d = N; }; template <typename> struct A; template <typename...> struct E; template <typename T, typename U> struct E<T, U> : A<U>::I {}; struct J : C<bool, 0> {}; template <typename T> struct K : E<T, J> {}; template <typename T> struct A { typedef T I; }; template <typename T, typename> struct B { typedef K<T> D; void foo () noexcept (D::d); }; template <typename T> struct P { P () noexcept (K<T>::d); }; struct { P<int> o; } p; There is some glitch in our bisect seed between r241875 and r241958, so bisection will take some time.