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
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 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/