diff -ur skia.org/include/private/base/SkFloatingPoint.h skia/include/private/base/SkFloatingPoint.h --- skia.org/include/private/base/SkFloatingPoint.h 2024-10-04 15:22:58.494566218 +0200 +++ skia/include/private/base/SkFloatingPoint.h 2024-10-04 15:23:49.102832411 +0200 @@ -132,7 +132,9 @@ // Cast double to float, ignoring any warning about too-large finite values being cast to float. // Clang thinks this is undefined, but it's actually implementation defined to return either // the largest float or infinity (one of the two bracketing representable floats). Good enough! +#if defined(__clang__) SK_NO_SANITIZE("float-cast-overflow") +#endif static constexpr float sk_double_to_float(double x) { return static_cast(x); } @@ -161,12 +163,16 @@ #pragma warning(push) #pragma warning(disable : 4723) #endif +#if defined(__clang__) SK_NO_SANITIZE("float-divide-by-zero") +#endif static constexpr float sk_ieee_float_divide(float numer, float denom) { return numer / denom; } +#if defined(__clang__) SK_NO_SANITIZE("float-divide-by-zero") +#endif static constexpr double sk_ieee_double_divide(double numer, double denom) { return numer / denom; }