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