Boost logo

Boost :

Subject: Re: [boost] Teeks GCC test failures - multiprecision, spirit and others
From: John Maddock (boost.regex_at_[hidden])
Date: 2014-03-21 07:27:44


> I can't reproduce it on my local machine (gcc 4.7.3 on Ubuntu 13.10), but it's
> possible that my gcc is not the same as the one the tester uses.
>
> My guess is that this may be a compiler problem. Your code includes
> range/iterator_range_core.hpp indirectly via lexical_cast.hpp, which is
> included in multiprecision/detail/number_base.hpp. (Hint: You can add -H
> switch to gcc command line in the error log to track down the include chain.)
>
> I think that the problem could be that FP_NAN and/or FP_INFINITE are declares
> as anonymous enum constants. The compiler tries to find operator== through ADL
> and finds templated boost::operator== from Boost.Range and tries to
> instantiate it with the anonymous enum type and breaks. Again, this is just my
> guess. You could try to work it around by explicitly casting the constants to
> int.

Will do, if that's the cause it's a pretty evil failure to track down,
and many thanks for the hint!

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk