http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51242
--- Comment #16 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-26 12:22:49 UTC --- And to further clarify wrt your specific Comment 11, Jon, for: #include <limits.h> enum Code { SUCCESS = 0 }; Code a = static_cast<Code>(SHRT_MAX + 1); short r[] = {a}; we currently don't warn.