summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core
diff options
context:
space:
mode:
authorNathan Huckleberry <nhuck@google.com>2019-06-27 22:46:40 +0000
committerNathan Huckleberry <nhuck@google.com>2019-06-27 22:46:40 +0000
commit13fde7a89a53d5a9ed77579b038eb39bcf8975a1 (patch)
treee2da720f7bde7730aa5e915925bfef187dd281fd /clang/lib/StaticAnalyzer/Core
parent29d05c005fa88b3a59697a2e538f46cf79413548 (diff)
downloadbcm5719-llvm-13fde7a89a53d5a9ed77579b038eb39bcf8975a1.tar.gz
bcm5719-llvm-13fde7a89a53d5a9ed77579b038eb39bcf8975a1.zip
[analyzer] Fix clang-tidy crash on GCCAsmStmt
Summary: Added entry in switch statement to recognize GCCAsmStmt as a possible block terminator. Handling to build CFG using GCCAsmStmt was already implemented. Reviewers: nickdesaulniers, george.karpenkov, NoQ Reviewed By: nickdesaulniers, NoQ Subscribers: xbolva00, tmroeder, xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63533 llvm-svn: 364605
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core')
-rw-r--r--clang/lib/StaticAnalyzer/Core/CoreEngine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp b/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
index 431d07dab1e..94cf74de829 100644
--- a/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
@@ -396,6 +396,11 @@ void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) {
case Stmt::WhileStmtClass:
HandleBranch(cast<WhileStmt>(Term)->getCond(), Term, B, Pred);
return;
+
+ case Stmt::GCCAsmStmtClass:
+ assert(cast<GCCAsmStmt>(Term)->isAsmGoto() && "Encountered GCCAsmStmt without labels");
+ // TODO: Handle jumping to labels
+ return;
}
}
OpenPOWER on IntegriCloud