
"Tobias Schwinger" <tschwinger@neoscientists.org> wrote
I looked a little deeper into it (-; maybe your pessimism made me curious).
The preprocessor bug isn't a typeof issue:
BOOST_PP_UNARY isn't working correctly with the preprocessor of BCC and always expands to nothing.
Yes, I remember Paul Mensonides warned me that I would have to make a workaround for Borland...
So I changed 1,2,3 to (class),(class)(class) and (class)(class)(class), respectively.
Then there are a few problems parsing the registration code for integral template parameters because of this bug:
template... struct foo { typedef ... type; // typedef ... type ... another_type; // won't work typedef foo self; typedef ... self::type ... another_type; // works };
When fixed the registration parses correctly. It still has problems to parse the actual typeof expression. Unfortunately it completely blows up the parser (probably an internal limit is exceeded) and doesn't leave me with much error reporting. Is there a configuration option to scale down the size of the MPL-vector used for the encoding ?
BOOST_TYPEOF_LIMIT_SIZE By default it's 50 -- try to set it to 15 -- should be enough to compile main.cpp (but not test_compliant.cpp). Regards, Arkadiy