diff options
Diffstat (limited to 'clang/test/Preprocessor/macro_paste_hard.c')
-rw-r--r-- | clang/test/Preprocessor/macro_paste_hard.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/macro_paste_hard.c b/clang/test/Preprocessor/macro_paste_hard.c new file mode 100644 index 0000000..fad8426 --- /dev/null +++ b/clang/test/Preprocessor/macro_paste_hard.c @@ -0,0 +1,17 @@ +// RUN: %clang_cc1 -E %s | grep '1: aaab 2' +// RUN: %clang_cc1 -E %s | grep '2: 2 baaa' +// RUN: %clang_cc1 -E %s | grep '3: 2 xx' + +#define a(n) aaa ## n +#define b 2 +1: a(b b) // aaab 2 2 gets expanded, not b. + +#undef a +#undef b +#define a(n) n ## aaa +#define b 2 +2: a(b b) // 2 baaa 2 gets expanded, not b. + +#define baaa xx +3: a(b b) // 2 xx + |