libstdc++: Fix narrowing conversion in std/time/clock/utc/io.cc
For a port with signed char and unsigned wchar_t initializing a wchar_t array with a char is a narrowing conversion. The code is wrong for assuming that (int)'a' == (int)L'a' anyway, so fix it properly by using ctype<wchar_t>::widen(char). libstdc++-v3/ChangeLog: * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
This commit is contained in:
parent
e658e8157d
commit
4dc4584b60
1 changed files with 2 additions and 1 deletions
|
@ -46,6 +46,7 @@ test_format()
|
|||
|
||||
std::ostringstream ss;
|
||||
std::wostringstream wss;
|
||||
const auto& ct = std::use_facet<std::ctype<wchar_t>>(wss.getloc());
|
||||
|
||||
for (char c : specs)
|
||||
{
|
||||
|
@ -68,7 +69,7 @@ test_format()
|
|||
"required by the chrono-specs") != s.npos);
|
||||
}
|
||||
|
||||
wchar_t wfmt[] = { L'{', L':', L'%', c, L'}' };
|
||||
wchar_t wfmt[] = { L'{', L':', L'%', ct.widen(c), L'}' };
|
||||
try
|
||||
{
|
||||
wss << std::vformat(std::wstring_view(wfmt, 5),
|
||||
|
|
Loading…
Add table
Reference in a new issue