]>
Commit | Line | Data |
---|---|---|
1 | // (C) Copyright Gennadiy Rozental 2001. | |
2 | // Distributed under the Boost Software License, Version 1.0. | |
3 | // (See accompanying file LICENSE_1_0.txt or copy at | |
4 | // http://www.boost.org/LICENSE_1_0.txt) | |
5 | ||
6 | // See http://www.boost.org/libs/test for the library home page. | |
7 | // | |
8 | //!@file | |
9 | //!@brief a central place for global configuration switches | |
10 | // *************************************************************************** | |
11 | ||
12 | #ifndef BOOST_TEST_CONFIG_HPP_071894GER | |
13 | #define BOOST_TEST_CONFIG_HPP_071894GER | |
14 | ||
15 | // Boost | |
16 | #include <boost/config.hpp> // compilers workarounds | |
17 | #include <boost/detail/workaround.hpp> | |
18 | ||
19 | #if defined(_WIN32) && !defined(BOOST_DISABLE_WIN32) && \ | |
20 | (!defined(__COMO__) && !defined(__MWERKS__) && \ | |
21 | !defined(__GNUC__) && !defined(BOOST_EMBTC) || \ | |
22 | BOOST_WORKAROUND(__MWERKS__, >= 0x3000)) | |
23 | # define BOOST_SEH_BASED_SIGNAL_HANDLING | |
24 | #endif | |
25 | ||
26 | #if defined(__COMO__) && defined(_MSC_VER) | |
27 | // eh.h uses type_info without declaring it. | |
28 | class type_info; | |
29 | # define BOOST_SEH_BASED_SIGNAL_HANDLING | |
30 | #endif | |
31 | ||
32 | //____________________________________________________________________________// | |
33 | ||
34 | #if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x570)) || \ | |
35 | BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \ | |
36 | (defined __sgi && BOOST_WORKAROUND(_COMPILER_VERSION, BOOST_TESTED_AT(730))) | |
37 | # define BOOST_TEST_SHIFTED_LINE | |
38 | #endif | |
39 | ||
40 | //____________________________________________________________________________// | |
41 | ||
42 | #if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) | |
43 | # define BOOST_TEST_CALL_DECL __cdecl | |
44 | #else | |
45 | # define BOOST_TEST_CALL_DECL /**/ | |
46 | #endif | |
47 | ||
48 | //____________________________________________________________________________// | |
49 | ||
50 | #if !defined(BOOST_NO_STD_LOCALE) && !defined(__MWERKS__) | |
51 | # define BOOST_TEST_USE_STD_LOCALE 1 | |
52 | #endif | |
53 | ||
54 | //____________________________________________________________________________// | |
55 | ||
56 | #if BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x570) || \ | |
57 | BOOST_WORKAROUND( __COMO__, <= 0x433 ) || \ | |
58 | BOOST_WORKAROUND( __INTEL_COMPILER, <= 800 ) || \ | |
59 | defined(__sgi) && _COMPILER_VERSION <= 730 || \ | |
60 | BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \ | |
61 | defined(__DECCXX) || \ | |
62 | defined(__DMC__) | |
63 | # define BOOST_TEST_NO_PROTECTED_USING | |
64 | #endif | |
65 | ||
66 | //____________________________________________________________________________// | |
67 | ||
68 | #if BOOST_WORKAROUND(BOOST_MSVC, < 1400) | |
69 | #define BOOST_TEST_PROTECTED_VIRTUAL | |
70 | #else | |
71 | #define BOOST_TEST_PROTECTED_VIRTUAL virtual | |
72 | #endif | |
73 | ||
74 | //____________________________________________________________________________// | |
75 | ||
76 | #if !defined(BOOST_BORLANDC) && !BOOST_WORKAROUND( __SUNPRO_CC, < 0x5100 ) | |
77 | #define BOOST_TEST_SUPPORT_TOKEN_ITERATOR 1 | |
78 | #endif | |
79 | ||
80 | //____________________________________________________________________________// | |
81 | ||
82 | // Sun compiler does not support visibility on enums | |
83 | #if defined(__SUNPRO_CC) | |
84 | #define BOOST_TEST_ENUM_SYMBOL_VISIBLE | |
85 | #else | |
86 | #define BOOST_TEST_ENUM_SYMBOL_VISIBLE BOOST_SYMBOL_VISIBLE | |
87 | #endif | |
88 | ||
89 | //____________________________________________________________________________// | |
90 | ||
91 | #if defined(BOOST_ALL_DYN_LINK) && !defined(BOOST_TEST_DYN_LINK) | |
92 | # define BOOST_TEST_DYN_LINK | |
93 | #endif | |
94 | ||
95 | // in case any of the define from cmake/b2 is set | |
96 | #if !defined(BOOST_TEST_DYN_LINK) \ | |
97 | && (defined(BOOST_UNIT_TEST_FRAMEWORK_DYN_LINK) \ | |
98 | || defined(BOOST_TEST_EXEC_MONITOR_DYN_LINK) \ | |
99 | || defined(BOOST_PRG_EXEC_MONITOR_DYN_LINK) ) | |
100 | # define BOOST_TEST_DYN_LINK | |
101 | #endif | |
102 | ||
103 | #if defined(BOOST_TEST_INCLUDED) | |
104 | # undef BOOST_TEST_DYN_LINK | |
105 | #endif | |
106 | ||
107 | #if defined(BOOST_TEST_DYN_LINK) | |
108 | # define BOOST_TEST_ALTERNATIVE_INIT_API | |
109 | ||
110 | # ifdef BOOST_TEST_SOURCE | |
111 | # define BOOST_TEST_DECL BOOST_SYMBOL_EXPORT BOOST_SYMBOL_VISIBLE | |
112 | # else | |
113 | # define BOOST_TEST_DECL BOOST_SYMBOL_IMPORT BOOST_SYMBOL_VISIBLE | |
114 | # endif // BOOST_TEST_SOURCE | |
115 | #else | |
116 | # if defined(BOOST_TEST_INCLUDED) | |
117 | # define BOOST_TEST_DECL | |
118 | # else | |
119 | # define BOOST_TEST_DECL BOOST_SYMBOL_VISIBLE | |
120 | # endif | |
121 | #endif | |
122 | ||
123 | #if !defined(BOOST_TEST_MAIN) && defined(BOOST_AUTO_TEST_MAIN) | |
124 | #define BOOST_TEST_MAIN BOOST_AUTO_TEST_MAIN | |
125 | #endif | |
126 | ||
127 | #if !defined(BOOST_TEST_MAIN) && defined(BOOST_TEST_MODULE) | |
128 | #define BOOST_TEST_MAIN BOOST_TEST_MODULE | |
129 | #endif | |
130 | ||
131 | ||
132 | ||
133 | #ifndef BOOST_PP_VARIADICS /* we can change this only if not already defined */ | |
134 | ||
135 | #ifdef __PGI | |
136 | #define BOOST_PP_VARIADICS 1 | |
137 | #endif | |
138 | ||
139 | #if BOOST_CLANG | |
140 | #define BOOST_PP_VARIADICS 1 | |
141 | #endif | |
142 | ||
143 | #if defined(BOOST_GCC) && (BOOST_GCC >= 4 * 10000 + 8 * 100) | |
144 | #define BOOST_PP_VARIADICS 1 | |
145 | #endif | |
146 | ||
147 | #if defined(__NVCC__) | |
148 | #define BOOST_PP_VARIADICS 1 | |
149 | #endif | |
150 | ||
151 | #endif /* ifndef BOOST_PP_VARIADICS */ | |
152 | ||
153 | // some versions of VC exibit a manifest error with this BOOST_UNREACHABLE_RETURN | |
154 | #if BOOST_WORKAROUND(BOOST_MSVC, < 1910) | |
155 | # define BOOST_TEST_UNREACHABLE_RETURN(x) return x | |
156 | #else | |
157 | # define BOOST_TEST_UNREACHABLE_RETURN(x) BOOST_UNREACHABLE_RETURN(x) | |
158 | #endif | |
159 | ||
160 | //____________________________________________________________________________// | |
161 | // string_view support | |
162 | //____________________________________________________________________________// | |
163 | // note the code should always be compatible with compiled version of boost.test | |
164 | // using a pre-c++17 compiler | |
165 | ||
166 | #ifndef BOOST_NO_CXX17_HDR_STRING_VIEW | |
167 | #define BOOST_TEST_STRING_VIEW | |
168 | #endif | |
169 | ||
170 | #endif // BOOST_TEST_CONFIG_HPP_071894GER |