https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414
eric-bugs at omnifarious dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eric-bugs at omnifarious dot org --- Comment #9 from eric-bugs at omnifarious dot org --- This does not seem like correct behavior to me either. The warning should be based on the maximum declared enum value, not the maximum possible value held by the underlying type. After all as of C++17, the standard makes it undefined what happens if you try to stuff an integer into an enum value that doesn't correspond to one of the values listed in the enum declaration.