
Guillaume Melquiond <guillaume.melquiond@ens-lyon.fr> writes:
Le lun 01/03/2004 à 16:58, Beman Dawes a écrit :
Looking at the results, there is lots of good news. Tests now passing, warnings removed, etc. But there are also regressions in a number of libraries:
Interval - Borland, VC++ 6.0, and VC++ 7.0 regressions.
I already reported these failures to the list two weeks ago so that anybody interested could take a look. There were no answer so the library has been marked as unusable with these compilers in the status/explicit-failures-markup.xml. It doesn't appear in your regression logs; but in Metacomm's summaries it appears clearly.
Hopefully the developers will take a look at these soon so the regressions don't hang around until the next release.
I don't intend to fix them. The library doesn't use any complex C++ construction (even Borland 5.5 is able to compile it), I'm not fond of trying to workaround any strange bug a compiler may have.
This is not a particularly obscure issue for MSVC: you're defining a template member function outside the class body: template<class T, class Policies> template<class T1> inline interval<T, Policies>::interval(T1 const &v) { if (checking::is_nan(v)) set_empty(); else { rounding rnd; low = rnd.conv_down(v); up = rnd.conv_up (v); } } Just move it inside of the interval class template and you'll have portable code. -- Dave Abrahams Boost Consulting www.boost-consulting.com