Boost logo

Boost :

From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2003-03-06 13:24:50

--- David Abrahams <dave_at_[hidden]> wrote:
> There are any number of ways you could try reformulating this to make
> the error go away. At worst you could try the __BORLANDC__ branch in
> is_base_and_derived.hpp.
> Another approach:
> template <typename B, typename D, typename T>
> static type_traits::yes_type bd_helper(D const volatile *, T);
> template <typename B, typename D>
> static type_traits::no_type bd_helper(B const volatile *, int);

That doesn't work because older EDG's don't support the bd_helper<B,D> syntax.
To be sure I just tried it again and it failed.

Using the __BORLANDC__ branch got me a little further. Some Boost.Python tests
compile and run.

Is the __BORLANDC__ branch different from (not as good as) the
is_base_and_derived implementation in 1.29.0?

There are many new errors when compiling the Boost.Python tests, but most of
them are identical:

cc-3192 CC: ERROR File =
/u1/rwgrosse/rc_1_30_0/boost/boost/mpl/fold_backward.hpp, Line = 47
  The nontype "boost::mpl::fold_backward<T1, T2, T3,
          is not a class template.


I've preprocessed the source of test/embedding.cpp and stripped out all #line
directives. The error message then becomes:

cc-3192 CC: ERROR File = zzstrip.cpp, Line = 71667
  The nontype "boost::mpl::fold_backward<T1, T2, T3,
          is not a class template.

      static const int arity = 3; typedef Sequence arg1; typedef State arg2;
typedef BackwardOp arg3; struct rebind; }; template< typename T1,typename
T2,typename T3 > struct fold_backward<T1,T2,T3> ::rebind { template< typename
U1,typename U2,typename U3 > struct apply : fold_backward< U1,U2,U3 > { };

With the ^ pointing to the beginning of ::rebind.

The full prepocessed, stripped file is here:

Are there any insights what the compiler is choking on here?


Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more

Boost list run by bdawes at, gregod at, cpdaniel at, john at