diff options
author | Marco Falke <falke.marco@gmail.com> | 2022-07-19 10:10:39 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-07-19 14:56:42 +0100 |
commit | 20ab3972240aff596a3fa98e9fb09ddc0658fbb3 (patch) | |
tree | ed828938ab2d9438bb375727a13dcb2776024938 | |
parent | 2c044ff123ee573b7cd63d88f544091b7aeeb8f6 (diff) | |
download | gcc-20ab3972240aff596a3fa98e9fb09ddc0658fbb3.zip gcc-20ab3972240aff596a3fa98e9fb09ddc0658fbb3.tar.gz gcc-20ab3972240aff596a3fa98e9fb09ddc0658fbb3.tar.bz2 |
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.
-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 218813e..533320e 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 |