1// RUN: %clang_cc1 -fsyntax-only -pedantic -verify %s
2wchar_t x;
3
4void 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
12wchar_t const c = L'c';
13int a[c == L'c' ? 1 : -1];
14
15
16// PR5917
17template<typename _CharT>
18struct basic_string {
19};
20
21template<typename _CharT>
22basic_string<_CharT> operator+ (const basic_string<_CharT>&, _CharT);
23
24int t(void) {
25  basic_string<wchar_t>() + L'-';
26  return (0);
27}
28
29
30// rdar://8040728
31wchar_t in[] = L"\x434" "\x434";  // No warning
32
33