diff --git a/include/boost/preprocessor/cat.hpp b/include/boost/preprocessor/cat.hpp index a55eae5..946bdcd 100644 --- a/include/boost/preprocessor/cat.hpp +++ b/include/boost/preprocessor/cat.hpp @@ -19,13 +19,18 @@ # # /* BOOST_PP_CAT */ # -# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW -# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_D(a, b) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b) # else -# define BOOST_PP_CAT(a, b) BOOST_PP_EVIL_CAT_D((a, b)) -# define BOOST_PP_EVIL_CAT_D(par) BOOST_PP_CAT_D ## par +# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b)) +# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par # endif # -# define BOOST_PP_CAT_D(a, b) a ## b +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_CAT_I(a, b) a ## b +# else +# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(a ## b) +# define BOOST_PP_CAT_II(res) res +# endif # # endif diff --git a/include/boost/preprocessor/stringize.hpp b/include/boost/preprocessor/stringize.hpp index 5286469..64c1b0b 100644 --- a/include/boost/preprocessor/stringize.hpp +++ b/include/boost/preprocessor/stringize.hpp @@ -19,13 +19,13 @@ # # /* BOOST_PP_STRINGIZE */ # -# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW -# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_D(text) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text) # else -# define BOOST_PP_STRINGIZE(text) BOOST_PP_EVIL_STRINGIZE_D((text)) -# define BOOST_PP_EVIL_STRINGIZE_D(par) BOOST_PP_STRINGIZE_D ## par +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text)) +# define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par # endif # -# define BOOST_PP_STRINGIZE_D(text) #text +# define BOOST_PP_STRINGIZE_I(text) #text # # endif