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

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Oops, sorry, those mangled names are actually for this further reduced code:

template<bool, typename T> struct enable_if { };
template<typename T> struct enable_if<true, T> { using type = T; };

template<typename T>
typename enable_if<(int)sizeof(T) >= -(1), int>::type size1(T *t);

template<typename T>
typename enable_if<(int)sizeof(T) >= -1, int>::type size2(T *t);

template<typename T>
typename enable_if<(int)sizeof(T) >= -(1.), int>::type size3(T *t);

template<typename T>
typename enable_if<(int)sizeof(T) >= -1., int>::type size4(T *t);

int x(int *iptr) {
    return size1(iptr) + size2(iptr) + size3(iptr) + size4(iptr);
}

Reply via email to