<div>On Windows, the type of wide characters is unsigned short, causing the Sema/wchar.c to fail, which assumes int type.<br clear="all"></div>
<div>The easiest fix seems to be to conditionalize it, as follows:</div>
<div> </div>
<div>Index: test/Sema/wchar.c<br>===================================================================<br>--- test/Sema/wchar.c   (revision 85400)<br>+++ test/Sema/wchar.c   (working copy)<br>@@ -4,7 +4,11 @@<br> int check_wchar_size[sizeof(*L"") == sizeof(wchar_t) ? 1 : -1];</div>

<div> void foo() {<br>+#if defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__)<br>+  unsigned short t1[] = L"x";<br>+#else<br>   int t1[] = L"x";<br>+#endif<br>   wchar_t tab[] = L"x";</div>

<div>   int t2[] = "x";     // expected-error {{initialization}}<br></div>
<div>I considered changing the target triple, but that would lead to header problems because of the wchar.h inclusion.</div>
<div><br>-- <br>John Thompson<br><a href="mailto:John.Thompson.JTSoftware@gmail.com">John.Thompson.JTSoftware@gmail.com</a><br><br></div>