From: Marco Falke Date: Tue, 19 Jul 2022 09:10:39 +0000 (+0100) Subject: libstdc++: Make __from_chars_alnum_to_val conversion explicit X-Git-Tag: releases/gcc-12.2.0~106 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0bb30f94ace6be68bd315d03f36b24bbaec2bee7;p=thirdparty%2Fgcc.git 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) --- diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv index 218813e4797f..533320ea0852 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(__c - '0'); else { // This initializer is deliberately made dependent in order to work