> Many of the regression tests for the date time library are failing 
> currently because the library relies on std::abs<long long> being 
> available. AKAIK, the C++ standard doesn't require this so the library 
> shouldn't make use of it.
> 
> Maybe datetime should specify it's own version of abs like this:
> 
> #include <cstdlib>
> #include <stdlib.h>
> 
> template <typename T> T abs(T i) { return std::abs(i); }
> template <> long long abs(long long i) {return ::llabs(i); }

Take a look at bosot/date_time/compiler_config.hpp which 
does something similar.  All we need to do to fix these regressions 
is add the compiler to the list of those that don't have std::abs
at line 34.  Turns out that some compilers that support long long 
do define a version of abs for long long.  (I'm sure you also
know that some compilers don't call it the type long long 
either which is why we have boost::int64_t).

Just as an aside, at some point this logic should likely
move out of date_time and into the general config somewhere
so that others can access std::abs on these types if they
need.

Jeff

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to