|
Boost Testing : |
From: John Maddock (john_at_[hidden])
Date: 2005-06-06 06:33:23
> removing this does'nt have any effect ;-(
Darn.
>>Failing that, you could try:
> Good idea. Well now the compiler complains that is_convertible is not
> defined. This I found hard to believe because is_convertible.hpp is
> included
> at the beginning of is_enum.hpp. So I even simplified it to
>
> static const bool value = ::boost::is_convertible < int, float >::value ;
>
> (which is of course not correct but just for testing if vacpp has a
> problem
> with is_convertible inside this is_enum_impl) and still vacpp says
> is_convertible is not declared.
>
> So I preprocessed the file and indeed, the include of is_convertible.hpp
> seems to fail or soth because the statement above is the first occurence
> of
> is_convertible and thus is_convertible is indeed not declared. But it
> should! So I'm guessing there is soth. wrong with the preprocessor, not
> the
> compiler. So could it be that the vacpp PP has a problem with
>
> BOOST_TT_AUX_BOOL_TRAIT_DEF2(is_convertible,From,To,(::boost::detail::is_convertible_impl_dispatch<From,To>::value))
>
> which is AFAICT the declaration of is_convertible in is_convertible.hpp (I
> have to admit that I have no idea what this does exactly, I probably
> should
> get up to speed with the boost.pp library;-(
>
> Ideas ???
>
> I've attached the preprocessed process_jam_log.cpp just in case it might
> provide a clue to someone
I don't see the preprocessor output attachment in your message - could you
try again - or mail it to me direct?
The things to check are:
Is is_convertible defined *after* is_enum at all? It could be some weird
header dependency thing that only gets triggered for vacpp (I've checked and
everything is defined in the right order for gcc compiles). If this is the
case then what happens if you just forward declare is_convertible?
Failing that is is_convertible.hpp included at all?
Thanks,
John.