1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 %s -fsyntax-only -verify 2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 %s -fsyntax-only -fshort-wchar -verify -DSHORT_WCHAR 3947e00db0767596711f8571a5d276269043a2331Benjamin Kramer 4947e00db0767596711f8571a5d276269043a2331Benjamin Kramertypedef __WCHAR_TYPE__ wchar_t; 5947e00db0767596711f8571a5d276269043a2331Benjamin Kramer 6a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson#if defined(_WIN32) || defined(_M_IX86) || defined(__CYGWIN__) \ 7a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson || defined(_M_X64) || defined(SHORT_WCHAR) 8a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson #define WCHAR_T_TYPE unsigned short 95024bf501a03bc9423476cb976bc4029dd9a56f5Tim Northover#elif defined(__arm) || defined(__aarch64__) 104c6d6dc793b95c1712333d8393c98ba15c7bdd97Hans Wennborg #define WCHAR_T_TYPE unsigned int 1111ac3f54a87b57ce74060c2cef833b4fab5ccd9eEdward O'Callaghan#elif defined(__sun) || defined(__AuroraUX__) 1211ac3f54a87b57ce74060c2cef833b4fab5ccd9eEdward O'Callaghan #define WCHAR_T_TYPE long 1311ac3f54a87b57ce74060c2cef833b4fab5ccd9eEdward O'Callaghan#else /* Solaris or AuroraUX. */ 14a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson #define WCHAR_T_TYPE int 15a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson#endif 16a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson 1719753cfa6059b237880a91f21ef58f2d8984845fChris Lattnerint check_wchar_size[sizeof(*L"") == sizeof(wchar_t) ? 1 : -1]; 18a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson 1919753cfa6059b237880a91f21ef58f2d8984845fChris Lattnervoid foo() { 20a6fda124bf380479529d6a80b84b62cacd3cb707John Thompson WCHAR_T_TYPE t1[] = L"x"; 2119753cfa6059b237880a91f21ef58f2d8984845fChris Lattner wchar_t tab[] = L"x"; 220ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg WCHAR_T_TYPE t2[] = "x"; // expected-error {{initializing wide char array with non-wide string literal}} 230ff5074f37a66bca244a9d5d0da050ff68693ce2Hans Wennborg char t3[] = L"x"; // expected-error {{initializing char array with wide string literal}} 2419753cfa6059b237880a91f21ef58f2d8984845fChris Lattner} 25