[PATCH] D21712: [libcxx] [test] Avoid narrowing conversions in quoted.pass.cpp.
Stephan T. Lavavej via cfe-commits
cfe-commits at lists.llvm.org
Fri Jun 24 18:24:52 PDT 2016
STL_MSFT created this revision.
STL_MSFT added reviewers: EricWF, mclow.lists.
STL_MSFT added a subscriber: cfe-commits.
Avoid narrowing conversions in quoted.pass.cpp.
According to the Standard, when char has a signed range and wchar_t has an unsigned range, brace-init has to reject the potentially narrowing conversion.
Fixes MSVC error C2397 "conversion from 'char' to 'wchar_t' requires a narrowing conversion".
http://reviews.llvm.org/D21712
Files:
test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
Index: test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
===================================================================
--- test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
+++ test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
@@ -65,7 +65,7 @@
template <class CharT, class Traits = std::char_traits<CharT>>
void round_trip_d ( const CharT *p, char delim ) {
std::basic_stringstream<CharT, Traits> ss;
- CharT d{delim};
+ CharT d(delim);
ss << std::quoted(p, d);
std::basic_string<CharT, Traits> s;
@@ -76,7 +76,7 @@
template <class CharT, class Traits = std::char_traits<CharT>>
void round_trip_e ( const CharT *p, char escape ) {
std::basic_stringstream<CharT, Traits> ss;
- CharT e{escape};
+ CharT e(escape);
ss << std::quoted(p, CharT('"'), e );
std::basic_string<CharT, Traits> s;
@@ -88,8 +88,8 @@
template <class CharT, class Traits = std::char_traits<CharT>>
std::basic_string<CharT, Traits> quote ( const CharT *p, char delim='"', char escape='\\' ) {
std::basic_stringstream<CharT, Traits> ss;
- CharT d{delim};
- CharT e{escape};
+ CharT d(delim);
+ CharT e(escape);
ss << std::quoted(p, d, e);
std::basic_string<CharT, Traits> s;
ss >> s; // no quote
@@ -101,8 +101,8 @@
std::basic_stringstream<CharT, Traits> ss;
ss << p;
- CharT d{delim};
- CharT e{escape};
+ CharT d(delim);
+ CharT e(escape);
std::basic_string<CharT, Traits> s;
ss >> std::quoted(s, d, e);
return s;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21712.61869.patch
Type: text/x-patch
Size: 1567 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160625/bdae764b/attachment.bin>
More information about the cfe-commits
mailing list