
I noticed that fix for ticket #3919 has been checked-in. Thanks JoelF. I checked out boost trunk, and am trying to compile the following simple program using nvcc. #include <boost/proto/proto.hpp> namespace proto=boost::proto; int main() { return 0; } I was getting "ISO C++ forbids declaration of ‘expr_param’ with no type" error in couple of places in proto/traits.hpp and proto/transform/pass_through.hpp. The code used to look like typename pass_through_impl::expr_param e I added a typedef as follows transform_impl<Expr, State, Data> base_type; and changed the code to typename base_type::expr_param e Now the compiler error goes away. I have 2 questions : 1) Is what I am doing the right fix for the problem, or is the nvcc compiler really broken when handling this? 2) If my fix is OK, how do I make it permanent? The other error I am seeing is probably not proto's problem, but I will mention it here anyway : boost/boost-trunk/boost/mpl/size_t_fwd.hpp:23: error: expected unqualified-id before ‘[’ token boost/boost-trunk/boost/mpl/size_t_fwd.hpp:26: error: ‘mpl_::size_t’ has not been declared boost/boost-trunk/boost/mpl/aux_/integral_wrapper.hpp:42: error: expected unqualified-id before ‘[’ token Any ideas on this? Thanks, Manjunath http://nonchalantlytyped.net/blog/musings/