diff options
| author | Gabor Marton <martongabesz@gmail.com> | 2018-05-17 09:46:07 +0000 |
|---|---|---|
| committer | Gabor Marton <martongabesz@gmail.com> | 2018-05-17 09:46:07 +0000 |
| commit | de8bf2678b054d6c4eee7db2afacb8ec9e795fcc (patch) | |
| tree | 12881cf282355436080af1c7941e83bd5764f63c /clang | |
| parent | 6e89528c557fe7e41b2c4946d75d1e5b36f62fd5 (diff) | |
| download | bcm5719-llvm-de8bf2678b054d6c4eee7db2afacb8ec9e795fcc.tar.gz bcm5719-llvm-de8bf2678b054d6c4eee7db2afacb8ec9e795fcc.zip | |
[ASTImporter] Fix missing implict CXXRecordDecl
Summary:
Implicit CXXRecordDecl is not added to its DeclContext during import, but in
the original AST it is. This patch fixes this.
Reviewers: xazax.hun, a.sidorin, szepet
Subscribers: rnkovacs, dkrupp, cfe-commits
Differential Revision: https://reviews.llvm.org/D46958
llvm-svn: 332588
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/AST/ASTImporter.cpp | 2 | ||||
| -rw-r--r-- | clang/unittests/AST/ASTImporterTest.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp index 254eb7643d4..6fa4617cf06 100644 --- a/clang/lib/AST/ASTImporter.cpp +++ b/clang/lib/AST/ASTImporter.cpp @@ -2110,7 +2110,7 @@ Decl *ASTNodeImporter::VisitRecordDecl(RecordDecl *D) { D2 = D2CXX; D2->setAccess(D->getAccess()); D2->setLexicalDeclContext(LexicalDC); - if (!DCXX->getDescribedClassTemplate()) + if (!DCXX->getDescribedClassTemplate() || DCXX->isImplicit()) LexicalDC->addDeclInternal(D2); Importer.Imported(D, D2); diff --git a/clang/unittests/AST/ASTImporterTest.cpp b/clang/unittests/AST/ASTImporterTest.cpp index 9eec1d20bac..a4c823008d9 100644 --- a/clang/unittests/AST/ASTImporterTest.cpp +++ b/clang/unittests/AST/ASTImporterTest.cpp @@ -1348,7 +1348,7 @@ TEST_P(ASTImporterTestBase, Verifier.match(To, cxxRecordDecl(hasFieldOrder({"a", "b", "c"})))); } -TEST_P(ASTImporterTestBase, DISABLED_ShouldImportImplicitCXXRecordDecl) { +TEST_P(ASTImporterTestBase, ShouldImportImplicitCXXRecordDecl) { Decl *From, *To; std::tie(From, To) = getImportedDecl( R"( |

