https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102989
--- Comment #31 from joseph at codesourcery dot com <joseph at codesourcery dot
com> ---
On Fri, 28 Oct 2022, rguenth at gcc dot gnu.org via Gcc-bugs wrote:
> I wouldn't go with a new tree code, given semantics are INTEGER_TYPE it should
> be an INTEGER_TYPE.
Implementation note in that case: bit-precise integer types aren't allowed
as underlying types for enums, so the code in
c-parser.cc:c_parser_enum_specifier checking underlying types:
else if (TREE_CODE (specs->type) != INTEGER_TYPE
&& TREE_CODE (specs->type) != BOOLEAN_TYPE)
{
error_at (enum_loc, "invalid %<enum%> underlying type");
would then need to check that the type isn't a bit-precise type.