diff options
author | Tyker <tyker1@outlook.com> | 2019-12-01 22:38:31 +0100 |
---|---|---|
committer | Tyker <tyker1@outlook.com> | 2019-12-01 22:38:31 +0100 |
commit | ae5484540f15bcbcb0de9558e66b0217ab8473ed (patch) | |
tree | 32cea3c91b7dbb7b6272425ecf92050da54515e6 /clang/lib | |
parent | a3cbe1a202df6ec8e23bd55e14db254e4bc33021 (diff) | |
download | bcm5719-llvm-ae5484540f15bcbcb0de9558e66b0217ab8473ed.tar.gz bcm5719-llvm-ae5484540f15bcbcb0de9558e66b0217ab8473ed.zip |
Revert "[clang][modules] Add support for merging lifetime-extended temporaries"
This reverts commit a3cbe1a202df6ec8e23bd55e14db254e4bc33021.
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/AST/TextNodeDumper.cpp | 11 | ||||
-rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 22 |
2 files changed, 0 insertions, 33 deletions
diff --git a/clang/lib/AST/TextNodeDumper.cpp b/clang/lib/AST/TextNodeDumper.cpp index 561c76a45cb..0ff95213118 100644 --- a/clang/lib/AST/TextNodeDumper.cpp +++ b/clang/lib/AST/TextNodeDumper.cpp @@ -1338,17 +1338,6 @@ void TextNodeDumper::VisitFunctionDecl(const FunctionDecl *D) { OS << " <<<NULL params x " << D->getNumParams() << ">>>"; } -void TextNodeDumper::VisitLifetimeExtendedTemporaryDecl( - const LifetimeExtendedTemporaryDecl *D) { - OS << " extended by "; - dumpBareDeclRef(D->getExtendingDecl()); - OS << " mangling "; - { - ColorScope Color(OS, ShowColors, ValueColor); - OS << D->getManglingNumber(); - } -} - void TextNodeDumper::VisitFieldDecl(const FieldDecl *D) { dumpName(D); dumpType(D->getType()); diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 3f7a1ed7fd5..8991a39a706 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -424,8 +424,6 @@ namespace clang { template<typename T> void mergeMergeable(Mergeable<T> *D); - void mergeMergeable(LifetimeExtendedTemporaryDecl *D); - void mergeTemplatePattern(RedeclarableTemplateDecl *D, RedeclarableTemplateDecl *Existing, DeclID DsID, bool IsKeyDecl); @@ -2360,7 +2358,6 @@ void ASTDeclReader::VisitLifetimeExtendedTemporaryDecl( if (Record.readInt()) D->Value = new (D->getASTContext()) APValue(Record.readAPValue()); D->ManglingNumber = Record.readInt(); - mergeMergeable(D); } std::pair<uint64_t, uint64_t> @@ -2558,25 +2555,6 @@ static bool allowODRLikeMergeInC(NamedDecl *ND) { return false; } -/// Attempts to merge LifetimeExtendedTemporaryDecl with -/// identical class definitions from two different modules. -void ASTDeclReader::mergeMergeable(LifetimeExtendedTemporaryDecl *D) { - // If modules are not available, there is no reason to perform this merge. - if (!Reader.getContext().getLangOpts().Modules) - return; - - LifetimeExtendedTemporaryDecl *LETDecl = D; - - LifetimeExtendedTemporaryDecl *&LookupResult = - Reader.LETemporaryForMerging[std::make_pair( - LETDecl->getExtendingDecl(), LETDecl->getManglingNumber())]; - if (LookupResult) - Reader.getContext().setPrimaryMergedDecl(LETDecl, - LookupResult->getCanonicalDecl()); - else - LookupResult = LETDecl; -} - /// Attempts to merge the given declaration (D) with another declaration /// of the same entity, for the case where the entity is not actually /// redeclarable. This happens, for instance, when merging the fields of |