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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |rejects-valid

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Without the library header:

namespace std {
    template<bool, typename> struct enable_if { };
    template<typename T> struct enable_if<true, T> { using type = T; };
}
template<int N, int M, int Z> struct Tmpl {
  int f() { return 0; }
};

template<int N,
  typename std::enable_if<N % 2 == 0, int>::type M>
struct Tmpl<N, M, 0> {
  int f() { return 1; }
};

int main(void) {
    return Tmpl<6, 6, 0>().f();
}

Clang, MSVC and EDG accept the program.


It was an error until r12-8256-g288e4c64f6b480 (PR105289) which changed it from
permerror to pedwarn.

Reply via email to