Run the asinh(+0) test with LLVM libc when the SDK provides asinh LLVM libc's math.h doesn't declare asinh, so declare it and only skip the test when the compiler's implementation is used.
diff --git a/test/pico_float_test/pico_double_test.c b/test/pico_float_test/pico_double_test.c index 752b3e6..f5bbd06 100644 --- a/test/pico_float_test/pico_double_test.c +++ b/test/pico_float_test/pico_double_test.c
@@ -27,6 +27,11 @@ #include <sys/types.h> #include "inttypes.h" +#if defined(__LLVM_LIBC__) && defined(__llvm__) +// LLVM libc doesn't declare asinh, but the SDK implementation provides it +double asinh(double); +#endif + #if !LIB_PICO_DOUBLE_COMPILER #define TEST_SATURATION 1 #endif @@ -362,7 +367,7 @@ bool fail = false; -#if !(defined(__LLVM_LIBC__) && defined(__llvm__)) +#if !(defined(__LLVM_LIBC__) && defined(__llvm__) && LIB_PICO_DOUBLE_COMPILER) // asinh(+0) must keep its sign { volatile double zero = 0.0;