}
Pattern = PatternDef;
- InstantiatingTemplate Inst(*this, Instantiation->getLocation(),
- Instantiation);
+ InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation);
if (Inst)
return true;
struct C { T &foo(); };
struct D {
- struct E { T &bar(); };
+ struct E { T &bar(); }; // expected-error{{cannot form a reference to 'void'}}
struct F; // expected-note{{member is declared here}}
};
};
f->foo(); // expected-error{{implicit instantiation of undefined member 'struct X<float>::D::F'}}
}
+
+
+X<void>::C *c3; // okay
+X<void>::D::E *e1; // okay
+X<void>::D::E e2; // expected-note{{in instantiation of member class 'struct X<void>::D::E' requested here}}