]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/atomic/test/fallback_api.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / atomic / test / fallback_api.cpp
CommitLineData
7c673cae
FG
1// Copyright (c) 2011 Helge Bahmann
2//
3// Distributed under the Boost Software License, Version 1.0.
4// See accompanying file LICENSE_1_0.txt or copy at
5// http://www.boost.org/LICENSE_1_0.txt)
6
7/* force fallback implementation using locks */
8#define BOOST_ATOMIC_FORCE_FALLBACK 1
9
10#include <boost/atomic.hpp>
11#include <boost/cstdint.hpp>
7c673cae
FG
12
13#include "api_test_helpers.hpp"
14
15int main(int, char *[])
16{
17 test_flag_api();
18
19 test_integral_api<char>();
20 test_integral_api<signed char>();
21 test_integral_api<unsigned char>();
22 test_integral_api<boost::uint8_t>();
23 test_integral_api<boost::int8_t>();
24 test_integral_api<short>();
25 test_integral_api<unsigned short>();
26 test_integral_api<boost::uint16_t>();
27 test_integral_api<boost::int16_t>();
28 test_integral_api<int>();
29 test_integral_api<unsigned int>();
30 test_integral_api<boost::uint32_t>();
31 test_integral_api<boost::int32_t>();
32 test_integral_api<long>();
33 test_integral_api<unsigned long>();
34 test_integral_api<boost::uint64_t>();
35 test_integral_api<boost::int64_t>();
36 test_integral_api<long long>();
37 test_integral_api<unsigned long long>();
38
39 test_pointer_api<int>();
40
41 test_enum_api();
42
43 test_struct_api<test_struct<boost::uint8_t> >();
44 test_struct_api<test_struct<boost::uint16_t> >();
45 test_struct_api<test_struct<boost::uint32_t> >();
46 test_struct_api<test_struct<boost::uint64_t> >();
47
48 // https://svn.boost.org/trac/boost/ticket/10994
49 test_struct_x2_api<test_struct_x2<boost::uint64_t> >();
50
51 // https://svn.boost.org/trac/boost/ticket/9985
52 test_struct_api<test_struct<double> >();
53
54 test_large_struct_api();
55
56 // Test that boost::atomic<T> only requires T to be trivially copyable.
57 // Other non-trivial constructors are allowed.
58 test_struct_with_ctor_api();
59
60 return boost::report_errors();
61}