diff options
author | Marco Falke <falke.marco@gmail.com> | 2022-07-19 10:10:39 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-07-21 09:57:25 +0100 |
commit | 0bb30f94ace6be68bd315d03f36b24bbaec2bee7 (patch) | |
tree | f992f6a8355551acd07deac90d8938417b6da352 | |
parent | f3ff78e3db0fc18127dac4fe3eaf113d0c5ddd01 (diff) |
libstdc++: Make __from_chars_alnum_to_val conversion explicit
The optimizations from commit r12-8175-ga54137c88061c7 introduced a
clang integer sanitizer error.
Fix this with an explicit static_cast, similar to the fix for PR 96766.
libstdc++-v3/ChangeLog:
* include/std/charconv (__from_chars_alnum_to_val): Replace
implicit conversion from int to unsigned char with explicit
cast.
(cherry picked from commit 20ab3972240aff596a3fa98e9fb09ddc0658fbb3)
-rw-r--r-- | libstdc++-v3/include/std/charconv | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv index 218813e4797..533320ea085 100644 --- a/libstdc++-v3/include/std/charconv +++ b/libstdc++-v3/include/std/charconv @@ -436,7 +436,7 @@ namespace __detail __from_chars_alnum_to_val(unsigned char __c) { if _GLIBCXX17_CONSTEXPR (_DecOnly) - return __c - '0'; + return static_cast<unsigned char>(__c - '0'); else { // This initializer is deliberately made dependent in order to work |