1 // RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
2 wchar_t x;
3 
f(wchar_t p)4 void f(wchar_t p) {
5   wchar_t x;
6   unsigned wchar_t y; // expected-warning {{'wchar_t' cannot be signed or unsigned}}
7   signed wchar_t z; // expected-warning {{'wchar_t' cannot be signed or unsigned}}
8   ++x;
9 }
10 
11 // PR4502
12 wchar_t const c = L'c';
13 int a[c == L'c' ? 1 : -1];
14 
15 
16 // PR5917
17 template<typename _CharT>
18 struct basic_string {
19 };
20 
21 template<typename _CharT>
22 basic_string<_CharT> operator+ (const basic_string<_CharT>&, _CharT);
23 
t(void)24 int t(void) {
25   basic_string<wchar_t>() + L'-';
26   return (0);
27 }
28 
29 
30 // rdar://8040728
31 wchar_t in[] = L"\x434" "\x434";  // No warning
32 
33