summaryrefslogtreecommitdiffstats
path: root/clang/lib/Tooling
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2019-10-04 14:09:31 +0000
committerHaojian Wu <hokein@google.com>2019-10-04 14:09:31 +0000
commit5d862c042b52ae2aad37471d0b83b6c678a520e3 (patch)
treedb32435720d59b9e182954c1d385851364bff6e6 /clang/lib/Tooling
parenta37a6dcd04b0c0a0f9eea93ba0a5070a5421a29a (diff)
downloadbcm5719-llvm-5d862c042b52ae2aad37471d0b83b6c678a520e3.tar.gz
bcm5719-llvm-5d862c042b52ae2aad37471d0b83b6c678a520e3.zip
[clang-rename] Fix a crash when renaming a class without definition.
Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68459 llvm-svn: 373748
Diffstat (limited to 'clang/lib/Tooling')
-rw-r--r--clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp b/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
index b60616ecc87..e26248f50c2 100644
--- a/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
+++ b/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
@@ -102,6 +102,10 @@ public:
private:
void handleCXXRecordDecl(const CXXRecordDecl *RecordDecl) {
+ if (!RecordDecl->getDefinition()) {
+ USRSet.insert(getUSRForDecl(RecordDecl));
+ return;
+ }
RecordDecl = RecordDecl->getDefinition();
if (const auto *ClassTemplateSpecDecl =
dyn_cast<ClassTemplateSpecializationDecl>(RecordDecl))
OpenPOWER on IntegriCloud