From da61b0ddc5dcc8f1ac64eaddabdbfec5aa23f22b Mon Sep 17 00:00:00 2001 From: Augie Fackler Date: Wed, 5 Mar 2025 13:52:31 -0500 Subject: Revert "[libc] Enable -Wconversion for tests. (#127523)" This reverts commit 1e6e845d49a336e9da7ca6c576ec45c0b419b5f6 because it changed the 1st parameter of adjust() to be unsigned, but libc itself calls adjust() with a negative argument in align_backward() in op_generic.h. --- libc/src/string/memory_utils/utils.h | 4 ++-- libc/src/string/string_utils.h | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'libc/src/string') diff --git a/libc/src/string/memory_utils/utils.h b/libc/src/string/memory_utils/utils.h index 508a70794211..5c9bc72208f8 100644 --- a/libc/src/string/memory_utils/utils.h +++ b/libc/src/string/memory_utils/utils.h @@ -263,7 +263,7 @@ LIBC_INLINE void store_aligned(ValueType value, Ptr dst) { static_assert(sizeof(ValueType) >= (sizeof(T) + ... + sizeof(TS))); constexpr size_t SHIFT = sizeof(T) * 8; if constexpr (Endian::IS_LITTLE) { - store(assume_aligned(dst), T(value & T(~0))); + store(assume_aligned(dst), value & ~T(0)); if constexpr (sizeof...(TS) > 0) store_aligned(value >> SHIFT, dst + sizeof(T)); } else if constexpr (Endian::IS_BIG) { @@ -293,7 +293,7 @@ LIBC_INLINE void store64_aligned(uint64_t value, Ptr dst, size_t offset) { // Advances the pointers p1 and p2 by offset bytes and decrease count by the // same amount. template -LIBC_INLINE void adjust(uintptr_t offset, T1 *__restrict &p1, +LIBC_INLINE void adjust(ptrdiff_t offset, T1 *__restrict &p1, T2 *__restrict &p2, size_t &count) { p1 += offset; p2 += offset; diff --git a/libc/src/string/string_utils.h b/libc/src/string/string_utils.h index e4659f65c93e..583d35014d39 100644 --- a/libc/src/string/string_utils.h +++ b/libc/src/string/string_utils.h @@ -66,7 +66,7 @@ LIBC_INLINE size_t string_length_wide_read(const char *src) { for (; reinterpret_cast(char_ptr) % sizeof(Word) != 0; ++char_ptr) { if (*char_ptr == '\0') - return static_cast(char_ptr - src); + return char_ptr - src; } // Step 2: read blocks for (const Word *block_ptr = reinterpret_cast(char_ptr); @@ -77,7 +77,7 @@ LIBC_INLINE size_t string_length_wide_read(const char *src) { for (; *char_ptr != '\0'; ++char_ptr) { ; } - return static_cast(char_ptr - src); + return char_ptr - src; } // Returns the length of a string, denoted by the first occurrence @@ -169,7 +169,7 @@ LIBC_INLINE size_t complementary_span(const char *src, const char *segment) { for (; *src && !bitset.test(*reinterpret_cast(src)); ++src) ; - return static_cast(src - initial); + return src - initial; } // Given the similarities between strtok and strtok_r, we can implement both @@ -189,14 +189,12 @@ LIBC_INLINE char *string_token(char *__restrict src, if (LIBC_UNLIKELY(src == nullptr && ((src = *saveptr) == nullptr))) return nullptr; - static_assert(sizeof(char) == sizeof(cpp::byte), - "bitset of 256 assumes char is 8 bits"); cpp::bitset<256> delimiter_set; for (; *delimiter_string != '\0'; ++delimiter_string) - delimiter_set.set(static_cast(*delimiter_string)); + delimiter_set.set(*delimiter_string); if constexpr (SkipDelim) - for (; *src != '\0' && delimiter_set.test(static_cast(*src)); ++src) + for (; *src != '\0' && delimiter_set.test(*src); ++src) ; if (*src == '\0') { *saveptr = src; @@ -204,7 +202,7 @@ LIBC_INLINE char *string_token(char *__restrict src, } char *token = src; for (; *src != '\0'; ++src) { - if (delimiter_set.test(static_cast(*src))) { + if (delimiter_set.test(*src)) { *src = '\0'; ++src; break; -- cgit v1.2.3