// RUN: %clang_cc1 -fsyntax-only -verify %s // PR8640 template struct C1 { virtual void c1() { T1 t1 = 3; // expected-error {{cannot initialize a variable}} } }; template struct C2 { void c2() { new C1(); // expected-note {{in instantiation of member function}} } }; void f() { C2 c2; c2.c2(); // expected-note {{in instantiation of member function}} } namespace PR9325 { template class Target { public: virtual T Value() const { return 1; // expected-error{{cannot initialize return object of type 'int *' with an rvalue of type 'int'}} } }; template struct Provider { static Target Instance; }; template Target Provider::Instance; // expected-note{{in instantiation of}} void f() { Target* traits = &Provider::Instance; } }