[libc-commits] [libc] [libc] Add `-Wsign-conversion` (PR #129811)
Vinay Deshmukh via libc-commits
libc-commits at lists.llvm.org
Wed Mar 5 17:22:04 PST 2025
================
@@ -285,7 +285,10 @@ LIBC_INLINE constexpr cpp::array<word, N> shift(cpp::array<word, N> array,
return 0;
if (i >= int(N))
return is_neg ? cpp::numeric_limits<word>::max() : 0;
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wsign-conversion"
return array[i];
----------------
vinay-deshmukh wrote:
This didn't work, as the error is at:
```
llvm-project/libc/src/__support/big_int.h:288:36: error: implicit conversion changes signedness: 'const int' to 'size_t' (aka 'unsigned long') [-Werror,-Wsign-conversion]
return static_cast<word>(array[i]);
```
But:
```suggestion
return array[static_cast<size_t>(i)];
```
did work
https://github.com/llvm/llvm-project/pull/129811
More information about the libc-commits
mailing list