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()
314 void PthreadLockChecker::printState(raw_ostream &Out, ProgramStateRef State, in printState()
356 void PthreadLockChecker::AcquirePthreadLock(const CallEvent &Call, in AcquirePthreadLock()
363 void PthreadLockChecker::AcquireXNULock(const CallEvent &Call, in AcquireXNULock()
370 void PthreadLockChecker::TryPthreadLock(const CallEvent &Call, in TryPthreadLock()
377 void PthreadLockChecker::TryXNULock(const CallEvent &Call, CheckerContext &C, in TryXNULock()
383 void PthreadLockChecker::TryFuchsiaLock(const CallEvent &Call, in TryFuchsiaLock()
390 void PthreadLockChecker::TryC11Lock(const CallEvent &Call, CheckerContext &C, in TryC11Lock()
396 void PthreadLockChecker::AcquireLockAux(const CallEvent &Call, in AcquireLockAux()
469 void PthreadLockChecker::ReleaseAnyLock(const CallEvent &Call, in ReleaseAnyLock()
475 void PthreadLockChecker::ReleaseLockAux(const CallEvent &Call, in ReleaseLockAux()
521 void PthreadLockChecker::DestroyPthreadLock(const CallEvent &Call, in DestroyPthreadLock()
528 void PthreadLockChecker::DestroyXNULock(const CallEvent &Call, in DestroyXNULock()
535 void PthreadLockChecker::DestroyLockAux(const CallEvent &Call, in DestroyLockAux()
589 void PthreadLockChecker::InitAnyLock(const CallEvent &Call, CheckerContext &C, in InitAnyLock()
594 void PthreadLockChecker::InitLockAux(const CallEvent &Call, CheckerContext &C, in InitLockAux()
624 void PthreadLockChecker::reportBug(CheckerContext &C, in reportBug()
638 void PthreadLockChecker::checkDeadSymbols(SymbolReaper &SymReaper, in checkDeadSymbols()
665 ProgramStateRef PthreadLockChecker::checkRegionChanges( in checkRegionChanges()
701 mgr.registerChecker<PthreadLockChecker>(); in registerPthreadLockBase()
708 PthreadLockChecker *checker = mgr.getChecker<PthreadLockChecker>(); \
709 checker->ChecksEnabled[PthreadLockChecker::CK_##name] = true; \
710 checker->CheckNames[PthreadLockChecker::CK_##name] = \
716 REGISTER_CHECKER(PthreadLockChecker)