https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107405
--- Comment #13 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- If the real issue in a particular place in the kernel is that a single (anonymous) enum type is being used for lots of different kinds of constants, then the appropriate fix in the kernel might be to split up the enum, so that large constants of one kind don't affect the types of small constants of a different kind.