fix PR7192 by defining wchar_t in a more conventional way. The
type of L"x" can change based on command line arguments.
llvm-svn: 113127
diff --git a/clang/lib/Headers/stddef.h b/clang/lib/Headers/stddef.h
index fdd4815..84ec1a7 100644
--- a/clang/lib/Headers/stddef.h
+++ b/clang/lib/Headers/stddef.h
@@ -34,7 +34,7 @@
#ifndef __cplusplus
#ifndef _WCHAR_T
#define _WCHAR_T
-typedef __typeof__(*L"") wchar_t;
+typedef __WCHAR_TYPE__ wchar_t;
#endif
#endif
diff --git a/clang/test/Sema/warn-write-strings.c b/clang/test/Sema/warn-write-strings.c
index 450d0a6..dd0bb8a 100644
--- a/clang/test/Sema/warn-write-strings.c
+++ b/clang/test/Sema/warn-write-strings.c
@@ -2,3 +2,9 @@
// PR4804
char* x = "foo"; // expected-warning {{initializing 'char *' with an expression of type 'const char [4]' discards qualifiers}}
+
+// PR7192
+#include <stddef.h>
+void test(wchar_t *dst) {
+ dst[0] = 0; // Ok.
+}