http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52119
--- Comment #8 from Richard Smith <richard-gccbugzilla at metafoo dot co.uk> 2012-02-13 22:17:27 UTC --- Signed left shift which overflows the corresponding unsigned type is still undefined, so g++ should reject this: constexpr int n = 2 << 31;