From 2a2f0bf00a5772f9894206e880a8d285296c9aa2 Mon Sep 17 00:00:00 2001 From: artemp Date: Wed, 14 Dec 2016 15:10:22 +0100 Subject: [PATCH] Workaround for VC++ C2995 via redifining BOOST_SPIRIT_DEFINE macro (#3573) --- include/mapnik/json/json_grammar_config.hpp | 27 +++++++++++++++++++++ src/svg/svg_parser.cpp | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/include/mapnik/json/json_grammar_config.hpp b/include/mapnik/json/json_grammar_config.hpp index 26c117201..b46626817 100644 --- a/include/mapnik/json/json_grammar_config.hpp +++ b/include/mapnik/json/json_grammar_config.hpp @@ -113,6 +113,33 @@ using feature_context_const_type = x3::with_context \ + inline bool parse_rule( \ + BOOST_PP_CAT(rule_name, _synonym) rule_ \ + , Iterator& first, Iterator const& last \ + , Context const& context, Attribute& attr) \ + { \ + using boost::spirit::x3::unused; \ + static auto const def_ = (rule_name = BOOST_PP_CAT(rule_name, _def)); \ + return def_.parse(first, last, context, unused, attr); \ + } \ + /***/ + +#define BOOST_SPIRIT_DEFINE(...) BOOST_PP_SEQ_FOR_EACH( \ + BOOST_SPIRIT_DEFINE_, _, BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)) \ + /***/ +#endif + }}} #endif // MAPNIK_JSON_GRAMMAR_CONFIG_HPP diff --git a/src/svg/svg_parser.cpp b/src/svg/svg_parser.cpp index 0d4db78d4..8031fc53c 100644 --- a/src/svg/svg_parser.cpp +++ b/src/svg/svg_parser.cpp @@ -30,7 +30,7 @@ #include #include #include - +#include #pragma GCC diagnostic push #include #include "agg_ellipse.h"