diff options
author | Gabor Marton <martongabesz@gmail.com> | 2018-11-26 15:54:08 +0000 |
---|---|---|
committer | Gabor Marton <martongabesz@gmail.com> | 2018-11-26 15:54:08 +0000 |
commit | 17d39677e015e8c4398949dd089dfd3fab136222 (patch) | |
tree | 6eda57ab79df6ebb1128b0cc8fc2751db5e74659 /clang/lib/AST/ASTImporter.cpp | |
parent | 4d3d82eef96e10a54e3d0bf367d8e10917ca8662 (diff) | |
download | bcm5719-llvm-17d39677e015e8c4398949dd089dfd3fab136222.tar.gz bcm5719-llvm-17d39677e015e8c4398949dd089dfd3fab136222.zip |
[ASTImporter][Structural Eq] Check for isBeingDefined
Summary:
If one definition is currently being defined, we do not compare for
equality and we assume that the decls are equal.
Reviewers: a_sidorin, a.sidorin, shafik
Reviewed By: a_sidorin
Subscribers: gamesh411, shafik, rnkovacs, dkrupp, Szelethus, cfe-commits
Differential Revision: https://reviews.llvm.org/D53697
llvm-svn: 347564
Diffstat (limited to 'clang/lib/AST/ASTImporter.cpp')
-rw-r--r-- | clang/lib/AST/ASTImporter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp index 187c781c8c2..77a1a7f4990 100644 --- a/clang/lib/AST/ASTImporter.cpp +++ b/clang/lib/AST/ASTImporter.cpp @@ -1740,8 +1740,9 @@ Error ASTNodeImporter::ImportDefinition( return Err; // Add base classes. - if (auto *ToCXX = dyn_cast<CXXRecordDecl>(To)) { - auto *FromCXX = cast<CXXRecordDecl>(From); + auto *ToCXX = dyn_cast<CXXRecordDecl>(To); + auto *FromCXX = dyn_cast<CXXRecordDecl>(From); + if (ToCXX && FromCXX && ToCXX->dataPtr() && FromCXX->dataPtr()) { struct CXXRecordDecl::DefinitionData &ToData = ToCXX->data(); struct CXXRecordDecl::DefinitionData &FromData = FromCXX->data(); |