llvm-project/clang/test/Preprocessor/stringize_space.c
Richard Smith 4b83886ff1 When copying whitespace flags from the token naming a macro argument onto the
first token of the expansion, don't forget to copy the "is at the start of a
line" token (which is always false, as newlines cannot appear within a macro
body); otherwise, stringizing the result can insert spurious whitespace.

llvm-svn: 257863
2016-01-15 03:24:18 +00:00

21 lines
278 B
C

// RUN: %clang_cc1 -E %s | FileCheck --strict-whitespace %s
#define A(b) -#b , - #b , -# b , - # b
A()
// CHECK: {{^}}-"" , - "" , -"" , - ""{{$}}
#define t(x) #x
t(a
c)
// CHECK: {{^}}"a c"{{$}}
#define str(x) #x
#define f(x) str(-x)
f(
1)
// CHECK: {{^}}"-1"