In case it helps anyone out, the following worked for me with GCC 4.7 using constexpr:
template class X {
constexpr static int s = 0;
};
template constexpr int X::s; // link error if this line is omitted
I'm not making any claims of whether this is "proper". I'll leave that to those more qualified.