diff options
author | Nico Weber <nicolasweber@gmx.de> | 2012-06-25 22:30:41 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2012-06-25 22:30:41 +0000 |
commit | 94d92fb96eef1c7c9b1f7ce66756169ae035cfce (patch) | |
tree | f5247c041280b40e7d145a9c081b157a4ba8496a | |
parent | 78eb76e2eefdc381dd4a97bc8ee628ae975aff35 (diff) |
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
-rw-r--r-- | test/CodeGenCXX/ms_wide_predefined_expr.cpp | 20 | ||||
-rw-r--r-- | test/Sema/ms_wide_predefined_expr.cpp | 9 |
2 files changed, 29 insertions, 0 deletions
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]; +} |