http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50785
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-10-19 08:34:45 UTC --- The definition is required, see [class.static.data] p3 "A static data member of literal type can be declared in the class definition with the constexpr specifier; [...] The member shall still be defined in a namespace scope if it is odr-used (3.2) in the program and the namespace scope definition shall not contain an initializer."