• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/detail/lightweight_test.hpp>
9 
main()10 int main()
11   {
12 
13 #if !BOOST_PP_VARIADICS
14 
15 #    if defined __GCCXML__
16 BOOST_ERROR("No variadic macro support: __GCCXML__ defined.");
17 #    elif defined __CUDACC__
18 BOOST_ERROR("No variadic macro support: __CUDACC__ defined.");
19 #    elif defined __PATHSCALE__
20 BOOST_ERROR("No variadic macro support: __PATHSCALE__ defined.");
21 #    elif defined __DMC__
22 BOOST_ERROR("No variadic macro support: __DMC__ defined.");
23 #    elif defined __CODEGEARC__
24 BOOST_ERROR("No variadic macro support: __CODEGEARC__ defined.");
25 #    elif defined __BORLANDC__
26 BOOST_ERROR("No variadic macro support: __BORLANDC__ defined.");
27 #    elif defined __MWERKS__
28 BOOST_ERROR("No variadic macro support: __MWERKS__ defined.");
29 #    elif (defined __SUNPRO_CC && __SUNPRO_CC < 0x5130)
30 BOOST_ERROR("No variadic macro support: __SUNPRO_CC defined below version 12.3.");
31 #    elif defined __HP_aCC && !defined __EDG__
32 BOOST_ERROR("No variadic macro support: __HP_aCC defined and __EDG__ not defined.");
33 #    elif defined __MRC__
34 BOOST_ERROR("No variadic macro support: __MRC__ defined.");
35 #    elif defined __SC__
36 BOOST_ERROR("No variadic macro support: __SC__ defined.");
37 #    elif defined __IBMCPP__
38 BOOST_ERROR("No variadic macro support: __IBMCPP__ defined.");
39 #    elif defined __PGI
40 BOOST_ERROR("No variadic macro support: __PGI defined.");
41 #    /* VC++ (C/C++) */
42 #    elif defined _MSC_VER && _MSC_VER >= 1400 && (!defined __EDG__ || defined(__INTELLISENSE__)) && !defined __clang__
43 #    /* Wave (C/C++), GCC (C++) */
44 #    elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__
45 #    /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */
46 #    elif !defined __cplusplus && __STDC_VERSION__ < 199901L
47 BOOST_ERROR("No variadic macro support: __STDC_VERSION__ is less than 199901L.");
48 #    elif defined __cplusplus && __cplusplus < 201103L
49 BOOST_ERROR("No variadic macro support: __cplusplus is less than 201103L.");
50 #    endif
51 
52 #endif
53 
54   return boost::report_errors();
55 
56   }
57