summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTImporter.cpp
diff options
context:
space:
mode:
authorGabor Marton <martongabesz@gmail.com>2018-11-26 15:54:08 +0000
committerGabor Marton <martongabesz@gmail.com>2018-11-26 15:54:08 +0000
commit17d39677e015e8c4398949dd089dfd3fab136222 (patch)
tree6eda57ab79df6ebb1128b0cc8fc2751db5e74659 /clang/lib/AST/ASTImporter.cpp
parent4d3d82eef96e10a54e3d0bf367d8e10917ca8662 (diff)
downloadbcm5719-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.cpp5
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();
OpenPOWER on IntegriCloud