
Hi The addition of macro BOOST_PROTO_EXTENDS_USING_ASSIGN in literal.hpp broke compilation with /clr option in MSVC. The problem is that the macro is used as BOOST_PROTO_EXTENDS_USING_ASSIGN(literal) and literal is a variable modifier for managed C++. Adding a private typedef: typedef literal<T, Domain> literal_t; and replacing the macro parameter with: BOOST_PROTO_EXTENDS_USING_ASSIGN(literal_t) solves the problem for us. Tested with VS2008. Please note that this problem prevents compilation of xpressive and any other library that uses proto with /clr. Thank you for boost and particularly for proto and xpressive :-) Best regards Jorge

On 7/22/2010 7:02 PM, Jorge Lodos Vigil wrote:
Hi The addition of macro BOOST_PROTO_EXTENDS_USING_ASSIGN in literal.hpp broke compilation with /clr option in MSVC. The problem is that the macro is used as BOOST_PROTO_EXTENDS_USING_ASSIGN(literal) and literal is a variable modifier for managed C++.
Adding a private typedef: typedef literal<T, Domain> literal_t;
and replacing the macro parameter with: BOOST_PROTO_EXTENDS_USING_ASSIGN(literal_t)
solves the problem for us. Tested with VS2008. Please note that this problem prevents compilation of xpressive and any other library that uses proto with /clr.
Thank you for boost and particularly for proto and xpressive :-)
Thanks for the report. We're trying to close down v1.44, so I think I'll wait for the next release, but I'll definitely make this change. Cheers, -- Eric Niebler BoostPro Computing http://www.boostpro.com
participants (2)
-
Eric Niebler
-
Jorge Lodos Vigil