diff options
Diffstat (limited to 'test/Preprocessor/macro_paste_msextensions.c')
-rw-r--r-- | test/Preprocessor/macro_paste_msextensions.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/Preprocessor/macro_paste_msextensions.c b/test/Preprocessor/macro_paste_msextensions.c index 71324064f7..c5b42130b8 100644 --- a/test/Preprocessor/macro_paste_msextensions.c +++ b/test/Preprocessor/macro_paste_msextensions.c @@ -1,4 +1,5 @@ // RUN: %clang_cc1 -P -E -fms-extensions %s | FileCheck -strict-whitespace %s + // This horrible stuff should preprocess into (other than whitespace): // int foo; // int bar; @@ -24,3 +25,10 @@ nested(baz) rise of the dead tokens // CHECK: int baz // CHECK: ; + +// rdar://8197149 - VC++ allows invalid token pastes: (##baz +#define foo(x) abc(x) +#define bar(y) foo(##baz(y)) +bar(q) + +// CHECK: abc(baz(q)) |