]> granicus.if.org Git - clang/commitdiff
Thread safety analysis: Make printSCFG compile again [NFC]
authorAaron Puchert <aaronpuchert@alice-dsl.net>
Fri, 21 Sep 2018 23:46:35 +0000 (23:46 +0000)
committerAaron Puchert <aaronpuchert@alice-dsl.net>
Fri, 21 Sep 2018 23:46:35 +0000 (23:46 +0000)
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

include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
lib/Analysis/ThreadSafety.cpp
lib/Analysis/ThreadSafetyCommon.cpp

index 49031010a75b692710f576f36be993f4e51ce1ff..32aadf526587b5a965d25399cdbbd8444f83081e 100644 (file)
@@ -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 << ")";
index e11ba12501f088ea85d3865919bc04949cd99c53..80d16a659e883e52932afd64c1d97c2a528d0925 100644 (file)
@@ -64,13 +64,6 @@ using namespace threadSafety;
 // Key method definition
 ThreadSafetyHandler::~ThreadSafetyHandler() = default;
 
-namespace {
-
-class TILPrinter :
-    public til::PrettyPrinter<TILPrinter, llvm::raw_ostream> {};
-
-} // namespace
-
 /// Issue a warning about an invalid lock expression
 static void warnInvalidLock(ThreadSafetyHandler &Handler,
                             const Expr *MutexExp, const NamedDecl *D,
index 3b6a2641ad1dd13971fa1cedd671fa18ca790a81..115c012a055ad4765f013703b25783da8b8ef3ab 100644 (file)
@@ -944,6 +944,16 @@ void SExprBuilder::exitCFG(const CFGBlock *Last) {
 }
 
 /*
+namespace {
+
+class TILPrinter :
+    public til::PrettyPrinter<TILPrinter, llvm::raw_ostream> {};
+
+} // 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
 */