id summary reporter owner description type status milestone component version severity resolution keywords cc 9633 BOOST_PP_SEQ_CAT with a sequence of comma separated pairs fails with gcc albertembedded@… No-Maintainer "Hi, Code with problem : {{{ #include #define SOME_SEQUENCE (('a',1)) (('b',2)) (('c',3)) (('d',4)) (('e',5)) struct dummy { dummy& operator()(char,int) {return *this;} }; int main() { dummy() BOOST_PP_SEQ_CAT(SOME_SEQUENCE); return 0; } }}} Following code compiles with Visual 2010. (generates dummy() ('a',1)('b',2)('c',3)('d',4)('e',5);) With gcc, it does not compil. I have a collection of compilation error : main.cpp:3:30: error: pasting "")"" and ""("" does not give a valid preprocessing token preprocessor\seq\cat.hpp:35:37: note: in definition of macro 'BOOST_PP_SEQ_CAT_O_I' preprocessor/seq/fold_left.hpp:555:144: note: in expansion of macro 'BOOST_PP_SEQ_CAT_O' and so on By gcc, I mean TDM MinGW32 (from tdm-gcc-4.8.1-3.exe) Tried with following options : {{{ mingw32-g++.exe -std=c++0x -g -IC:\boost_1_55_0 -c ""C:\sources\main.cpp"" -o obj\main.o mingw32-g++.exe -std=c++1y -g -IC:\boost_1_55_0 -c ""C:\sources\main.cpp"" -o obj\main.o mingw32-g++.exe -g -IC:\boost_1_55_0 -c ""C:\sources\main.cpp"" -o obj\main.o }}} Notice that following code compiles fine which can be used as a workaround : Code compiling : {{{ #include #define SOME_SEQUENCE (('a',1)) (('b',2)) (('c',3)) (('d',4)) (('e',5)) #define MACRO_FOR_EACH(r,data,e)\ e struct dummy { dummy& operator()(char,int) {return *this;} }; int main() { dummy() BOOST_PP_SEQ_FOR_EACH(MACRO_FOR_EACH,_,SOME_SEQUENCE); return 0; } }}} " Bugs closed To Be Determined preprocessor Boost 1.55.0 Problem invalid