BOOST_PP_STRINGIZE with MSVC 7.1 broken in 1.33.0 library version

Test code: #define AAA const char bbb[] = BOOST_PP_STRINGIZE(prefix BOOST_PP_COMMA() postfix) AAA; Preprocessing of such a code is accompanied by warning C4002: too many actual parameters for macro 'BOOST_PP_STRINGIZE_I'. With 1.32.0 library version variable bbb value was "prefix, postfix". With new version it is just "prefix".

-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Sergey Skorniakov
#define AAA const char bbb[] = BOOST_PP_STRINGIZE(prefix BOOST_PP_COMMA() postfix)
AAA;
It isn't broken. That isn't supposed to work (and there is no way to make it work without variadic macros). The best you can do is separate the strings: ... = BOOST_PP_STRINGIZE(prefix) ", " BOOST_PP_STRINGIZE(postfix)
Preprocessing of such a code is accompanied by warning C4002: too many actual parameters for macro 'BOOST_PP_STRINGIZE_I'.
With 1.32.0 library version variable bbb value was "prefix, postfix". With new version it is just "prefix".
It only worked because VC's preprocessor is so horribly broken. Regards, Paul Mensonides
participants (2)
-
Paul Mensonides
-
Sergey Skorniakov