// PR c++/18747

template<> int i;   // { dg-error "template" }

struct A
{
  static int i;
};

template<> int A::i;     // { dg-error "template" }

template <class T>
struct B
{
  static T i;
};

template<> template <> int B<int>::i; // { dg-error "template|should be 1" }
