https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93674
--- Comment #5 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- I'm seeing it on AArch64 for master. Adding an enum value with an initializer of -1 causes the problem to go away. So it looks like the 'unsigned' conversion is happening too soon.