Try putting the definitions of the static variables in scope of the static asserts.
This works fine with gcc 4.7.2:
struct A { static int f; };
struct B : A { static int f; };
struct C : A {};
int A::f;
int B::f;
static_assert(&A::f != &B::f, "B");
static_assert(&A::f == &C::f, "C");
int main()
{
}
Compile with:
$ g++ -std=gnu++11 test.cpp
$ ./a.out