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