Apply patch for [CVE-2012-2677][boost] ordered_malloc() overflow
[external/boost.git] / libs / smart_ptr / test / atomic_count_test.cpp
1 //
2 // atomic_count_test.cpp
3 //
4 // Copyright 2005 Peter Dimov
5 //
6 // Distributed under the Boost Software License, Version 1.0. (See
7 // accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 //
10
11 #include <boost/detail/atomic_count.hpp>
12 #include <boost/detail/lightweight_test.hpp>
13
14 int main()
15 {
16     boost::detail::atomic_count n( 4 );
17
18     BOOST_TEST( n == 4L );
19
20     ++n;
21
22     BOOST_TEST( n == 5L );
23     BOOST_TEST( --n != 0L );
24
25     boost::detail::atomic_count m( 0 );
26
27     BOOST_TEST( m == 0 );
28
29     ++m;
30
31     BOOST_TEST( m == 1 );
32
33     ++m;
34
35     BOOST_TEST( m == 2 );
36     BOOST_TEST( --m != 0 );
37     BOOST_TEST( --m == 0 );
38
39     return boost::report_errors();
40 }