diff options
| author | Haojian Wu <hokein@google.com> | 2019-10-04 14:09:31 +0000 |
|---|---|---|
| committer | Haojian Wu <hokein@google.com> | 2019-10-04 14:09:31 +0000 |
| commit | 5d862c042b52ae2aad37471d0b83b6c678a520e3 (patch) | |
| tree | db32435720d59b9e182954c1d385851364bff6e6 /clang/lib/Tooling | |
| parent | a37a6dcd04b0c0a0f9eea93ba0a5070a5421a29a (diff) | |
| download | bcm5719-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.cpp | 4 |
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)) |

