diff options
-rw-r--r-- | tools/libclang/CIndex.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index e2882953c0..328ea62f3b 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -1983,10 +1983,12 @@ bool CursorVisitor::RunVisitorWorkList(VisitorWorkList &WL) { } case VisitorJob::LabelRefVisitKind: { LabelDecl *LS = cast<LabelRefVisit>(&LI)->get(); - if (Visit(MakeCursorLabelRef(LS->getStmt(), - cast<LabelRefVisit>(&LI)->getLoc(), - TU))) - return true; + if (LabelStmt *stmt = LS->getStmt()) { + if (Visit(MakeCursorLabelRef(stmt, cast<LabelRefVisit>(&LI)->getLoc(), + TU))) { + return true; + } + } continue; } case VisitorJob::NestedNameSpecifierVisitKind: { |