The mapping from char to wchar_t needs to handle 'i' and 'I' but those
were absent from the table that is used for some non-ASCII encodings.

libstdc++-v3/ChangeLog:

        * include/bits/basic_string.h (__to_wstring_numeric): Add 'i'
        and 'I' to mapping.
---

Tested x86_64-linux.

 libstdc++-v3/include/bits/basic_string.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libstdc++-v3/include/bits/basic_string.h 
b/libstdc++-v3/include/bits/basic_string.h
index 8369c24d3ae..431ca486ddb 100644
--- a/libstdc++-v3/include/bits/basic_string.h
+++ b/libstdc++-v3/include/bits/basic_string.h
@@ -4575,6 +4575,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
        __wc['d'] = L'd';
        __wc['e'] = L'e';
        __wc['f'] = L'f';
+       __wc['i'] = L'i'; // for "inf"
        __wc['n'] = L'n'; // for "nan" and "inf"
        __wc['p'] = L'p'; // for hexfloats "0x1p1"
        __wc['x'] = L'x';
@@ -4584,6 +4585,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11
        __wc['D'] = L'D';
        __wc['E'] = L'E';
        __wc['F'] = L'F';
+       __wc['I'] = L'I';
        __wc['N'] = L'N';
        __wc['P'] = L'P';
        __wc['X'] = L'X';
-- 
2.47.1

Reply via email to