Revert "[clang][Checkers] Extend PthreadLockChecker state dump (NFC)."
authorBalázs Kéri <1.int32@gmail.com>
Wed, 31 Mar 2021 13:28:53 +0000 (15:28 +0200)
committerBalázs Kéri <1.int32@gmail.com>
Wed, 31 Mar 2021 13:28:53 +0000 (15:28 +0200)
This reverts commit 49c0ab6d7611050ae902f6369fc878e17da453ad.

Test failures showed up because non-deterministic output.

clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
clang/test/Analysis/pthreadlock_state.c [deleted file]

index eb10a42..88e80c4 100644 (file)
@@ -339,16 +339,7 @@ void PthreadLockChecker::printState(raw_ostream &Out, ProgramStateRef State,
     }
   }
 
-  DestroyRetValTy DRV = State->get<DestroyRetVal>();
-  if (!DRV.isEmpty()) {
-    Out << Sep << "Mutexes in unresolved possibly destroyed state:" << NL;
-    for (auto I : DRV) {
-      I.first->dumpToStream(Out);
-      Out << ": ";
-      I.second->dumpToStream(Out);
-      Out << NL;
-    }
-  }
+  // TODO: Dump destroyed mutex symbols?
 }
 
 void PthreadLockChecker::AcquirePthreadLock(const CallEvent &Call,
diff --git a/clang/test/Analysis/pthreadlock_state.c b/clang/test/Analysis/pthreadlock_state.c
deleted file mode 100644 (file)
index dfbc104..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.unix.PthreadLock,debug.ExprInspection 2>&1 %s | FileCheck %s
-
-#include "Inputs/system-header-simulator-for-pthread-lock.h"
-
-#define NULL 0
-
-void clang_analyzer_printState();
-
-pthread_mutex_t mtx;
-
-void test(pthread_mutex_t *mtx1) {
-  clang_analyzer_printState();
-  // CHECK:    "checker_messages": null
-
-  pthread_mutex_init(&mtx, NULL);
-  clang_analyzer_printState();
-  // CHECK:    { "checker": "alpha.core.PthreadLockBase", "messages": [
-  // CHECK-NEXT:      "Mutex states:",
-  // CHECK-NEXT:      "mtx: unlocked",
-  // CHECK-NEXT:      ""
-  // CHECK-NEXT:    ]}
-
-  pthread_mutex_lock(&mtx);
-  clang_analyzer_printState();
-  // CHECK:    { "checker": "alpha.core.PthreadLockBase", "messages": [
-  // CHECK-NEXT:      "Mutex states:",
-  // CHECK-NEXT:      "mtx: locked",
-  // CHECK-NEXT:      "Mutex lock order:",
-  // CHECK-NEXT:      "mtx",
-  // CHECK-NEXT:      ""
-  // CHECK-NEXT:    ]}
-
-  pthread_mutex_unlock(&mtx);
-  clang_analyzer_printState();
-  // CHECK:    { "checker": "alpha.core.PthreadLockBase", "messages": [
-  // CHECK-NEXT:      "Mutex states:",
-  // CHECK-NEXT:      "mtx: unlocked",
-  // CHECK-NEXT:      ""
-  // CHECK-NEXT:    ]}
-
-  int ret = pthread_mutex_destroy(&mtx);
-  clang_analyzer_printState();
-  // CHECK:    { "checker": "alpha.core.PthreadLockBase", "messages": [
-  // CHECK-NEXT:      "Mutex states:",
-  // CHECK-NEXT:      "mtx: unlocked, possibly destroyed",
-  // CHECK-NEXT:      "Mutexes in unresolved possibly destroyed state:",
-  // CHECK-NEXT:      "mtx: conj_$
-  // CHECK-NEXT:      ""
-  // CHECK-NEXT:    ]}
-
-  if (ret)
-    return;
-
-  ret = pthread_mutex_destroy(mtx1);
-  clang_analyzer_printState();
-  // CHECK:    { "checker": "alpha.core.PthreadLockBase", "messages": [
-  // CHECK-NEXT:      "Mutex states:",
-  // CHECK-NEXT:      "mtx: destroyed",
-  // CHECK-NEXT:      "SymRegion{reg_$[[REG:[0-9]+]]<pthread_mutex_t * mtx1>}: not tracked, possibly destroyed",
-  // CHECK-NEXT:      "Mutexes in unresolved possibly destroyed state:",
-  // CHECK-NEXT:      "SymRegion{reg_$[[REG]]<pthread_mutex_t * mtx1>}: conj_$
-  // CHECK-NEXT:      ""
-  // CHECK-NEXT:    ]}
-  if (ret)
-    return;
-  pthread_mutex_init(mtx1, NULL);
-}