Lines Matching refs:PthreadLockChecker
71 class PthreadLockChecker : public Checker<check::PostCall, check::DeadSymbols, class
85 typedef void (PthreadLockChecker::*FnCheck)(const CallEvent &Call,
90 {{"pthread_mutex_init", 2}, &PthreadLockChecker::InitAnyLock},
98 {{"pthread_mutex_lock", 1}, &PthreadLockChecker::AcquirePthreadLock},
99 {{"pthread_rwlock_rdlock", 1}, &PthreadLockChecker::AcquirePthreadLock},
100 {{"pthread_rwlock_wrlock", 1}, &PthreadLockChecker::AcquirePthreadLock},
101 {{"lck_mtx_lock", 1}, &PthreadLockChecker::AcquireXNULock},
102 {{"lck_rw_lock_exclusive", 1}, &PthreadLockChecker::AcquireXNULock},
103 {{"lck_rw_lock_shared", 1}, &PthreadLockChecker::AcquireXNULock},
106 {{"pthread_mutex_trylock", 1}, &PthreadLockChecker::TryPthreadLock},
107 {{"pthread_rwlock_tryrdlock", 1}, &PthreadLockChecker::TryPthreadLock},
108 {{"pthread_rwlock_trywrlock", 1}, &PthreadLockChecker::TryPthreadLock},
109 {{"lck_mtx_try_lock", 1}, &PthreadLockChecker::TryXNULock},
110 {{"lck_rw_try_lock_exclusive", 1}, &PthreadLockChecker::TryXNULock},
111 {{"lck_rw_try_lock_shared", 1}, &PthreadLockChecker::TryXNULock},
114 {{"pthread_mutex_unlock", 1}, &PthreadLockChecker::ReleaseAnyLock},
115 {{"pthread_rwlock_unlock", 1}, &PthreadLockChecker::ReleaseAnyLock},
116 {{"lck_mtx_unlock", 1}, &PthreadLockChecker::ReleaseAnyLock},
117 {{"lck_rw_unlock_exclusive", 1}, &PthreadLockChecker::ReleaseAnyLock},
118 {{"lck_rw_unlock_shared", 1}, &PthreadLockChecker::ReleaseAnyLock},
119 {{"lck_rw_done", 1}, &PthreadLockChecker::ReleaseAnyLock},
122 {{"pthread_mutex_destroy", 1}, &PthreadLockChecker::DestroyPthreadLock},
123 {{"lck_mtx_destroy", 2}, &PthreadLockChecker::DestroyXNULock},
130 {{"spin_lock_init", 1}, &PthreadLockChecker::InitAnyLock},
133 {{"spin_lock", 1}, &PthreadLockChecker::AcquirePthreadLock},
134 {{"spin_lock_save", 3}, &PthreadLockChecker::AcquirePthreadLock},
135 {{"sync_mutex_lock", 1}, &PthreadLockChecker::AcquirePthreadLock},
137 &PthreadLockChecker::AcquirePthreadLock},
140 {{"spin_trylock", 1}, &PthreadLockChecker::TryFuchsiaLock},
141 {{"sync_mutex_trylock", 1}, &PthreadLockChecker::TryFuchsiaLock},
142 {{"sync_mutex_timedlock", 2}, &PthreadLockChecker::TryFuchsiaLock},
145 {{"spin_unlock", 1}, &PthreadLockChecker::ReleaseAnyLock},
146 {{"spin_unlock_restore", 3}, &PthreadLockChecker::ReleaseAnyLock},
147 {{"sync_mutex_unlock", 1}, &PthreadLockChecker::ReleaseAnyLock},
152 {{"mtx_init", 2}, &PthreadLockChecker::InitAnyLock},
155 {{"mtx_lock", 1}, &PthreadLockChecker::AcquirePthreadLock},
158 {{"mtx_trylock", 1}, &PthreadLockChecker::TryC11Lock},
159 {{"mtx_timedlock", 2}, &PthreadLockChecker::TryC11Lock},
162 {{"mtx_unlock", 1}, &PthreadLockChecker::ReleaseAnyLock},
165 {{"mtx_destroy", 1}, &PthreadLockChecker::DestroyPthreadLock},
259 void PthreadLockChecker::checkPostCall(const CallEvent &Call, in REGISTER_LIST_WITH_PROGRAMSTATE()
288 ProgramStateRef PthreadLockChecker::resolvePossiblyDestroyedMutex( in resolvePossiblyDestroyedMutex()
313 void PthreadLockChecker::printState(raw_ostream &Out, ProgramStateRef State, in printState()
355 void PthreadLockChecker::AcquirePthreadLock(const CallEvent &Call, in AcquirePthreadLock()
362 void PthreadLockChecker::AcquireXNULock(const CallEvent &Call, in AcquireXNULock()
369 void PthreadLockChecker::TryPthreadLock(const CallEvent &Call, in TryPthreadLock()
376 void PthreadLockChecker::TryXNULock(const CallEvent &Call, CheckerContext &C, in TryXNULock()
382 void PthreadLockChecker::TryFuchsiaLock(const CallEvent &Call, in TryFuchsiaLock()
389 void PthreadLockChecker::TryC11Lock(const CallEvent &Call, CheckerContext &C, in TryC11Lock()
395 void PthreadLockChecker::AcquireLockAux(const CallEvent &Call, in AcquireLockAux()
468 void PthreadLockChecker::ReleaseAnyLock(const CallEvent &Call, in ReleaseAnyLock()
474 void PthreadLockChecker::ReleaseLockAux(const CallEvent &Call, in ReleaseLockAux()
520 void PthreadLockChecker::DestroyPthreadLock(const CallEvent &Call, in DestroyPthreadLock()
527 void PthreadLockChecker::DestroyXNULock(const CallEvent &Call, in DestroyXNULock()
534 void PthreadLockChecker::DestroyLockAux(const CallEvent &Call, in DestroyLockAux()
588 void PthreadLockChecker::InitAnyLock(const CallEvent &Call, CheckerContext &C, in InitAnyLock()
593 void PthreadLockChecker::InitLockAux(const CallEvent &Call, CheckerContext &C, in InitLockAux()
623 void PthreadLockChecker::reportBug(CheckerContext &C, in reportBug()
637 void PthreadLockChecker::checkDeadSymbols(SymbolReaper &SymReaper, in checkDeadSymbols()
664 ProgramStateRef PthreadLockChecker::checkRegionChanges( in checkRegionChanges()
700 mgr.registerChecker<PthreadLockChecker>(); in registerPthreadLockBase()
707 PthreadLockChecker *checker = mgr.getChecker<PthreadLockChecker>(); \
708 checker->ChecksEnabled[PthreadLockChecker::CK_##name] = true; \
709 checker->CheckNames[PthreadLockChecker::CK_##name] = \
715 REGISTER_CHECKER(PthreadLockChecker)