llvm-project/clang/test/Lexer/ms-compatibility.c
Alexey Bataev 583b076223 MSVC: A wide string literal from L#macro_arg in a macro
Clang should form a wide string literal from L#macro_arg in a function-like macro in -fms-compatibility mode.
Fix for http://llvm.org/PR9984.
Differential Revision: http://reviews.llvm.org/D6604

llvm-svn: 224228
2014-12-15 04:18:11 +00:00

12 lines
428 B
C

// RUN: %clang_cc1 -fsyntax-only -E -fms-compatibility %s | FileCheck --check-prefix=CHECK-MS-COMPAT %s
// RUN: %clang_cc1 -fsyntax-only -E %s | FileCheck --check-prefix=CHECK-NO-MS-COMPAT %s
#define FN(x) L#x
#define F L "aaa"
void *v1 = FN(aaa);
void *v2 = F;
// CHECK-MS-COMPAT: void *v1 = L"aaa";
// CHECK-MS-COMPAT: void *v2 = L "aaa";
// CHECK-NO-MS-COMPAT: void *v1 = L "aaa";
// CHECK-NO-MS-COMPAT: void *v2 = L "aaa";