Fix wchar tests by not assuming that tm is complete and by using the
proper va_list time on non-darwin platforms.
llvm-svn: 135247
diff --git a/libcxx/test/strings/c.strings/cwchar.pass.cpp b/libcxx/test/strings/c.strings/cwchar.pass.cpp
index 2a0029e..d0481b7 100644
--- a/libcxx/test/strings/c.strings/cwchar.pass.cpp
+++ b/libcxx/test/strings/c.strings/cwchar.pass.cpp
@@ -32,10 +32,14 @@
{
std::mbstate_t mb = {0};
std::size_t s = 0;
- std::tm tm = {0};
+ std::tm *tm = 0;
std::wint_t w = 0;
::FILE* fp = 0;
+#ifdef __APPLE__
__darwin_va_list va;
+#else
+ __builtin_va_list va;
+#endif
char* ns = 0;
wchar_t* ws = 0;
static_assert((std::is_same<decltype(std::fwprintf(fp, L"")), int>::value), "");
@@ -93,7 +97,7 @@
static_assert((std::is_same<decltype(std::wmemcpy(ws, L"", s)), wchar_t*>::value), "");
static_assert((std::is_same<decltype(std::wmemmove(ws, L"", s)), wchar_t*>::value), "");
static_assert((std::is_same<decltype(std::wmemset(ws, L' ', s)), wchar_t*>::value), "");
- static_assert((std::is_same<decltype(std::wcsftime(ws, s, L"", &tm)), std::size_t>::value), "");
+ static_assert((std::is_same<decltype(std::wcsftime(ws, s, L"", tm)), std::size_t>::value), "");
static_assert((std::is_same<decltype(std::btowc(0)), wint_t>::value), "");
static_assert((std::is_same<decltype(std::wctob(w)), int>::value), "");
static_assert((std::is_same<decltype(std::mbsinit(&mb)), int>::value), "");