[Bug c++/99968] ICE on remove_const_t<incomplete enum type> in requires-expression
ppalka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 9 13:59:37 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99968
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ppalka at gcc dot gnu.org
--- Comment #6 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced:
template<typename T> using remove_const_t = T;
template<typename T>
struct is_scoped_enum
{
using type = remove_const_t<T>;
static constexpr bool value = false;
};
enum E { e0 = __is_enum(E), e1 = is_scoped_enum<E>::value };
99968.C:10:51: required from here
99968.C:4:8: error: enum value type is not ‘INTEGER_TYPE’ nor convertible to
the enum
4 | struct is_scoped_enum
| ^~~~~~~~~~~~~~
This one seems to have started with r6-598, the same commit that introduced the
sanity check.
More information about the Gcc-bugs
mailing list