// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.fuchsia.Lock -verify %s | |
// expected-no-diagnostics | |
typedef int spin_lock_t; | |
void spin_lock(spin_lock_t *lock); | |
int getCond(); | |
int spin_trylock(spin_lock_t *lock) { | |
if (getCond()) | |
return 0; | |
return -1; | |
} | |
void spin_unlock(spin_lock_t *lock); | |
spin_lock_t mtx; | |
void no_crash() { | |
if (spin_trylock(&mtx) == 0) | |
spin_unlock(&mtx); | |
} |