diff --git a/include/ic.h b/include/ic.h index 108c101..fe4727c 100644 --- a/include/ic.h +++ b/include/ic.h @@ -539,7 +539,14 @@ void bitzdec(unsigned char *in, unsigned n, unsigned esize); //------- Lossy floating point transform: pad the trailing mantissa bits with zeros according to the error e (ex. e=0.00001) // must include float.h to use _Float16 (see icapp.c) - #if defined(FLT16_MAX) +#if defined(__clang__) && defined(__is_identifier) + #if !__is_identifier(_Float16) + #undef FLT16_BUILTIN + #endif +#elif defined(FLT16_MAX) +#define FLT16_BUILTIN +#endif + #ifdef FLT16_BUILTIN _Float16 _fprazor16(_Float16 d, float e, int lg2e); void fprazor16(_Float16 *in, unsigned n, _Float16 *out, float e); #endif