diff options
Diffstat (limited to 'test/Preprocessor/macro_paste_hard.c')
-rw-r--r-- | test/Preprocessor/macro_paste_hard.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Preprocessor/macro_paste_hard.c b/test/Preprocessor/macro_paste_hard.c new file mode 100644 index 0000000..25b6c19 --- /dev/null +++ b/test/Preprocessor/macro_paste_hard.c @@ -0,0 +1,17 @@ +// RUN: clang-cc -E %s | grep '1: aaab 2' && +// RUN: clang-cc -E %s | grep '2: 2 baaa' && +// RUN: clang-cc -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 + |