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.