int main()
{
- fenv_t fenv = {0};
+ fenv_t fenv = {};
fexcept_t fex = 0;
static_assert((std::is_same<decltype(feclearexcept(0)), int>::value), "");
static_assert((std::is_same<decltype(fegetexceptflag(&fex, 0)), int>::value), "");
clock_t c = 0; ((void)c);
size_t s = 0;
time_t t = 0;
- tm tmv = {0};
+ tm tmv = {};
static_assert((std::is_same<decltype(clock()), clock_t>::value), "");
static_assert((std::is_same<decltype(difftime(t,t)), double>::value), "");
static_assert((std::is_same<decltype(mktime(&tmv)), time_t>::value), "");
// <wchar.h>
#include <wchar.h>
+#include <stdarg.h>
#include <type_traits>
#ifndef NULL
int main()
{
// mbstate_t comes from the underlying C library; it is defined (in C99) as:
-// a complete object type other than an array type that can hold the conversion
-// state information necessary to convert between sequences of multibyte
+// a complete object type other than an array type that can hold the conversion
+// state information necessary to convert between sequences of multibyte
// characters and wide characters
-#if defined(__clang__)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wmissing-braces"
-#endif
- mbstate_t mb = {0};
-#if defined(__clang__)
-#pragma clang diagnostic pop
-#endif
-
+ mbstate_t mb = {};
size_t s = 0;
tm *tm = 0;
wint_t w = 0;
::FILE* fp = 0;
-#ifdef __APPLE__
- __darwin_va_list va;
-#else
- __builtin_va_list va;
-#endif
+ ::va_list va;
char* ns = 0;
wchar_t* ws = 0;
static_assert((std::is_same<decltype(fwprintf(fp, L"")), int>::value), "");