1// RUN: %clang_cc1 %s -fsyntax-only -Wno-unused-value -Wmicrosoft -verify -fms-extensions 2// expected-no-diagnostics 3 4// Wide character predefined identifiers 5#define _STR2WSTR(str) L##str 6#define STR2WSTR(str) _STR2WSTR(str) 7void abcdefghi12(void) { 8 const wchar_t (*ss)[12] = &STR2WSTR(__FUNCTION__); 9 static int arr[sizeof(STR2WSTR(__FUNCTION__))==12*sizeof(wchar_t) ? 1 : -1]; 10} 11 12namespace PR13206 { 13void foo(const wchar_t *); 14 15template<class T> class A { 16public: 17 void method() { 18 foo(L__FUNCTION__); 19 } 20}; 21 22void bar() { 23 A<int> x; 24 x.method(); 25} 26} 27