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.
+}