| 1 | /*============================================================================= |
| 2 | Copyright (c) 2001-2013 Joel de Guzman |
| 3 | |
| 4 | Distributed under the Boost Software License, Version 1.0. (See accompanying |
| 5 | file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| 6 | ==============================================================================*/ |
| 7 | #if !defined(BOOST_SPIRIT_X3_MARCH_04_2007_0852PM) |
| 8 | #define BOOST_SPIRIT_X3_MARCH_04_2007_0852PM |
| 9 | |
| 10 | #if defined(_MSC_VER) |
| 11 | #pragma once |
| 12 | #endif |
| 13 | |
| 14 | #if !defined BOOST_SPIRIT_X3_HIDE_CXX17_WARNING && !( true \ |
| 15 | && defined __cpp_if_constexpr && __cpp_if_constexpr >= 201606 \ |
| 16 | && defined __cpp_inline_variables && __cpp_inline_variables >= 201606 \ |
| 17 | && defined __cpp_fold_expressions && __cpp_fold_expressions >= 201603 \ |
| 18 | && defined __cpp_variadic_using && __cpp_variadic_using >= 201611 \ |
| 19 | && (defined __cpp_template_auto && __cpp_template_auto >= 201606 \ |
| 20 | || defined __cpp_nontype_template_parameter_auto && __cpp_nontype_template_parameter_auto >= 201606) \ |
| 21 | && defined __cpp_nontype_template_args && __cpp_nontype_template_args >= 201411 \ |
| 22 | ) |
| 23 | # define BOOST_SPIRIT_X3_STRINGIZE_IMPL(x) #x |
| 24 | # define BOOST_SPIRIT_X3_STRINGIZE(x) BOOST_SPIRIT_X3_STRINGIZE_IMPL(x) |
| 25 | # if defined __GNUC__ || defined __clang__ |
| 26 | # warning "Spirit X3 will soon use C++17 features which your compiler does not support" |
| 27 | # if (defined __clang__ && __clang_major__ >= 4 || __GNUC__ >= 7) && __cplusplus < 201703L |
| 28 | # warning "Use -std=c++17 or -std=gnu++17 compiler flag to enable C++17 mode" |
| 29 | # endif |
| 30 | # warning "Minimal supported compiler versions: Clang 4 / GCC 7 / MSC 1915 (VS 2017 v15.8)" |
| 31 | # if defined __clang__ |
| 32 | # pragma message "This compiler seems to be Clang " BOOST_SPIRIT_X3_STRINGIZE(__clang_major__) " (__cplusplus=" BOOST_SPIRIT_X3_STRINGIZE(__cplusplus) ")" |
| 33 | # else |
| 34 | # pragma message "This compiler seems to be GCC " BOOST_SPIRIT_X3_STRINGIZE(__GNUC__) " (__cplusplus=" BOOST_SPIRIT_X3_STRINGIZE(__cplusplus) ")" |
| 35 | # endif |
| 36 | # warning "Define BOOST_SPIRIT_X3_HIDE_CXX17_WARNING to hide the warning" |
| 37 | # elif defined _MSC_VER |
| 38 | # pragma message (__FILE__ "(" BOOST_SPIRIT_X3_STRINGIZE(__LINE__) "): warning: Spirit X3 will soon use C++17 features which your compiler does not support" ) |
| 39 | # ifdef _MSVC_LANG |
| 40 | # if _MSC_VER >= 1915 && _MSVC_LANG < 201703L |
| 41 | # pragma message (__FILE__ "(" BOOST_SPIRIT_X3_STRINGIZE(__LINE__) "): warning: Use /std:c++17 compiler flag to enable C++17 mode" ) |
| 42 | # endif |
| 43 | # define BOOST_SPIRIT_X3_TMP "_MSVC_LANG=" BOOST_SPIRIT_X3_STRINGIZE(_MSVC_LANG) |
| 44 | # elif defined _HAS_CXX17 |
| 45 | # define BOOST_SPIRIT_X3_TMP "_HAS_CXX17 defined" |
| 46 | # else |
| 47 | # define BOOST_SPIRIT_X3_TMP "__cplusplus=" BOOST_SPIRIT_X3_STRINGIZE(__cplusplus) |
| 48 | # endif |
| 49 | # pragma message (__FILE__ "(" BOOST_SPIRIT_X3_STRINGIZE(__LINE__) "): warning: Minimal supported compiler versions: Clang 4 / GCC 7 / MSC 1915 (VS 2017 v15.8)" ) |
| 50 | # pragma message (__FILE__ "(" BOOST_SPIRIT_X3_STRINGIZE(__LINE__) "): warning: This compiler seems to be MSC " BOOST_SPIRIT_X3_STRINGIZE(_MSC_VER) " (" BOOST_SPIRIT_X3_TMP ")" ) |
| 51 | # undef BOOST_SPIRIT_X3_TMP |
| 52 | # pragma message (__FILE__ "(" BOOST_SPIRIT_X3_STRINGIZE(__LINE__) "): warning: Define BOOST_SPIRIT_X3_HIDE_CXX17_WARNING to hide the warning" ) |
| 53 | # else |
| 54 | # pragma message "warning: Spirit X3 will soon use C++17 features which your compiler does not support" |
| 55 | # pragma message "warning: Minimal supported compiler versions: Clang 4 / GCC 7 / MSC 1915 (VS 2017 v15.8)" |
| 56 | # pragma message "warning: Define BOOST_SPIRIT_X3_HIDE_CXX17_WARNING to hide the warning" |
| 57 | # endif |
| 58 | # undef BOOST_SPIRIT_X3_STRINGIZE |
| 59 | # undef BOOST_SPIRIT_X3_STRINGIZE_IMPL |
| 60 | #endif |
| 61 | |
| 62 | #include <boost/spirit/home/x3/auxiliary.hpp> |
| 63 | #include <boost/spirit/home/x3/char.hpp> |
| 64 | #include <boost/spirit/home/x3/directive.hpp> |
| 65 | #include <boost/spirit/home/x3/nonterminal.hpp> |
| 66 | #include <boost/spirit/home/x3/numeric.hpp> |
| 67 | #include <boost/spirit/home/x3/operator.hpp> |
| 68 | #include <boost/spirit/home/x3/core.hpp> |
| 69 | #include <boost/spirit/home/x3/string.hpp> |
| 70 | |
| 71 | #endif |
| 72 | |