From: Aaron Puchert Date: Fri, 21 Sep 2018 23:46:35 +0000 (+0000) Subject: Thread safety analysis: Make printSCFG compile again [NFC] X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=167b402df58ab0d972f5a67f46ce2f30c68f82ae;p=clang Thread safety analysis: Make printSCFG compile again [NFC] Not used productively, so no observable functional change. Note that printSCFG doesn't yet work reliably, it seems to crash sometimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@342790 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h b/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h index 49031010a7..32aadf5265 100644 --- a/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h +++ b/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h @@ -785,7 +785,26 @@ protected: void printCast(const Cast *E, StreamType &SS) { if (!CStyle) { SS << "cast["; - SS << E->castOpcode(); + switch (E->castOpcode()) { + case CAST_none: + SS << "none"; + break; + case CAST_extendNum: + SS << "extendNum"; + break; + case CAST_truncNum: + SS << "truncNum"; + break; + case CAST_toFloat: + SS << "toFloat"; + break; + case CAST_toInt: + SS << "toInt"; + break; + case CAST_objToPtr: + SS << "objToPtr"; + break; + } SS << "]("; self()->printSExpr(E->expr(), SS, Prec_Unary); SS << ")"; diff --git a/lib/Analysis/ThreadSafety.cpp b/lib/Analysis/ThreadSafety.cpp index e11ba12501..80d16a659e 100644 --- a/lib/Analysis/ThreadSafety.cpp +++ b/lib/Analysis/ThreadSafety.cpp @@ -64,13 +64,6 @@ using namespace threadSafety; // Key method definition ThreadSafetyHandler::~ThreadSafetyHandler() = default; -namespace { - -class TILPrinter : - public til::PrettyPrinter {}; - -} // namespace - /// Issue a warning about an invalid lock expression static void warnInvalidLock(ThreadSafetyHandler &Handler, const Expr *MutexExp, const NamedDecl *D, diff --git a/lib/Analysis/ThreadSafetyCommon.cpp b/lib/Analysis/ThreadSafetyCommon.cpp index 3b6a2641ad..115c012a05 100644 --- a/lib/Analysis/ThreadSafetyCommon.cpp +++ b/lib/Analysis/ThreadSafetyCommon.cpp @@ -944,6 +944,16 @@ void SExprBuilder::exitCFG(const CFGBlock *Last) { } /* +namespace { + +class TILPrinter : + public til::PrettyPrinter {}; + +} // namespace + +namespace clang { +namespace threadSafety { + void printSCFG(CFGWalker &Walker) { llvm::BumpPtrAllocator Bpa; til::MemRegionRef Arena(&Bpa); @@ -951,4 +961,7 @@ void printSCFG(CFGWalker &Walker) { til::SCFG *Scfg = SxBuilder.buildCFG(Walker); TILPrinter::print(Scfg, llvm::errs()); } + +} // namespace threadSafety +} // namespace clang */