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