2 // { dg-additional-options "-pthread" { target pthread } }
3 // { dg-require-effective-target c++11 }
4 // { dg-require-gthreads "" }
7 #include <testsuite_hooks.h>
15 bool try_lock() { return ++tries
!= 2; }
18 int Lockable::tries
= 0;
25 VERIFY( std::try_lock(l1
, l2
, l3
) == 1 );
26 VERIFY( Lockable::tries
== 2 );
29 VERIFY( std::try_lock(m1
, l1
, l2
, l3
) == 2 );
30 VERIFY( Lockable::tries
== 2 );
33 VERIFY( std::try_lock(l1
, l2
, l3
, m1
) == 1 );
34 VERIFY( Lockable::tries
== 2 );
37 VERIFY( std::try_lock(m1
, l1
, l2
, l3
, m2
) == 2 );
38 VERIFY( Lockable::tries
== 2 );