in a record that has a base without a definition
rdar://
32224197
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303192
91177308-0d34-0410-b5e6-
96231b3b80d8
dyn_cast_or_null<ClassTemplateDecl>(TN.getAsTemplateDecl()))
BaseRecord = TD->getTemplatedDecl();
}
+ if (BaseRecord && !BaseRecord->hasDefinition())
+ BaseRecord = nullptr;
} else {
BaseRecord = cast<CXXRecordDecl>(
BaseSpec.getType()->castAs<RecordType>()->getDecl());
x.lookup;
typename UndefinedTemplateClass<T>::Type y;
}
+
+template<typename T>
+struct UserOfUndefinedTemplateClass: UndefinedTemplateClass<T> { };
+
+template<typename T>
+void undefinedTemplateLookup2(UserOfUndefinedTemplateClass<T> &x) {
+// Shouldn't crash!
+ x.lookup;
+ typename UserOfUndefinedTemplateClass<T>::Type y;
+}