https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72076
--- Comment #6 from Thorsten Hirsch <t.hirsch at web dot de> --- One by one. :) I mean this snippet: template<typename _Tp> constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, int>::__type ilogb(_Tp __x) { return __builtin_ilogb(__x); } Is this valid? Or should there be an "int" or "float" after the "constexpr" in line 2?