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