Recompute the injected class name type for a class template specialization
rather than saving and restoring it. llvm-svn: 209557
This commit is contained in:
parent
3f1b632ad8
commit
a1406fa513
|
@ -1646,8 +1646,6 @@ void ASTDeclReader::VisitClassTemplateDecl(ClassTemplateDecl *D) {
|
|||
memcpy(CommonPtr->LazySpecializations, SpecIDs.data(),
|
||||
SpecIDs.size() * sizeof(DeclID));
|
||||
}
|
||||
|
||||
CommonPtr->InjectedClassNameType = Reader.readType(F, Record, Idx);
|
||||
}
|
||||
|
||||
if (D->getTemplatedDecl()->TemplateOrInstantiation) {
|
||||
|
@ -1655,7 +1653,7 @@ void ASTDeclReader::VisitClassTemplateDecl(ClassTemplateDecl *D) {
|
|||
// its corresponding type yet (see VisitCXXRecordDeclImpl), so reconstruct
|
||||
// it now.
|
||||
Reader.Context.getInjectedClassNameType(
|
||||
D->getTemplatedDecl(), D->getCommonPtr()->InjectedClassNameType);
|
||||
D->getTemplatedDecl(), D->getInjectedClassNameSpecialization());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1156,8 +1156,6 @@ void ASTDeclWriter::VisitClassTemplateDecl(ClassTemplateDecl *D) {
|
|||
assert(I->isCanonicalDecl() && "Expected only canonical decls in set");
|
||||
Writer.AddDeclRef(&*I, Record);
|
||||
}
|
||||
|
||||
Writer.AddTypeRef(D->getCommonPtr()->InjectedClassNameType, Record);
|
||||
}
|
||||
Code = serialization::DECL_CLASS_TEMPLATE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue