[libc-commits] [libc] bb830bc - [libc][NFC] Suppress warnings on floating point conversions

Joseph Huber via libc-commits libc-commits at lists.llvm.org
Tue Aug 15 11:24:39 PDT 2023


Author: Joseph Huber
Date: 2023-08-15T12:47:44-05:00
New Revision: bb830bca049e74c2c349440d44446511e4f958be

URL: https://github.com/llvm/llvm-project/commit/bb830bca049e74c2c349440d44446511e4f958be
DIFF: https://github.com/llvm/llvm-project/commit/bb830bca049e74c2c349440d44446511e4f958be.diff

LOG: [libc][NFC] Suppress warnings on floating point conversions

Summary:
We implement round by implicitly converting these floating point values.
Sometimes this emits warnings that we should silence by making these
explicit casts.

Added: 
    

Modified: 
    libc/src/math/gpu/vendor/amdgpu/amdgpu.h

Removed: 
    


################################################################################
diff  --git a/libc/src/math/gpu/vendor/amdgpu/amdgpu.h b/libc/src/math/gpu/vendor/amdgpu/amdgpu.h
index 6635ea51cd6168..3f25dea8b379d0 100644
--- a/libc/src/math/gpu/vendor/amdgpu/amdgpu.h
+++ b/libc/src/math/gpu/vendor/amdgpu/amdgpu.h
@@ -38,10 +38,18 @@ LIBC_INLINE int ilogb(double x) { return __ocml_ilogb_f64(x); }
 LIBC_INLINE int ilogbf(float x) { return __ocml_ilogb_f32(x); }
 LIBC_INLINE double ldexp(double x, int i) { return __builtin_ldexp(x, i); }
 LIBC_INLINE float ldexpf(float x, int i) { return __builtin_ldexpf(x, i); }
-LIBC_INLINE long long llrint(double x) { return __builtin_rint(x); }
-LIBC_INLINE long long llrintf(float x) { return __builtin_rintf(x); }
-LIBC_INLINE long long llround(double x) { return __builtin_round(x); }
-LIBC_INLINE long long llroundf(float x) { return __builtin_roundf(x); }
+LIBC_INLINE long long llrint(double x) {
+  return static_cast<long long>(__builtin_rint(x));
+}
+LIBC_INLINE long long llrintf(float x) {
+  return static_cast<long long>(__builtin_rintf(x));
+}
+LIBC_INLINE long long llround(double x) {
+  return static_cast<long long>(__builtin_round(x));
+}
+LIBC_INLINE long long llroundf(float x) {
+  return static_cast<long long>(__builtin_roundf(x));
+}
 LIBC_INLINE double nextafter(double x, double y) {
   return __ocml_nextafter_f64(x, y);
 }


        


More information about the libc-commits mailing list