Boost logo

Boost Users :

Subject: [Boost-users] [boost-users][proto] Using proto with nvcc
From: Manjunath Kudlur (keveman_at_[hidden])
Date: 2010-04-26 15:20:05


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/


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net