// RUN: %clang_cc1 -fsyntax-only -verify %s namespace 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; } } namespace PR10020 { struct MG { virtual void Accept(int) = 0; }; template struct GMG : MG { void Accept(int i) { static_cast(0)->Accept(i); // expected-error{{member reference base}} } static GMG* Method() { return &singleton; } // expected-note{{in instantiation of}} static GMG singleton; }; template GMG GMG::singleton; void test(void) { GMG::Method(); // expected-note{{in instantiation of}} } }