diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-05-23 21:31:59 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-05-23 21:31:59 +0000 |
| commit | a1406fa5134d08db3b3dfbf14750f43f22e528f2 (patch) | |
| tree | 863fb42642d3713aa8bd07059dab2528271b221b /clang/lib/Serialization | |
| parent | 3f1b632ad87e7f314712b53cf4a048f75a582d6e (diff) | |
| download | bcm5719-llvm-a1406fa5134d08db3b3dfbf14750f43f22e528f2.tar.gz bcm5719-llvm-a1406fa5134d08db3b3dfbf14750f43f22e528f2.zip | |
Recompute the injected class name type for a class template specialization
rather than saving and restoring it.
llvm-svn: 209557
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 0c6d858bf54..8a0849cb909 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -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()); } } diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index c6e42d4d315..347473c77d9 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -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; } |

