http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54021
--- Comment #6 from Andy Lutomirski <luto at mit dot edu> 2012-09-08 22:29:17 UTC --- I think that's correct. x isn't a standards-mandated constant expression, so __builtin_constant_p depends on optimization level and probably shouldn't be allowed as a constexpr.