Index: libcxx/test/std/numerics/c.math/abs.pass.cpp =================================================================== --- libcxx/test/std/numerics/c.math/abs.pass.cpp +++ libcxx/test/std/numerics/c.math/abs.pass.cpp @@ -41,8 +41,14 @@ int main(int, char**) { + // On some systems char is unsigned. + // If that is the case, we should just test signed char twice. + typedef typename std::conditional< + std::is_signed::value, char, signed char + >::type SignedChar; + test_abs::type>(); - test_abs::type>(); + test_abs::type>(); test_abs::type>(); test_abs::type>();