summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-02-12 21:42:35 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-02-12 21:42:35 +0000
commitbd18417b4d3124a298e86ba351286a91c2ce6c1e (patch)
treec895e4c1225a1e778dda818663a8f6c9cab078bf /test
parenteffe3dc412528d0e34bfa41a56d1dc0a03e1e0bc (diff)
downloadlibcxx-bd18417b4d3124a298e86ba351286a91c2ce6c1e.tar.gz
test: use char32_t rather than wchar_t
wchar_t is not as portable as char32_t. On Windows, wchar_t is 16-bytes and on Linux 32-bits. The conversion to utf8 causes the characters to exceed the limits on char16_t, resulting in tautological comparisons. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294917 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp40
-rw-r--r--test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp18
2 files changed, 29 insertions, 29 deletions
diff --git a/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp b/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
index 4d710c1a9..56d6262d0 100644
--- a/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
+++ b/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
@@ -28,11 +28,11 @@
int main()
{
{
- typedef std::codecvt_utf16<wchar_t> C;
+ typedef std::codecvt_utf16<char32_t> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[4] = {char(0xD8), char(0xC0), char(0xDC), char(0x03)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+4, np, &w, &w+1, wp);
@@ -67,11 +67,11 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf16<wchar_t, 0x1000> C;
+ typedef std::codecvt_utf16<char32_t, 0x1000> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[4] = {char(0xD8), char(0xC0), char(0xDC), char(0x03)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+4, np, &w, &w+1, wp);
@@ -106,11 +106,11 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf16<wchar_t, 0x10ffff, std::consume_header> C;
+ typedef std::codecvt_utf16<char32_t, 0x10ffff, std::consume_header> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[6] = {char(0xFE), char(0xFF), char(0xD8), char(0xC0), char(0xDC), char(0x03)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+6, np, &w, &w+1, wp);
@@ -145,11 +145,11 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf16<wchar_t, 0x10ffff, std::little_endian> C;
+ typedef std::codecvt_utf16<char32_t, 0x10ffff, std::little_endian> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[4] = {char(0xC0), char(0xD8), char(0x03), char(0xDC)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+4, np, &w, &w+1, wp);
@@ -184,11 +184,11 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf16<wchar_t, 0x1000, std::little_endian> C;
+ typedef std::codecvt_utf16<char32_t, 0x1000, std::little_endian> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[4] = {char(0xC0), char(0xD8), char(0x03), char(0xDC)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+4, np, &w, &w+1, wp);
@@ -223,13 +223,13 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf16<wchar_t, 0x10ffff, std::codecvt_mode(
- std::consume_header |
- std::little_endian)> C;
+ typedef std::codecvt_utf16<char32_t, 0x10ffff,
+ std::codecvt_mode(std::consume_header | std::little_endian)> C;
+
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[6] = {char(0xFF), char(0xFE), char(0xC0), char(0xD8), char(0x03), char(0xDC)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+6, np, &w, &w+1, wp);
diff --git a/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp b/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
index 382ea1226..308bb9da2 100644
--- a/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
+++ b/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
@@ -28,11 +28,11 @@
int main()
{
{
- typedef std::codecvt_utf8<wchar_t> C;
+ typedef std::codecvt_utf8<char32_t> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[4] = {char(0xF1), char(0x80), char(0x80), char(0x83)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+4, np, &w, &w+1, wp);
@@ -67,11 +67,11 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf8<wchar_t, 0x1000> C;
+ typedef std::codecvt_utf8<char32_t, 0x1000> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[4] = {char(0xF1), char(0x80), char(0x80), char(0x83)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+4, np, &w, &w+1, wp);
@@ -106,11 +106,11 @@ int main()
assert(w == 0x56);
}
{
- typedef std::codecvt_utf8<wchar_t, 0xFFFFFFFF, std::consume_header> C;
+ typedef std::codecvt_utf8<char32_t, 0xFFFFFFFF, std::consume_header> C;
C c;
- wchar_t w = 0;
+ char32_t w = 0;
char n[7] = {char(0xEF), char(0xBB), char(0xBF), char(0xF1), char(0x80), char(0x80), char(0x83)};
- wchar_t* wp = nullptr;
+ char32_t* wp = nullptr;
std::mbstate_t m;
const char* np = nullptr;
std::codecvt_base::result r = c.in(m, n, n+7, np, &w, &w+1, wp);