From: Nico Weber Date: Mon, 25 Jun 2012 22:30:41 +0000 (+0000) Subject: Add tests that I wrote for r159060 but forgot to `svn add`. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=94d92fb96eef1c7c9b1f7ce66756169ae035cfce;p=clang Add tests that I wrote for r159060 but forgot to `svn add`. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159170 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGenCXX/ms_wide_predefined_expr.cpp b/test/CodeGenCXX/ms_wide_predefined_expr.cpp new file mode 100644 index 0000000000..5f0bcdee8c --- /dev/null +++ b/test/CodeGenCXX/ms_wide_predefined_expr.cpp @@ -0,0 +1,20 @@ +// RUN: %clang_cc1 %s -fms-extensions -triple i686-pc-win32 -emit-llvm -o - | FileCheck %s + +// CHECK: @L__FUNCTION__._Z4funcv = private constant [5 x i16] [i16 102, i16 117, i16 110, i16 99, i16 0], align 2 + +void wprint(const wchar_t*); + +#define __STR2WSTR(str) L##str +#define _STR2WSTR(str) __STR2WSTR(str) +#define STR2WSTR(str) _STR2WSTR(str) + +void func() { + wprint(STR2WSTR(__FUNCTION__)); +} + +int main() { + func(); + + return 0; +} + diff --git a/test/Sema/ms_wide_predefined_expr.cpp b/test/Sema/ms_wide_predefined_expr.cpp new file mode 100644 index 0000000000..4df64dc021 --- /dev/null +++ b/test/Sema/ms_wide_predefined_expr.cpp @@ -0,0 +1,9 @@ +// RUN: %clang_cc1 %s -fsyntax-only -Wno-unused-value -Wmicrosoft -verify -fms-extensions + +// Wide character predefined identifiers +#define _STR2WSTR(str) L##str +#define STR2WSTR(str) _STR2WSTR(str) +void abcdefghi12(void) { + const wchar_t (*ss)[12] = &STR2WSTR(__FUNCTION__); + static int arr[sizeof(STR2WSTR(__FUNCTION__))==12*sizeof(wchar_t) ? 1 : -1]; +}