Jakub Zytka wrote: > Jakub Zytka wrote: >> gccxml-0.9.0_pre20090516-r1 >> boost-1.33.1 >> >> sample code: >> #include <boost/crc.hpp> >> >> gccxml output: >> In file included from test1.cpp:1: >> /usr/include/boost/crc.hpp:432: error: redefinition of 'struct >> boost::detail::mask_uint_t<32ul>' >> /usr/include/boost/crc.hpp:410: error: previous definition of 'struct >> boost::detail::mask_uint_t<32ul>' >> >> i think the problem is that: >> UINT_MAX > USHRT_MAX and ULONG_MAX > UINT_MAX evaluate to true, while >> unsigned int has the same size as unsigned long (so ULONG_MAX == >> UINT_MAX) >> >> gcc-4.1.2 compiles it just fine. I haven't tried newer gcc. > I found the cause. It was the flag -m32. With -m64 gccxml fails with > completely other error ;) > Note: regular gcc compiles fine with -m32
gccxml attempts to simulate the preprocessor of the target compiler, but it cannot simulate the ABI correctly because it was built only for one target system. In cases like this the target software likely needs to be taught about __GCCXML__ just as any other compiler. -Brad _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.gccxml.org/mailman/listinfo/gccxml