]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/assert/test/assert_is_void_test.cpp
2 // assert_is_void_test.cpp - tests BOOST_ASSERT_IS_VOID
4 // Copyright (c) 2015 Ion Gaztanaga
6 // Distributed under the Boost Software License, Version 1.0.
7 // See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt
11 #include <boost/config.hpp>
13 // default case, !NDEBUG
14 // BOOST_ASSERT(x) -> assert(x)
17 #include <boost/assert.hpp>
19 #ifdef BOOST_ASSERT_IS_VOID
20 #error "BOOST_ASSERT should NOT be void if NDEBUG is not defined"
23 // default case, NDEBUG
24 // BOOST_ASSERT(x) -> assert(x)
27 #include <boost/assert.hpp>
29 #ifndef BOOST_ASSERT_IS_VOID
30 #error "Error: BOOST_ASSERT should be void in NDEBUG"
33 // BOOST_DISABLE_ASSERTS, !NDEBUG
34 // BOOST_ASSERT(x) -> ((void)0)
36 #define BOOST_DISABLE_ASSERTS
39 #include <boost/assert.hpp>
41 #ifndef BOOST_ASSERT_IS_VOID
42 #error "Error: BOOST_ASSERT should be void with BOOST_DISABLE_ASSERTS"
45 // BOOST_DISABLE_ASSERTS, NDEBUG
46 // BOOST_ASSERT(x) -> ((void)0)
49 #include <boost/assert.hpp>
51 #ifndef BOOST_ASSERT_IS_VOID
52 #error "Error: BOOST_ASSERT should be void with BOOST_DISABLE_ASSERTS and NDEBUG"
55 #undef BOOST_DISABLE_ASSERTS
57 // BOOST_ENABLE_ASSERT_HANDLER, !NDEBUG
58 // BOOST_ASSERT(expr) -> (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
60 #define BOOST_ENABLE_ASSERT_HANDLER
63 #include <boost/assert.hpp>
65 #ifdef BOOST_ASSERT_IS_VOID
66 #error "Error: BOOST_ASSERT should NOT be void with BOOST_ENABLE_ASSERT_HANDLER"
69 // BOOST_ENABLE_ASSERT_HANDLER, NDEBUG
70 // BOOST_ASSERT(expr) -> (BOOST_LIKELY(!!(expr))? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
73 #include <boost/assert.hpp>
75 #ifdef BOOST_ASSERT_IS_VOID
76 #error "Error: BOOST_ASSERT should NOT be void with BOOST_ENABLE_ASSERT_HANDLER"
79 #undef BOOST_ENABLE_ASSERT_HANDLER
81 // BOOST_ENABLE_ASSERT_DEBUG_HANDLER, !NDEBUG
82 // same as BOOST_ENABLE_ASSERT_HANDLER
84 #define BOOST_ENABLE_ASSERT_DEBUG_HANDLER
87 #include <boost/assert.hpp>
89 #ifdef BOOST_ASSERT_IS_VOID
90 #error "Error: BOOST_ASSERT should NOT be void with BOOST_ENABLE_ASSERT_DEBUG_HANDLER and !NDEBUG"
93 // BOOST_ENABLE_ASSERT_DEBUG_HANDLER, NDEBUG
94 // BOOST_ASSERT(x) -> ((void)0)
97 #include <boost/assert.hpp>
99 #ifndef BOOST_ASSERT_IS_VOID
100 #error "Error: BOOST_ASSERT should be void with BOOST_ENABLE_ASSERT_DEBUG_HANDLER and NDEBUG"
103 #undef BOOST_ENABLE_ASSERT_DEBUG_HANDLER