Home | History | Annotate | Download | only in Sema
      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)
      7 void 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 
     12 namespace PR13206 {
     13 void foo(const wchar_t *);
     14 
     15 template<class T> class A {
     16 public:
     17  void method() {
     18   foo(L__FUNCTION__);
     19  }
     20 };
     21 
     22 void bar() {
     23  A<int> x;
     24  x.method();
     25 }
     26 }
     27