]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/vmd/test/test_variadic_macro.cxx
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / vmd / test / test_variadic_macro.cxx
1
2 // (C) Copyright Edward Diener 2011-2015
3 // Use, modification and distribution are subject to the Boost Software License,
4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt).
6
7 #include <boost/vmd/detail/setup.hpp>
8 #include <boost/predef.h>
9 #include <boost/detail/lightweight_test.hpp>
10
11 int main()
12 {
13
14 #if !BOOST_PP_VARIADICS
15
16 # if defined __GCCXML__
17 BOOST_ERROR("No variadic macro support: __GCCXML__ defined.");
18 # elif defined __CUDACC__
19 BOOST_ERROR("No variadic macro support: __CUDACC__ defined.");
20 # elif defined __PATHSCALE__
21 BOOST_ERROR("No variadic macro support: __PATHSCALE__ defined.");
22 # elif defined __DMC__
23 BOOST_ERROR("No variadic macro support: __DMC__ defined.");
24 # elif defined __CODEGEARC__
25 BOOST_ERROR("No variadic macro support: __CODEGEARC__ defined.");
26 # elif defined __BORLANDC__
27 BOOST_ERROR("No variadic macro support: __BORLANDC__ defined.");
28 # elif defined __MWERKS__
29 BOOST_ERROR("No variadic macro support: __MWERKS__ defined.");
30 # elif (defined __SUNPRO_CC && __SUNPRO_CC < 0x5130)
31 BOOST_ERROR("No variadic macro support: __SUNPRO_CC defined below version 12.3.");
32 # elif defined __HP_aCC && !defined __EDG__
33 BOOST_ERROR("No variadic macro support: __HP_aCC defined and __EDG__ not defined.");
34 # elif defined __MRC__
35 BOOST_ERROR("No variadic macro support: __MRC__ defined.");
36 # elif defined __SC__
37 BOOST_ERROR("No variadic macro support: __SC__ defined.");
38 # elif defined __IBMCPP__
39 BOOST_ERROR("No variadic macro support: __IBMCPP__ defined.");
40 # elif defined __PGI
41 BOOST_ERROR("No variadic macro support: __PGI defined.");
42 # /* VC++ (C/C++) */
43 # elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__)) && !defined __clang__
44 # /* Wave (C/C++), GCC (C++) */
45 # elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
46 # /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */
47 # elif !defined __cplusplus && __STDC_VERSION__ < 199901L
48 # if BOOST_COMP_GNUC >= BOOST_VERSION_NUMBER(4,3,0)
49 BOOST_ERROR("No variadic macro support for gcc >= 4.3: __STDC_VERSION__ is less than 199901L.");
50 # else
51 BOOST_ERROR("No variadic macro support: __STDC_VERSION__ is less than 199901L.");
52 # endif
53 # elif defined __cplusplus && __cplusplus < 201103L
54 # if BOOST_COMP_GNUC >= BOOST_VERSION_NUMBER(4,3,0)
55 BOOST_ERROR("No variadic macro support for g++ >= 4.3: __cplusplus is less than 201103L.");
56 # else
57 BOOST_ERROR("No variadic macro support: __cplusplus is less than 201103L.");
58 # endif
59 # endif
60
61 #endif
62
63 return boost::report_errors();
64
65 }