sick_visionary_cpp_shared
3pp
boost
config
compiler
visualc.hpp
Go to the documentation of this file.
1
// (C) Copyright John Maddock 2001 - 2003.
2
// (C) Copyright Darin Adler 2001 - 2002.
3
// (C) Copyright Peter Dimov 2001.
4
// (C) Copyright Aleksey Gurtovoy 2002.
5
// (C) Copyright David Abrahams 2002 - 2003.
6
// (C) Copyright Beman Dawes 2002 - 2003.
7
// Use, modification and distribution are subject to the
8
// Boost Software License, Version 1.0. (See accompanying file
9
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10
11
// See http://www.boost.org for most recent version.
12
//
13
// Microsoft Visual C++ compiler setup:
14
//
15
// We need to be careful with the checks in this file, as contrary
16
// to popular belief there are versions with _MSC_VER with the final
17
// digit non-zero (mainly the MIPS cross compiler).
18
//
19
// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
20
// No other comparisons (==, >, or <=) are safe.
21
//
22
23
#define BOOST_MSVC _MSC_VER
24
25
//
26
// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
27
//
28
#if _MSC_FULL_VER > 100000000
29
# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
30
#else
31
# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
32
#endif
33
34
// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
35
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
36
37
#define BOOST_HAS_PRAGMA_ONCE
38
39
//
40
// versions check:
41
// we don't support Visual C++ prior to version 7.1:
42
#if _MSC_VER < 1310
43
# error "Compiler not supported or configured - please reconfigure"
44
#endif
45
46
#if _MSC_FULL_VER < 180020827
47
# define BOOST_NO_FENV_H
48
#endif
49
50
#if _MSC_VER < 1400
51
// although a conforming signature for swprint exists in VC7.1
52
// it appears not to actually work:
53
# define BOOST_NO_SWPRINTF
54
// Our extern template tests also fail for this compiler:
55
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
56
// Variadic macros do not exist for VC7.1 and lower
57
# define BOOST_NO_CXX11_VARIADIC_MACROS
58
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
59
#endif
60
61
#if _MSC_VER < 1500 // 140X == VC++ 8.0
62
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
63
#endif
64
65
#if _MSC_VER < 1600 // 150X == VC++ 9.0
66
// A bug in VC9:
67
# define BOOST_NO_ADL_BARRIER
68
#endif
69
70
71
#ifndef _NATIVE_WCHAR_T_DEFINED
72
# define BOOST_NO_INTRINSIC_WCHAR_T
73
#endif
74
75
//
76
// check for exception handling support:
77
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
78
# define BOOST_NO_EXCEPTIONS
79
#endif
80
81
//
82
// __int64 support:
83
//
84
#define BOOST_HAS_MS_INT64
85
#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)
86
# define BOOST_HAS_LONG_LONG
87
#else
88
# define BOOST_NO_LONG_LONG
89
#endif
90
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
91
# define BOOST_HAS_NRVO
92
#endif
93
#if _MSC_VER >= 1600 // 160X == VC++ 10.0
94
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
95
#endif
96
//
97
// disable Win32 API's if compiler extensions are
98
// turned off:
99
//
100
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
101
# define BOOST_DISABLE_WIN32
102
#endif
103
#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
104
# define BOOST_NO_RTTI
105
#endif
106
107
//
108
// TR1 features:
109
//
110
#if _MSC_VER >= 1700
111
// # define BOOST_HAS_TR1_HASH // don't know if this is true yet.
112
// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet.
113
# define BOOST_HAS_TR1_UNORDERED_MAP
114
# define BOOST_HAS_TR1_UNORDERED_SET
115
#endif
116
117
//
118
// C++0x features
119
//
120
// See above for BOOST_NO_LONG_LONG
121
122
// C++ features supported by VC++ 10 (aka 2010)
123
//
124
#if _MSC_VER < 1600
125
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
126
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
127
# define BOOST_NO_CXX11_LAMBDAS
128
# define BOOST_NO_CXX11_RVALUE_REFERENCES
129
# define BOOST_NO_CXX11_STATIC_ASSERT
130
# define BOOST_NO_CXX11_NULLPTR
131
# define BOOST_NO_CXX11_DECLTYPE
132
#endif // _MSC_VER < 1600
133
134
#if _MSC_VER >= 1600
135
# define BOOST_HAS_STDINT_H
136
#endif
137
138
// C++11 features supported by VC++ 11 (aka 2012)
139
//
140
#if _MSC_VER < 1700
141
# define BOOST_NO_CXX11_FINAL
142
# define BOOST_NO_CXX11_RANGE_BASED_FOR
143
# define BOOST_NO_CXX11_SCOPED_ENUMS
144
#endif // _MSC_VER < 1700
145
146
// C++11 features supported by VC++ 12 (aka 2013).
147
//
148
#if _MSC_FULL_VER < 180020827
149
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
150
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
151
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
152
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
153
# define BOOST_NO_CXX11_RAW_LITERALS
154
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
155
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
156
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
157
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
158
# define BOOST_NO_CXX11_DECLTYPE_N3276
159
#endif
160
161
#if _MSC_FULL_VER >= 180020827
162
#define BOOST_HAS_EXPM1
163
#define BOOST_HAS_LOG1P
164
#endif
165
166
// C++11 features supported by VC++ 14 (aka 2015)
167
//
168
#if (_MSC_FULL_VER < 190023026)
169
# define BOOST_NO_CXX11_NOEXCEPT
170
# define BOOST_NO_CXX11_REF_QUALIFIERS
171
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
172
# define BOOST_NO_CXX11_ALIGNAS
173
# define BOOST_NO_CXX11_INLINE_NAMESPACES
174
# define BOOST_NO_CXX11_CHAR16_T
175
# define BOOST_NO_CXX11_CHAR32_T
176
# define BOOST_NO_CXX11_UNICODE_LITERALS
177
# define BOOST_NO_CXX14_DECLTYPE_AUTO
178
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
179
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
180
# define BOOST_NO_CXX14_BINARY_LITERALS
181
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
182
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
183
# define BOOST_NO_CXX11_THREAD_LOCAL
184
#endif
185
// C++11 features supported by VC++ 14 update 3 (aka 2015)
186
//
187
#if (_MSC_FULL_VER < 190024210)
188
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
189
# define BOOST_NO_SFINAE_EXPR
190
# define BOOST_NO_CXX11_CONSTEXPR
191
#endif
192
193
// MSVC including version 14 has not yet completely
194
// implemented value-initialization, as is reported:
195
// "VC++ does not value-initialize members of derived classes without
196
// user-declared constructor", reported in 2009 by Sylvester Hesp:
197
// https://connect.microsoft.com/VisualStudio/feedback/details/484295
198
// "Presence of copy constructor breaks member class initialization",
199
// reported in 2009 by Alex Vakulenko:
200
// https://connect.microsoft.com/VisualStudio/feedback/details/499606
201
// "Value-initialization in new-expression", reported in 2005 by
202
// Pavel Kuznetsov (MetaCommunications Engineering):
203
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
204
// Reported again by John Maddock in 2015 for VC14:
205
// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
206
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
207
// (Niels Dekker, LKEB, May 2010)
208
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
209
//
210
// C++ 11:
211
//
212
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
213
//
214
// C++ 14:
215
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
216
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
217
#endif
218
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
219
# define BOOST_NO_CXX14_CONSTEXPR
220
#endif
221
222
//
223
// prefix and suffix headers:
224
//
225
#ifndef BOOST_ABI_PREFIX
226
# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
227
#endif
228
#ifndef BOOST_ABI_SUFFIX
229
# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
230
#endif
231
232
#ifndef BOOST_COMPILER
233
// TODO:
234
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
235
// artificial versions assigned to them only refer to the versions of some IDE
236
// these compilers have been shipped with, and even that is not all of it. Some
237
// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
238
// IOW, you can't use these 'versions' in any sensible way. Sorry.
239
# if defined(UNDER_CE)
240
# if _MSC_VER < 1400
241
// Note: I'm not aware of any CE compiler with version 13xx
242
# if defined(BOOST_ASSERT_CONFIG)
243
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
244
# else
245
# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
246
# endif
247
# elif _MSC_VER < 1500
248
# define BOOST_COMPILER_VERSION evc8
249
# elif _MSC_VER < 1600
250
# define BOOST_COMPILER_VERSION evc9
251
# elif _MSC_VER < 1700
252
# define BOOST_COMPILER_VERSION evc10
253
# elif _MSC_VER < 1800
254
# define BOOST_COMPILER_VERSION evc11
255
# elif _MSC_VER < 1900
256
# define BOOST_COMPILER_VERSION evc12
257
# elif _MSC_VER < 2000
258
# define BOOST_COMPILER_VERSION evc14
259
# else
260
# if defined(BOOST_ASSERT_CONFIG)
261
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
262
# else
263
# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
264
# endif
265
# endif
266
# else
267
# if _MSC_VER < 1310
268
// Note: Versions up to 7.0 aren't supported.
269
# define BOOST_COMPILER_VERSION 5.0
270
# elif _MSC_VER < 1300
271
# define BOOST_COMPILER_VERSION 6.0
272
# elif _MSC_VER < 1310
273
# define BOOST_COMPILER_VERSION 7.0
274
# elif _MSC_VER < 1400
275
# define BOOST_COMPILER_VERSION 7.1
276
# elif _MSC_VER < 1500
277
# define BOOST_COMPILER_VERSION 8.0
278
# elif _MSC_VER < 1600
279
# define BOOST_COMPILER_VERSION 9.0
280
# elif _MSC_VER < 1700
281
# define BOOST_COMPILER_VERSION 10.0
282
# elif _MSC_VER < 1800
283
# define BOOST_COMPILER_VERSION 11.0
284
# elif _MSC_VER < 1900
285
# define BOOST_COMPILER_VERSION 12.0
286
# elif _MSC_VER < 2000
287
# define BOOST_COMPILER_VERSION 14.0
288
# else
289
# define BOOST_COMPILER_VERSION _MSC_VER
290
# endif
291
# endif
292
293
# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
294
#endif
295
296
//
297
// last known and checked version is 19.00.23026 (VC++ 2015 RTM):
298
#if (_MSC_VER > 1900)
299
# if defined(BOOST_ASSERT_CONFIG)
300
# error "Unknown compiler version - please run the configure tests and report the results"
301
# else
302
# pragma message("Unknown compiler version - please run the configure tests and report the results")
303
# endif
304
#endif
sick_visionary_ros
Author(s): SICK AG TechSupport 3D Snapshot
autogenerated on Thu Feb 8 2024 03:56:19