19 lines · c
1// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.fuchsia.Lock -verify %s2// expected-no-diagnostics3typedef int spin_lock_t;4 5void spin_lock(spin_lock_t *lock);6int getCond(void);7int spin_trylock(spin_lock_t *lock) {8 if (getCond())9 return 0;10 return -1;11}12void spin_unlock(spin_lock_t *lock);13 14spin_lock_t mtx;15void no_crash(void) {16 if (spin_trylock(&mtx) == 0)17 spin_unlock(&mtx);18}19