https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94523
Bug ID: 94523 Summary: [10 Regression] error: 'constexpr' evaluation depth exceeds maximum of 512 (use '-fconstexpr-depth=' to increase the maximum) since r10-7490-g76f09260b7eccd6c Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: jason at gcc dot gnu.org Target Milestone: --- It's a test-case reduced from pybind11 package: $ cat pybind11.ii template <bool, typename a> using b = a; struct d { char ao; template <typename ap> constexpr d(ap) : ao{} {} }; template <int... au> struct e { static constexpr auto aw = d(au...); }; template <int c> b<c, d> ax(e<1>::aw); $ g++-9 pybind11.ii -c $ g++ pybind11.ii -c ... pybind11.ii:6:55: in 'constexpr' expansion of 'd(1)' pybind11.ii:6:55: in 'constexpr' expansion of 'd(1)' pybind11.ii:6:55: in 'constexpr' expansion of 'd(1)' pybind11.ii:6:55: in 'constexpr' expansion of 'd(1)' pybind11.ii:6:55: in 'constexpr' expansion of 'd(1)' pybind11.ii:6:55: error: 'constexpr' evaluation depth exceeds maximum of 512 (use '-fconstexpr-depth=' to increase the maximum) 6 | template <int... au> struct e { static constexpr auto aw = d(au...); }; | ^~