• Home
  • Raw
  • Download

Lines Matching full:mutex

30 class LOCKABLE Mutex {  class
40 const Mutex& operator!() const { return *this; } in operator !()
48 MutexLock(Mutex *mu) EXCLUSIVE_LOCK_FUNCTION(mu);
49 MutexLock(Mutex *mu, bool adopt) EXCLUSIVE_LOCKS_REQUIRED(mu);
55 ReaderMutexLock(Mutex *mu) SHARED_LOCK_FUNCTION(mu);
56 ReaderMutexLock(Mutex *mu, bool adopt) SHARED_LOCKS_REQUIRED(mu);
62 ReleasableMutexLock(Mutex *mu) EXCLUSIVE_LOCK_FUNCTION(mu);
70 DoubleMutexLock(Mutex *mu1, Mutex *mu2)
141 Mutex sls_mu;
143 Mutex sls_mu2 __attribute__((acquired_after(sls_mu)));
151 Mutex mu;
253 // expected-warning{{releasing mutex 'sls_mu' that was not held}} in sls_fun_bad_1()
259 // expected-warning{{acquiring mutex 'sls_mu' that is already held}} in sls_fun_bad_2()
264 sls_mu.Lock(); // expected-note {{mutex acquired here}} in sls_fun_bad_3()
265 } // expected-warning{{mutex 'sls_mu' is still held at the end of function}} in sls_fun_bad_3()
269 sls_mu.Lock(); // expected-note{{mutex acquired here}} in sls_fun_bad_4()
271 sls_mu2.Lock(); // expected-note{{mutex acquired here}} in sls_fun_bad_4()
272 } // expected-warning{{mutex 'sls_mu' is not held on every path through here}} \ in sls_fun_bad_4()
273 // expected-warning{{mutex 'sls_mu2' is not held on every path through here}}
276 sls_mu.Lock(); // expected-note {{mutex acquired here}} in sls_fun_bad_5()
279 } // expected-warning{{mutex 'sls_mu' is not held on every path through here}} in sls_fun_bad_5()
283 sls_mu.Lock(); // expected-note {{mutex acquired here}} in sls_fun_bad_6()
292 expected-warning{{mutex 'sls_mu' is not held on every path through here}}\ in sls_fun_bad_6()
293 expected-warning{{releasing mutex 'sls_mu' that was not held}} in sls_fun_bad_6()
303 expected-warning{{expecting mutex 'sls_mu' to be held at start of each loop}} in sls_fun_bad_7()
306 sls_mu.Lock(); // expected-note {{mutex acquired here}} in sls_fun_bad_7()
312 sls_mu.Lock(); // expected-note{{mutex acquired here}} in sls_fun_bad_8()
315 … sls_mu.Unlock(); // expected-warning{{expecting mutex 'sls_mu' to be held at start of each loop}} in sls_fun_bad_8()
322 // expected-warning{{expecting mutex 'sls_mu' to be held at start of each loop}} \ in sls_fun_bad_9()
323 // expected-note{{mutex acquired here}} in sls_fun_bad_9()
329 sls_mu.Lock(); // expected-note 2{{mutex acquired here}} in sls_fun_bad_10()
330 …while(getBool()) { // expected-warning{{expecting mutex 'sls_mu' to be held at start of each loop… in sls_fun_bad_10()
333 } // expected-warning{{mutex 'sls_mu' is still held at the end of function}} in sls_fun_bad_10()
337 expected-warning{{expecting mutex 'sls_mu' to be held at start of each loop}} in sls_fun_bad_11()
338 sls_mu.Lock(); // expected-note {{mutex acquired here}} in sls_fun_bad_11()
341 // expected-warning{{releasing mutex 'sls_mu' that was not held}} in sls_fun_bad_11()
345 sls_mu.Lock(); // expected-note {{mutex acquired here}} in sls_fun_bad_12()
350 break; // expected-warning{{mutex 'sls_mu' is not held on every path through here}} in sls_fun_bad_12()
362 Mutex aa_mu;
379 // expected-warning{{releasing mutex 'aa_mu' that was not held}} in aa_fun_bad_1()
385 // expected-warning{{acquiring mutex 'aa_mu' that is already held}} in aa_fun_bad_2()
390 glock.globalLock(); // expected-note{{mutex acquired here}} in aa_fun_bad_3()
391 } // expected-warning{{mutex 'aa_mu' is still held at the end of function}} in aa_fun_bad_3()
397 Mutex wmu;
403 wmu.Lock(); // EXPECTED-NOTE {{mutex acquired here}} in WeirdMethods()
404 } // EXPECTED-WARNING {{mutex 'wmu' is still held at the end of function}} in WeirdMethods()
406 wmu.Lock(); // EXPECTED-NOTE {{mutex acquired here}} in ~WeirdMethods()
407 } // EXPECTED-WARNING {{mutex 'wmu' is still held at the end of function}} in ~WeirdMethods()
409 wmu.Lock(); // expected-note {{mutex acquired here}} in operator ++()
410 } // expected-warning {{mutex 'wmu' is still held at the end of function}} in operator ++()
412 wmu.Lock(); // expected-note {{mutex acquired here}} in operator int*()
414 } // expected-warning {{mutex 'wmu' is still held at the end of function}} in operator int*()
431 … // expected-warning {{writing variable 'pgb_field' requires holding mutex 'sls_mu2' exclusively}} in testFoo()
432 …*pgb_field = x; // expected-warning {{reading variable 'pgb_field' requires holding mutex 'sls_mu2… in testFoo()
433 …// expected-warning {{writing the value pointed to by 'pgb_field' requires holding mutex 'sls_mu' … in testFoo()
434 …x = *pgb_field; // expected-warning {{reading variable 'pgb_field' requires holding mutex 'sls_mu2… in testFoo()
435 …// expected-warning {{reading the value pointed to by 'pgb_field' requires holding mutex 'sls_mu'}} in testFoo()
436 …(*pgb_field)++; // expected-warning {{reading variable 'pgb_field' requires holding mutex 'sls_mu2… in testFoo()
437 …// expected-warning {{writing the value pointed to by 'pgb_field' requires holding mutex 'sls_mu' … in testFoo()
447 … // expected-warning {{writing variable 'gb_field' requires holding mutex 'sls_mu' exclusively}} in testFoo()
480 // expected-warning{{writing variable 'sls_guard_var' requires holding any mutex exclusively}} in gb_bad_0()
485 // expected-warning{{reading variable 'sls_guard_var' requires holding any mutex}} in gb_bad_1()
490 …// expected-warning {{writing variable 'sls_guardby_var' requires holding mutex 'sls_mu' exclusive… in gb_bad_2()
495 // expected-warning {{reading variable 'sls_guardby_var' requires holding mutex 'sls_mu'}} in gb_bad_3()
500 …// expected-warning {{writing the value pointed to by 'pgb_gvar' requires holding any mutex exclus… in gb_bad_4()
505 // expected-warning {{reading the value pointed to by 'pgb_gvar' requires holding any mutex}} in gb_bad_5()
510 …// expected-warning {{writing the value pointed to by 'pgb_var' requires holding mutex 'sls_mu' ex… in gb_bad_6()
515 … // expected-warning {{reading the value pointed to by 'pgb_var' requires holding mutex 'sls_mu'}} in gb_bad_7()
521 // expected-warning {{writing variable 'gb_field' requires holding mutex 'sls_mu'}} in gb_bad_8()
526 // expected-warning{{writing variable 'sls_guard_var' requires holding any mutex exclusively}} in gb_bad_9()
528 // expected-warning{{writing variable 'sls_guard_var' requires holding any mutex exclusively}} in gb_bad_9()
530 // expected-warning{{writing variable 'sls_guard_var' requires holding any mutex exclusively}} in gb_bad_9()
532 // expected-warning{{writing variable 'sls_guard_var' requires holding any mutex exclusively}} in gb_bad_9()
548 // expected-warning{{writing variable 'a' requires holding mutex 'mu' exclusively}} in test()
550 // expected-warning {{reading variable 'a' requires holding mutex 'mu'}} in test()
552 // expected-warning {{writing variable 'c' requires holding mutex 'mu' exclusively}} in test()
557 Mutex mu;
565 Mutex mu1_;
566 Mutex mu;
594 // expected-warning{{writing variable 'a' requires holding mutex 'fooB.mu' exclusively}} \ in late_bad_0()
600 Mutex mu; in late_bad_1()
605 // expected-warning{{reading the value pointed to by 'q' requires holding mutex 'b1.mu'}} in late_bad_1()
615 // expected-warning{{writing variable 'a' requires holding mutex 'BarA.Foo.mu' exclusively}} \ in late_bad_2()
624 …// expected-warning{{writing variable 'a' requires holding mutex 'BarA.FooPointer->mu' exclusively… in late_bad_3()
633 // expected-warning{{writing variable 'a' requires holding mutex 'BarA.Foo2.mu' exclusively}} \ in late_bad_4()
653 // expected-warning {{mutex 'sls_mu' is acquired exclusively and shared in the same scope}} in shared_fun_1()
657 // expected-note {{the other acquisition of mutex 'sls_mu' is here}} in shared_fun_1()
683 // expected-warning {{mutex 'sls_mu' is acquired exclusively and shared in the same scope}} in shared_fun_8()
686 // expected-note {{the other acquisition of mutex 'sls_mu' is here}} in shared_fun_8()
692 // expected-warning {{mutex 'sls_mu' is acquired exclusively and shared in the same scope}} in shared_bad_0()
696 // expected-note {{the other acquisition of mutex 'sls_mu' is here}} in shared_bad_0()
704 // expected-warning {{mutex 'sls_mu' is acquired exclusively and shared in the same scope}} in shared_bad_1()
707 // expected-note {{the other acquisition of mutex 'sls_mu' is here}} in shared_bad_1()
715 // expected-warning {{mutex 'sls_mu' is acquired exclusively and shared in the same scope}} in shared_bad_2()
718 // expected-note {{the other acquisition of mutex 'sls_mu' is here}} in shared_bad_2()
807 // expected-warning {{calling function 'aa_elr_fun' requires holding mutex 'aa_mu' exclusively}} in es_bad_0()
813 // expected-warning {{calling function 'aa_elr_fun' requires holding mutex 'aa_mu' exclusively}} in es_bad_1()
819 // expected-warning {{calling function 'aa_elr_fun_s' requires holding mutex 'aa_mu'}} in es_bad_2()
824 // expected-warning {{calling function 'test' requires holding mutex 'sls_mu' exclusively}} in es_bad_3()
829 // expected-warning {{calling function 'testShared' requires holding mutex 'sls_mu2'}} in es_bad_4()
835 // expected-warning {{calling function 'test' requires holding mutex 'sls_mu' exclusively}} in es_bad_5()
842 // expected-warning {{cannot call function 'le_fun' while mutex 'sls_mu' is held}} in es_bad_6()
849 // expected-warning {{cannot call function 'le_fun' while mutex 'sls_mu' is held}} in es_bad_7()
877 static Mutex mu1_;
896 Mutex mu;
903 Mutex mu1_ ACQUIRED_AFTER(mu);
930 Mutex mu1;
931 Mutex mu2 ACQUIRED_AFTER(mu1);
975 Mutex mu_;
991 Mutex *mu_;
1016 Mutex foo_mu_;
1022 Mutex bar_mu_ ACQUIRED_AFTER(foo->foo_mu_);
1089 Mutex mu;
1095 Mutex *mu1;
1096 Mutex *mu2;
1124 Mutex mu_;
1139 Mutex mu_;
1176 Mutex mu;
1195 Mutex mu_;
1225 Mutex mu1;
1226 Mutex mu2;
1239 Mutex mu_ ACQUIRED_AFTER(mu1);
1254 x = foo(); // expected-warning {{calling function 'foo' requires holding mutex 'mu2' exclusively}} in bar()
1268 f1.bar(); // expected-warning {{cannot call function 'bar' while mutex 'f1.mu_' is held}} in main()
1274 f2->bar(); // expected-warning {{cannot call function 'bar' while mutex 'f2->mu_' is held}} in main()
1293 Mutex mu1_;
1303 // expected-warning {{writing variable 'a_' requires holding mutex 'b2->mu1_' exclusively}} \ in func()
1314 Mutex mu;
1321 Mutex mu1_ ACQUIRED_AFTER(mu);
1333 …res = b1.a_ + b3->b_; // expected-warning {{reading variable 'a_' requires holding mutex 'b1.mu1_'… in func()
1334 // expected-warning {{writing variable 'res' requires holding mutex 'mu' exclusively}} \ in func()
1336 *p = i; // expected-warning {{reading variable 'p' requires holding mutex 'mu'}} \ in func()
1337 …// expected-warning {{writing the value pointed to by 'p' requires holding mutex 'mu' exclusively}} in func()
1338 b1.a_ = res + b3->b_; // expected-warning {{reading variable 'res' requires holding mutex 'mu'}} \ in func()
1339 // expected-warning {{writing variable 'a_' requires holding mutex 'b1.mu1_' exclusively}} \ in func()
1341 …b3->b_ = *b1.q; // expected-warning {{reading the value pointed to by 'q' requires holding mutex '… in func()
1343 b1.b_ = res; // expected-warning {{reading variable 'res' requires holding mutex 'mu'}} in func()
1344 x = res; // expected-warning {{reading variable 'res' requires holding mutex 'mu'}} in func()
1354 Mutex lock_;
1366 … // expected-warning {{calling function 'bar' requires holding mutex 'child->lock_' exclusively}} \ in Func()
1369 … // expected-warning {{writing variable 'a_' requires holding mutex 'child->lock_' exclusively}} \ in Func()
1393 Mutex lock_;
1407 …child->Func(new_foo); // expected-warning {{cannot call function 'Func' while mutex 'child->lock_'… in Func()
1433 Mutex mu1, mu2, mu3;
1446 f2(); // expected-warning {{cannot call function 'f2' while mutex 'mu1' is held}} \ in f1()
1447 // expected-warning {{cannot call function 'f2' while mutex 'mu2' is held}} in f1()
1455 …foo->f1(); // expected-warning {{calling function 'f1' requires holding mutex 'foo->mu2' exclusive… in func()
1456 … // expected-warning {{calling function 'f1' requires holding mutex 'foo->mu1' exclusively}} in func()
1466 Mutex mu_;
1479 …b->func1(); // expected-warning {{calling function 'func1' requires holding mutex 'b->mu_' exclusi… in main()
1481 b->func2(); // expected-warning {{cannot call function 'func2' while mutex 'b->mu_' is held}} in main()
1484 …c->func1(); // expected-warning {{calling function 'func1' requires holding mutex 'c->mu_' exclusi… in main()
1486 c->func2(); // expected-warning {{cannot call function 'func2' while mutex 'c->mu_' is held}} in main()
1495 Mutex mu;
1496 Mutex mu3;
1502 Mutex *mu1;
1503 Mutex *mu2;
1513 a.method1(1); // expected-warning {{calling function 'method1' requires holding mutex 'a.mu1'}} \ in main()
1514 // expected-warning {{calling function 'method1' requires holding mutex 'mu'}} \ in main()
1515 // expected-warning {{calling function 'method1' requires holding mutex 'a.mu2'}} \ in main()
1516 // expected-warning {{calling function 'method1' requires holding mutex 'mu3'}} in main()
1524 Mutex mu;
1559 dlr.lockData(d1); // expected-note {{mutex acquired here}} in bar3()
1561 // expected-warning {{releasing mutex 'd2->mu' that was not held}} in bar3()
1562 } // expected-warning {{mutex 'd1->mu' is still held at the end of function}} in bar3()
1568 // expected-warning {{calling function 'foo' requires holding mutex 'd2->mu' exclusively}} \ in bar4()
1578 Mutex fooMu;
1598 Mutex m;
1601 Mutex m;
1611 u->n = 0; // expected-warning {{reading variable 'u' requires holding mutex 'm'}} in DoNaughtyThings()
1612 return t->s->n; // expected-warning {{reading variable 's' requires holding mutex 't->m'}} in DoNaughtyThings()
1622 Mutex m;
1628 v.p->f(u); // expected-warning {{reading variable 'p' requires holding mutex 'v.m'}} in f()
1638 Mutex mu1;
1639 Mutex mu2;
1665 // expected-warning {{acquiring mutex 'mu1' that is already held}} in foo3()
1688 Mutex mu_;
1697 …foo(); // expected-warning {{calling function 'foo' requires holding mutex 'fooObj.mu_' exclusive… in bar()
1709 Mutex mu;
1773 a = 8; // expected-warning {{writing variable 'a' requires holding mutex 'mu' exclusively}} in foo8()
1799 … a = 10; // expected-warning {{writing variable 'a' requires holding mutex 'mu' exclusively}} in foo10()
1839 Mutex mu_;
1846 Mutex mu_;
1893 Mutex mu_;
1927 // expected-warning {{calling function 'barTD' requires holding mutex 'f1.mu_' exclusively}} \ in test()
1936 // expected-warning {{writing variable 'data' requires holding mutex 'cell.mu_' exclusively}} in test()
1966 Mutex mu_;
1967 static Mutex static_mu_;
1991 Mutex mu_;
2005 // expected-warning {{calling function 'foo1' requires holding mutex 'myfoo.mu_' exclusively}} in test()
2015 struct __attribute__((lockable)) mutex { struct
2022 mutex m;
2031 continue; // expected-warning {{expecting mutex 'm' to be held at start of each loop}} in test()
2035 m.lock(); // expected-note {{mutex acquired here}} in test()
2058 Mutex mu_;
2067 Mutex mu_;
2120 // expected-warning {{calling function 'foo2' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2122 // expected-warning {{calling function 'foo3' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2124 // expected-warning {{calling function 'fooT1' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2127 // expected-warning {{calling function 'fooT2' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2130 // expected-warning {{calling function 'fooF1' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2132 // expected-warning {{calling function 'fooF2' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2134 // expected-warning {{calling function 'fooF3' requires holding mutex 'myFoo.mu_' exclusively}} in test()
2150 // expected-warning {{calling function 'foo' requires holding mutex 'myFooT.mu_' exclusively}} in test()
2178 // expected-warning {{writing variable 'foo' requires holding mutex 'this' exclusively}} in test()
2185 Mutex mu_;
2208 Mutex* mutex_;
2221 Mutex mu_;
2243 // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in foo()
2245 // expected-warning {{writing variable 'b' requires holding mutex 'mu_' exclusively}} in foo()
2247 // expected-warning {{writing variable 'c' requires holding mutex 'mu_' exclusively}} in foo()
2251 Mutex mu_;
2274 Mutex mu_;
2343 …// expected-warning {{writing variable 'a' requires holding mutex 'bar.getFooey().mu_' exclusively… in test2()
2349 …// expected-warning {{writing variable 'a' requires holding mutex 'bar.getFoo2(b).mu_' exclusively… in test2()
2355 …// expected-warning {{writing variable 'a' requires holding mutex 'bar.getFoo3(a, c).mu_' exclusiv… in test2()
2361 …// expected-warning {{writing variable 'a' requires holding mutex 'getBarFoo(bar, b).mu_' exclusiv… in test2()
2367 …// expected-warning {{writing variable 'a' requires holding mutex '((0 < a) ? fooArray[b] : fooArr… in test2()
2379 Mutex mu;
2406 Mutex* getMu() LOCK_RETURNED(mu_);
2408 Mutex mu_;
2410 static Mutex* getMu(Foo* f) LOCK_RETURNED(f->mu_);
2416 …f1->a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'f1->mu_' exclu… in test1()
2417 …f1->foo(); // expected-warning {{calling function 'foo' requires holding mutex 'f1->mu_' exc… in test1()
2419 …f1->foo2(f2); // expected-warning {{calling function 'foo2' requires holding mutex 'f1->mu_' ex… in test1()
2420 … // expected-warning {{calling function 'foo2' requires holding mutex 'f2->mu_' exclusively}} in test1()
2421 …Foo::sfoo(f1); // expected-warning {{calling function 'sfoo' requires holding mutex 'f1->mu_' ex… in test1()
2428 // expected-warning {{calling function 'foo2' requires holding mutex 'f2->mu_' exclusively}} \ in test1()
2441 Mutex* getFooMu(Foo* f) LOCK_RETURNED(Foo::getMu(f));
2458 …b1->b = 0; // expected-warning {{writing variable 'b' requires holding mutex 'b1->mu_' exclu… in test2()
2459 …b1->bar(); // expected-warning {{calling function 'bar' requires holding mutex 'b1->mu_' exc… in test2()
2460 …b1->bar2(b2); // expected-warning {{calling function 'bar2' requires holding mutex 'b1->mu_' ex… in test2()
2461 … // expected-warning {{calling function 'bar2' requires holding mutex 'b2->mu_' exclusively}} in test2()
2462 …Bar::sbar(b1); // expected-warning {{calling function 'sbar' requires holding mutex 'b1->mu_' ex… in test2()
2463 …Bar::sbar2(b1); // expected-warning {{calling function 'sbar2' requires holding mutex 'b1->mu_' e… in test2()
2470 // expected-warning {{calling function 'bar2' requires holding mutex 'b2->mu_' exclusively}} \ in test2()
2485 // Sanity check -- lock the mutex directly, but use attributes that call getMu()
2486 // Also lock the mutex using getFooMu, which calls a lock_returned function.
2508 Mutex mu_;
2536 a = 1; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test3()
2542 rlock.Release(); // expected-warning {{releasing mutex 'mu_' that was not held}} in test4()
2551 rlock.Release(); // expected-warning {{releasing mutex 'mu_' that was not held}} in test5()
2562 Mutex mu1_;
2563 Mutex mu2_;
2592 Mutex mu_;
2616 Mutex mutex_;
2618 void foo1() EXCLUSIVE_LOCKS_REQUIRED(mutex_) { // expected-note {{mutex acquired here}} in foo1()
2620 } // expected-warning {{expecting mutex 'mutex_' to be held at the end of function}} in foo1()
2623 void foo2() SHARED_LOCKS_REQUIRED(mutex_) { // expected-note {{mutex acquired here}} in foo2()
2625 } // expected-warning {{expecting mutex 'mutex_' to be held at the end of function}} in foo2()
2636 WTF_ScopedLockable(Mutex* mu) EXCLUSIVE_LOCK_FUNCTION(mu);
2646 Mutex mu_;
2658 WTF_ScopedLockable wtf(&mu_); // expected-note {{mutex acquired here}} in test2()
2659 } // expected-warning {{mutex 'mu_' is still held at the end of function}} in test2()
2680 WTF_ScopedLockable wtf(&mu_); // expected-note {{mutex acquired here}} in test5()
2682 } // expected-warning {{mutex 'mu_' is not held on every path through here}} in test5()
2689 WTF_ScopedLockable wtf(&mu_); // expected-note {{mutex acquired here}} in test6()
2691 } // expected-warning {{mutex 'mu_' is not held on every path through here}} in test6()
2704 SmartPtr<Mutex> getMutexPtr();
2715 int b = a; // expected-warning {{reading variable 'a' requires holding mutex 'getMutexPtr()'}} in test()
2726 SmartPtr<Mutex> mu_;
2746 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test0()
2747 b = 0; // expected-warning {{writing variable 'b' requires holding mutex 'mu_' exclusively}} in test0()
2748 c = 0; // expected-warning {{writing variable 'c' requires holding mutex 'mu_' exclusively}} in test0()
2832 mu_.get()->Lock(); // expected-warning {{acquiring mutex 'mu_' that is already held}} in test8()
2833 (*mu_).Lock(); // expected-warning {{acquiring mutex 'mu_' that is already held}} in test8()
2835 Unlock(); // expected-warning {{releasing mutex 'mu_' that was not held}} in test8()
2850 …foo->a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'foo->mu_' e… in test0()
2851 …(*foo).b = 0; // expected-warning {{writing variable 'b' requires holding mutex 'foo->mu_' e… in test0()
2852 …foo.get()->c = 0; // expected-warning {{writing variable 'c' requires holding mutex 'foo->mu_' e… in test0()
2889 Mutex mu1_;
2890 Mutex mu2_;
2891 Mutex mu3_;
2966 foo.lock(); // expected-warning {{acquiring mutex 'foo' that is already held}} in test0()
2968 foo.unlock(); // expected-warning {{releasing mutex 'foo' that was not held}} in test0()
2979 foo.lock1(); // expected-warning {{acquiring mutex 'foo.mu1_' that is already held}} in test1()
2982 foo.unlock1(); // expected-warning {{releasing mutex 'foo.mu1_' that was not held}} in test1()
2993 foo.slock1(); // expected-warning {{acquiring mutex 'foo.mu1_' that is already held}} in test2()
2996 foo.unlock1(); // expected-warning {{releasing mutex 'foo.mu1_' that was not held}} in test2()
3011 // expected-warning {{acquiring mutex 'foo.mu1_' that is already held}} \ in test3()
3012 // expected-warning {{acquiring mutex 'foo.mu2_' that is already held}} \ in test3()
3013 // expected-warning {{acquiring mutex 'foo.mu3_' that is already held}} in test3()
3019 // expected-warning {{releasing mutex 'foo.mu1_' that was not held}} \ in test3()
3020 // expected-warning {{releasing mutex 'foo.mu2_' that was not held}} \ in test3()
3021 // expected-warning {{releasing mutex 'foo.mu3_' that was not held}} in test3()
3035 // expected-warning {{acquiring mutex 'foo.mu1_' that is already held}} \ in testlots()
3036 // expected-warning {{acquiring mutex 'foo.mu2_' that is already held}} \ in testlots()
3037 // expected-warning {{acquiring mutex 'foo.mu3_' that is already held}} in testlots()
3043 // expected-warning {{releasing mutex 'foo.mu1_' that was not held}} \ in testlots()
3044 // expected-warning {{releasing mutex 'foo.mu2_' that was not held}} \ in testlots()
3045 // expected-warning {{releasing mutex 'foo.mu3_' that was not held}} in testlots()
3055 Mutex mu_;
3060 Mutex* tryLockMutexP() EXCLUSIVE_TRYLOCK_FUNCTION(1, mu_);
3070 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test1()
3092 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test1()
3099 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test1()
3111 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test1()
3122 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test1()
3127 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test1()
3142 Mutex mu_;
3163 …n1.a = 0; // expected-warning {{writing variable 'a' requires holding mutex '&ExistentialPattern… in test()
3164 …n1.foo(); // expected-warning {{calling function 'foo' requires holding mutex '&ExistentialPatte… in test()
3170 …n1.foo2(); // expected-warning {{cannot call function 'foo2' while mutex '&ExistentialPatternMatc… in test()
3176 …n1.foo2(); // expected-warning {{cannot call function 'foo2' while mutex '&ExistentialPatternMatc… in test()
3182 …n1.foo2(); // expected-warning {{cannot call function 'foo2' while mutex '&ExistentialPatternMatc… in test()
3192 g1.mu_.Lock(); // expected-warning {{acquiring mutex 'g1.mu_' that is already held}} in test()
3203 Mutex mu_;
3231 const Mutex& getLock(const Inner* i);
3242 Mutex lock_;
3247 const Mutex& Base::getLock(const Inner* i) LOCK_RETURNED(i->lock_) { in getLock()
3273 Mutex mu_;
3293 Mutex mu_;
3320 // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test2()
3322 // expected-warning {{releasing mutex '*' that was not held}} in test2()
3370 Mutex* get_mutex() LOCK_RETURNED(mutex_) { return &mutex_; } in get_mutex()
3372 Mutex mutex_;
3391 Mutex mu_;
3430 static Mutex mu_;
3440 static Mutex mu_;
3450 …Foo f; // expected-warning {{calling function 'Foo' requires holding mutex 'mu_' exclusi… in test1()
3451 …int a = f[0]; // expected-warning {{calling function 'operator[]' requires holding mutex 'mu_' … in test1()
3452 } // expected-warning {{calling function '~Foo' requires holding mutex 'mu_' exclu… in test1()
3458 Bar b; // expected-warning {{cannot call function 'Bar' while mutex 'mu_' is held}} in test2()
3459 … int a = b[0]; // expected-warning {{cannot call function 'operator[]' while mutex 'mu_' is held}} in test2()
3460 } // expected-warning {{cannot call function '~Bar' while mutex 'mu_' is held}} in test2()
3478 Mutex fatalmu_;
3510 virtual Mutex* getMutex() = 0;
3515 Mutex* getMutex();
3520 Mutex* getMutex();
3525 Mutex* getMutex(); // overrides Base::getMutex()
3542 Mutex* mu_;
3559 // expected-warning {{calling function 'elr' requires holding mutex 'cell.mu_' exclusively}} in test()
3572 … // expected-warning {{calling function 'globalELR' requires holding mutex 'cell.mu_' exclusively}} in globalTest()
3593 …// expected-warning {{calling function 'globalELR2' requires holding mutex 'cell.mu_' exclusively}} in globalTest2()
3610 // expected-warning {{calling function 'elr' requires holding mutex 'cell.mu_' exclusively}} in testFooT()
3625 Mutex mu_;
3653 Mutex mu1_;
3654 Mutex mu2_;
3798 // expected-warning {{reading variable 'data_' requires holding mutex 'mu_'}} in test()
3800 // expected-warning {{reading variable 'data_' requires holding mutex 'mu_'}} in test()
3803 // expected-warning {{reading variable 'datap1_' requires holding mutex 'mu_'}} in test()
3805 // expected-warning {{reading variable 'datap1_' requires holding mutex 'mu_'}} in test()
3808 // expected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test()
3810 // expected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test()
3813 // expected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test()
3815 // expected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test()
3833 …data_ = Data(1); // expected-warning {{writing variable 'data_' requires holding mutex 'mu_' … in test2()
3834 …*datap1_ = data_; // expected-warning {{reading variable 'datap1_' requires holding mutex 'mu_… in test2()
3835 … // expected-warning {{reading variable 'data_' requires holding mutex 'mu_'}} in test2()
3836 …cted-warning {{writing the value pointed to by 'datap2_' requires holding mutex 'mu_' exclusively}… in test2()
3837 … // expected-warning {{reading variable 'data_' requires holding mutex 'mu_'}} in test2()
3838 …data_ = *datap1_; // expected-warning {{writing variable 'data_' requires holding mutex 'mu_' … in test2()
3839 … // expected-warning {{reading variable 'datap1_' requires holding mutex 'mu_'}} in test2()
3840 …data_ = *datap2_; // expected-warning {{writing variable 'data_' requires holding mutex 'mu_' … in test2()
3841 … // expected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test2()
3843 …data_[0] = 0; // expected-warning {{reading variable 'data_' requires holding mutex 'mu_'}} in test2()
3844 …; // expected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test2()
3846 …data_(); // expected-warning {{reading variable 'data_' requires holding mutex 'mu_'}} in test2()
3851 …Data mydat(data_); // expected-warning {{reading variable 'data_' requires holding mutex 'mu_… in test3()
3854 …//showDataCell(data_); // xpected-warning {{reading variable 'data_' requires holding mutex 'mu… in test3()
3855 …p2_); // xpected-warning {{reading the value pointed to by 'datap2_' requires holding mutex 'mu_'}} in test3()
3857 …int a = data_[0]; // expected-warning {{reading variable 'data_' requires holding mutex 'mu_… in test3()
3861 Mutex mu_;
3890 Mutex cell_mu_;
3896 Mutex mu_;
3901 foo.myMethod(); // expected-warning {{reading variable 'foo' requires holding mutex 'mu_'}} in test()
3903 int fa = foo.a; // expected-warning {{reading variable 'foo' requires holding mutex 'mu_'}} in test()
3904 …foo.a = fa; // expected-warning {{writing variable 'foo' requires holding mutex 'mu_' exc… in test()
3906 … // expected-warning {{reading the value pointed to by 'foop' requires holding mutex 'mu_'}} in test()
3907 …xpected-warning {{writing the value pointed to by 'foop' requires holding mutex 'mu_' exclusively}} in test()
3909 …a; // expected-warning {{reading the value pointed to by 'foop' requires holding mutex 'mu_'}} in test()
3910 …xpected-warning {{writing the value pointed to by 'foop' requires holding mutex 'mu_' exclusively}} in test()
3912 … foo.c = Cell(0); // expected-warning {{writing variable 'foo' requires holding mutex 'mu_'}} \ in test()
3913 … // expected-warning {{writing variable 'c' requires holding mutex 'foo.cell_mu_' exclusively}} in test()
3914 … foo.c.cellMethod(); // expected-warning {{reading variable 'foo' requires holding mutex 'mu_'}} \ in test()
3915 … // expected-warning {{reading variable 'c' requires holding mutex 'foo.cell_mu_'}} in test()
3917 …); // expected-warning {{writing the value pointed to by 'foop' requires holding mutex 'mu_'}} \ in test()
3918 … // expected-warning {{writing variable 'c' requires holding mutex 'foop->cell_mu_' exclusively}} in test()
3919 …d(); // expected-warning {{reading the value pointed to by 'foop' requires holding mutex 'mu_'}} \ in test()
3920 … // expected-warning {{reading variable 'c' requires holding mutex 'foop->cell_mu_'}} in test()
3922 …); // expected-warning {{writing the value pointed to by 'foop' requires holding mutex 'mu_'}} \ in test()
3923 … // expected-warning {{writing variable 'c' requires holding mutex 'foop->cell_mu_' exclusively}} in test()
3924 …d(); // expected-warning {{reading the value pointed to by 'foop' requires holding mutex 'mu_'}} \ in test()
3925 … // expected-warning {{reading variable 'c' requires holding mutex 'foop->cell_mu_'}} in test()
3935 Mutex mu_;
3955 static inline Mutex* getMutex1();
3956 static inline Mutex* getMutex2();
3975 Mutex mu_;
3995 void lockBad() EXCLUSIVE_LOCK_FUNCTION(mu_) { // expected-note {{mutex acquired here}} in lockBad()
3998 } // expected-warning {{expecting mutex 'mu_' to be held at the end of function}} in lockBad()
4000 void readerLockBad() SHARED_LOCK_FUNCTION(mu_) { // expected-note {{mutex acquired here}} in readerLockBad()
4003 } // expected-warning {{expecting mutex 'mu_' to be held at the end of function}} in readerLockBad()
4005 void unlockBad() UNLOCK_FUNCTION(mu_) { // expected-note {{mutex acquired here}} in unlockBad()
4008 } // expected-warning {{mutex 'mu_' is still held at the end of function}} in unlockBad()
4011 void lockBad2() EXCLUSIVE_LOCK_FUNCTION(mu_) { // expected-note {{mutex acquired here}} in lockBad2()
4012 mu2_.Lock(); // expected-note {{mutex acquired here}} in lockBad2()
4013 } // expected-warning {{expecting mutex 'mu_' to be held at the end of function}} \ in lockBad2()
4014 // expected-warning {{mutex 'mu2_' is still held at the end of function}}
4017 void readerLockBad2() SHARED_LOCK_FUNCTION(mu_) { // expected-note {{mutex acquired here}} in readerLockBad2()
4018 mu2_.ReaderLock(); // expected-note {{mutex acquired here}} in readerLockBad2()
4019 } // expected-warning {{expecting mutex 'mu_' to be held at the end of function}} \ in readerLockBad2()
4020 // expected-warning {{mutex 'mu2_' is still held at the end of function}}
4023 void unlockBad2() UNLOCK_FUNCTION(mu_) { // expected-note {{mutex acquired here}} in unlockBad2()
4024 mu2_.Unlock(); // expected-warning {{releasing mutex 'mu2_' that was not held}} in unlockBad2()
4025 } // expected-warning {{mutex 'mu_' is still held at the end of function}} in unlockBad2()
4028 Mutex mu_;
4029 Mutex mu2_;
4041 Mutex mu_;
4052 a = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu_' exclusively}} in test2()
4111 mu_.Lock(); // expected-note {{mutex acquired here}} in test9()
4113 } // expected-warning {{mutex 'mu_' is still held at the end of function}} in test9()
4117 mu_.Lock(); // expected-note {{mutex acquired here}} in test10()
4122 } // expected-warning {{mutex 'mu_' is still held at the end of function}} in test10()
4140 Mutex mu;
4238 Mutex mu1;
4239 Mutex mu2;
4259 …ng(); // expected-warning {{reading the value pointed to by 'a' requires holding mutex 'mu2'}} in test2()
4260 …/ expected-warning {{writing the value pointed to by 'a' requires holding mutex 'mu2' exclusively}} in test2()
4262 …hing(); // expected-warning {{reading the value pointed to by 'c' requires holding mutex 'mu2'}} in test2()
4263 …/ expected-warning {{writing the value pointed to by 'c' requires holding mutex 'mu2' exclusively}} in test2()
4265 …ething(); // expected-warning {{reading the value pointed to by 'c' requires holding mutex 'mu2'}} in test2()
4266 …/ expected-warning {{writing the value pointed to by 'c' requires holding mutex 'mu2' exclusively}} in test2()
4268 …ing(); // expected-warning {{reading the value pointed to by 'a' requires holding mutex 'mu2'}} in test2()
4269 …/ expected-warning {{writing the value pointed to by 'a' requires holding mutex 'mu2' exclusively}} in test2()
4270 …thing(); // expected-warning {{reading the value pointed to by 'c' requires holding mutex 'mu2'}} in test2()
4271 …/ expected-warning {{writing the value pointed to by 'c' requires holding mutex 'mu2' exclusively}} in test2()
4277 …== 0) doSomething(); // expected-warning {{reading variable 'a' requires holding mutex 'mu1'}} in test3()
4278 … // expected-warning {{reading variable 'a' requires holding mutex 'mu1'}} in test3()
4280 …a == 0) doSomething(); // expected-warning {{reading variable 'c' requires holding mutex 'mu1'}} in test3()
4281 …0; // expected-warning {{reading variable 'c' requires holding mutex 'mu1'}} in test3()
4283 …).a == 0) doSomething(); // expected-warning {{reading variable 'c' requires holding mutex 'mu1'}} in test3()
4284 …= 0; // expected-warning {{reading variable 'c' requires holding mutex 'mu1'}} in test3()
4286 …== 42) doSomething(); // expected-warning {{reading variable 'a' requires holding mutex 'mu1'}} in test3()
4287 …; // expected-warning {{reading variable 'a' requires holding mutex 'mu1'}} in test3()
4288 …a == 42) doSomething(); // expected-warning {{reading variable 'c' requires holding mutex 'mu1'}} in test3()
4289 …57; // expected-warning {{reading variable 'c' requires holding mutex 'mu1'}} in test3()
4294 …= 42) doSomething(); // expected-warning {{reading variable 'sa' requires holding mutex 'mu1'}} in test4()
4295 … // expected-warning {{writing variable 'sa' requires holding mutex 'mu1' exclusively}} in test4()
4296 … == 42) doSomething(); // expected-warning {{reading variable 'sc' requires holding mutex 'mu1'}} in test4()
4297 … // expected-warning {{writing variable 'sc' requires holding mutex 'mu1' exclusively}} in test4()
4299 …42) doSomething(); // expected-warning {{reading variable 'sa' requires holding mutex 'mu1'}} in test4()
4300 … // expected-warning {{writing variable 'sa' requires holding mutex 'mu1' exclusively}} in test4()
4301 … == 42) doSomething(); // expected-warning {{reading variable 'sc' requires holding mutex 'mu1'}} in test4()
4302 … // expected-warning {{writing variable 'sc' requires holding mutex 'mu1' exclusively}} in test4()
4303 …= 42) doSomething(); // expected-warning {{reading variable 'sc' requires holding mutex 'mu1'}} in test4()
4304 … // expected-warning {{writing variable 'sc' requires holding mutex 'mu1' exclusively}} in test4()
4325 Mutex mu1;
4326 Mutex mu2;
4349 …(); // expected-warning {{reading variable 'sp' requires holding mutex 'mu1'}} in test2()
4350 …p == 0) doSomething(); // expected-warning {{reading variable 'sp' requires holding mutex 'mu1'}} in test2()
4351 …0; // expected-warning {{reading variable 'sp' requires holding mutex 'mu1'}} in test2()
4352 …= 0; // expected-warning {{reading variable 'sq' requires holding mutex 'mu1'}} in test2()
4354 …] == 0) doSomething(); // expected-warning {{reading variable 'sp' requires holding mutex 'mu1'}} in test2()
4355 …0; // expected-warning {{reading variable 'sp' requires holding mutex 'mu1'}} in test2()
4356 …].a == 0) doSomething(); // expected-warning {{reading variable 'sq' requires holding mutex 'mu1'}} in test2()
4357 …= 0; // expected-warning {{reading variable 'sq' requires holding mutex 'mu1'}} in test2()
4366 …hing(); // expected-warning {{reading the value pointed to by 'sp' requires holding mutex 'mu2'}} in test3()
4367 … // expected-warning {{reading the value pointed to by 'sp' requires holding mutex 'mu2'}} in test3()
4368 … // expected-warning {{reading the value pointed to by 'sq' requires holding mutex 'mu2'}} in test3()
4370 …hing(); // expected-warning {{reading the value pointed to by 'sp' requires holding mutex 'mu2'}} in test3()
4371 … // expected-warning {{reading the value pointed to by 'sp' requires holding mutex 'mu2'}} in test3()
4372 …ething(); // expected-warning {{reading the value pointed to by 'sq' requires holding mutex 'mu2'}} in test3()
4373 … // expected-warning {{reading the value pointed to by 'sq' requires holding mutex 'mu2'}} in test3()
4386 …(RunHelper)(); // expected-warning {{calling function 'RunHelper' requires holding mutex 'M' excl… in Run()
4390 Mutex M;
4413 Mutex mu_;
4430 …func1(); // expected-warning {{calling function 'operator()' requires holding mutex 'mu_' exclusi… in test()
4446 Mutex* getMu() LOCK_RETURNED("");
4447 Mutex* getUniv() LOCK_RETURNED("*");
4457 void foo(Mutex* mu) EXCLUSIVE_LOCKS_REQUIRED(mu);
4466 struct MuCell { Mutex* mu; };
4468 MyMap<MyString, Mutex*> map;
4489 SmartPtr<Mutex> mu;
4494 … (a.val == b.val); // expected-warning {{reading variable 'val' requires holding mutex 'b.mu'}} \ in compare()
4503 SmartPtr<Mutex> mu;
4553 Mutex* getMutex(Opaque* o) LOCK_RETURNED("");
4565 Mutex mu;
4578 Mutex mu;
4584 baz(); // expected-warning {{cannot call function 'baz' while mutex 'mu' is held}} in foo()
4630 …dispatch_log("wrong"); /* expected-warning {{cannot call function 'dispatch_log' while mutex 'Flig… in flight_control_entry()
4673 Mutex mu;
4693 Mutex mu;
4700 int b = a; // expected-warning {{reading variable 'a' requires holding mutex 'mu'}} in nonref_test()
4705 auto b = a; // expected-warning {{reading variable 'a' requires holding mutex 'mu'}} in auto_test()
4708 …c = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu' excl… in auto_test()
4715 …b = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu' excl… in ref_test()
4716 …c = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu' excl… in ref_test()
4717 …d = 0; // expected-warning {{writing variable 'a' requires holding mutex 'mu' excl… in ref_test()
4720 …rs.a = 0; // expected-warning {{writing variable 's' requires holding mutex 'mu' excl… in ref_test()
4723 …rarr[2] = 0; // expected-warning {{writing variable 'arr' requires holding mutex 'mu' ex… in ref_test()
4733 …for (int i : cntr) { // expected-warning2 {{reading variable 'cntr' requires holding mutex 'mu'}} in for_test()
4778 Mutex mu;
4799 … copy(foo); // expected-warning {{reading variable 'foo' requires holding mutex 'mu'}} in test1()
4800 …; // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4801 …foo); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4802 … // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4803 …oo); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4804 …ove(foo)); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4806 …; // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4807 …foo); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4808 … // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4809 …oo); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4811 …; // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4812 …foo); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4813 … // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4814 …oo); // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4816 …foo + foo2; // expected-warning {{reading variable 'foo' requires holding mutex 'mu'}… in test1()
4817 … // expected-warning {{passing variable 'foo2' by reference requires holding mutex 'mu'}} in test1()
4818 …foo / foo2; // expected-warning {{reading variable 'foo' requires holding mutex 'mu'}… in test1()
4819 … // expected-warning {{passing variable 'foo2' by reference requires holding mutex 'mu'}} in test1()
4820 …foo * foo2; // expected-warning {{reading variable 'foo' requires holding mutex 'mu'}… in test1()
4821 … // expected-warning {{passing variable 'foo2' by reference requires holding mutex 'mu'}} in test1()
4822 …foo[foo2]; // expected-warning {{reading variable 'foo' requires holding mutex 'mu'}… in test1()
4823 … // expected-warning {{passing variable 'foo2' by reference requires holding mutex 'mu'}} in test1()
4824 …o; // expected-warning {{passing variable 'foo' by reference requires holding mutex 'mu'}} in test1()
4826 … // expected-warning {{reading the value pointed to by 'foop' requires holding mutex 'mu'}} in test1()
4827 …pected-warning {{passing the value that 'foop' points to by reference requires holding mutex 'mu'}} in test1()
4828 …pected-warning {{passing the value that 'foop' points to by reference requires holding mutex 'mu'}} in test1()
4829 …pected-warning {{passing the value that 'foop' points to by reference requires holding mutex 'mu'}} in test1()
4830 …pected-warning {{passing the value that 'foop' points to by reference requires holding mutex 'mu'}} in test1()
4831 …pected-warning {{passing the value that 'foop' points to by reference requires holding mutex 'mu'}} in test1()
4833 … // expected-warning {{reading the value pointed to by 'foosp' requires holding mutex 'mu'}} in test1()
4834 … // expected-warning {{reading the value pointed to by 'foosp' requires holding mutex 'mu'}} in test1()
4835 …; // expected-warning {{reading the value pointed to by 'foosp' requires holding mutex 'mu'}} in test1()
4836 … // expected-warning {{reading the value pointed to by 'foosp' requires holding mutex 'mu'}} in test1()
4837 … // expected-warning {{reading the value pointed to by 'foosp' requires holding mutex 'mu'}} in test1()
4838 …osp)); // expected-warning {{reading the value pointed to by 'foosp' requires holding mutex 'mu'}} in test1()
4857 Mutex mu1 ACQUIRED_BEFORE(mu2, mu3);
4858 Mutex mu2;
4859 Mutex mu3;
4873 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu2'}} in test2()
4880 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu3'}} in test3()
4891 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu2'}} in test5()
4906 Mutex mu1;
4907 Mutex mu2 ACQUIRED_AFTER(mu1);
4908 Mutex mu3 ACQUIRED_AFTER(mu1);
4922 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu2'}} in test2()
4929 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu3'}} in test3()
4937 Mutex mu1 ACQUIRED_BEFORE(mu2);
4938 Mutex mu2;
4939 Mutex mu3 ACQUIRED_AFTER(mu2) ACQUIRED_BEFORE(mu4);
4940 Mutex mu4;
4956 mu2.Lock(); // expected-warning {{mutex 'mu2' must be acquired before 'mu4'}} in test2()
4964 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu4'}} in test3()
4972 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu3'}} in test4()
4982 Mutex mu1;
4983 Mutex mu2 ACQUIRED_AFTER(mu1);
4984 Mutex mu3 ACQUIRED_AFTER(mu1);
4985 Mutex mu4 ACQUIRED_AFTER(mu2, mu3);
4986 Mutex mu5 ACQUIRED_AFTER(mu4);
4987 Mutex mu6 ACQUIRED_AFTER(mu4);
4988 Mutex mu7 ACQUIRED_AFTER(mu5, mu6);
4989 Mutex mu8 ACQUIRED_AFTER(mu7);
4993 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu8'}} in test()
5002 Mutex mu1 ACQUIRED_BEFORE(mu2, mu3);
5003 Mutex mu2 ACQUIRED_BEFORE(mu4);
5004 Mutex mu3 ACQUIRED_BEFORE(mu4);
5005 Mutex mu4 ACQUIRED_BEFORE(mu5, mu6);
5006 Mutex mu5 ACQUIRED_BEFORE(mu7);
5007 Mutex mu6 ACQUIRED_BEFORE(mu7);
5008 Mutex mu7 ACQUIRED_BEFORE(mu8);
5009 Mutex mu8;
5013 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu8'}} in test()
5021Mutex mu1 ACQUIRED_AFTER(mu3); // expected-warning {{Cycle in acquired_before/after dependenci…
5022Mutex mu2 ACQUIRED_AFTER(mu1); // expected-warning {{Cycle in acquired_before/after dependenci…
5023Mutex mu3 ACQUIRED_AFTER(mu2); // expected-warning {{Cycle in acquired_before/after dependenci…
5025Mutex mu_b ACQUIRED_BEFORE(mu_b); // expected-warning {{Cycle in acquired_before/after dependenci…
5026Mutex mu_a ACQUIRED_AFTER(mu_a); // expected-warning {{Cycle in acquired_before/after dependenci…
5066 Mutex mu;
5080 void test3() EXCLUSIVE_LOCKS_REQUIRED(mu) { // expected-note {{mutex acquired here}} in test3()
5083 } // expected-warning {{expecting mutex 'mu' to be held at the end of function}} in test3()
5085 void test4() SHARED_LOCKS_REQUIRED(mu) { // expected-note {{mutex acquired here}} in test4()
5088 } // expected-warning {{expecting mutex 'mu' to be held at the end of function}} in test4()
5124 Mutex mu;
5150 Mutex mu1;
5151 Mutex mu2 ACQUIRED_AFTER(mu1);
5155 mu1.Lock(); // expected-warning {{mutex 'mu1' must be acquired before 'mu2'}} in test3()
5178 muun1.Lock(); // expected-warning {{mutex 'muun1' must be acquired before 'muun2'}} in test()
5189 } // expected-warning {{mutex 'lock_' is still held at the end of function}} in WaitUntilSpaceAvailable()
5190 Mutex lock_ ACQUIRED_BEFORE("");