https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86355

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
   Target Milestone|10.5                        |10.4
      Known to fail|                            |10.3.0
      Known to work|                            |10.4.0
             Status|ASSIGNED                    |RESOLVED

--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
The comment#5 testcase was fixed in GCC 10.4 but the original testcase is still
rejected everywhere:

t.C: In substitution of 'template<class V, class ... T> using check2 =
mp_all<std::is_same<V, void>, std::integral_constant<bool,
(static_cast<bool>(std::is_copy_constructible<T>::value) ... &&
static_cast<bool>(std::integral_constant<bool,
(static_cast<bool>(std::is_copy_assignable<T>::value)  && ...)>::value))> >
[with V = void; T = {int, float}]':
t.C:10:52:   required from here
t.C:6:77: error: invalid use of pack expansion expression
    6 | ass... T> using mp_all = mp_bool<(static_cast<bool>(T::value) && ...)>;
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~

t.C:10:62: error: template argument 1 is invalid
   10 | tatic_assert( std::is_same<check2<void, int, float>, mp_true>::value );
      |                                                             ^


we seem to track the ICE here, so fixed.

Reply via email to