diff options
Diffstat (limited to 'tests/preprocessor/paste-non-expansion.slang')
| -rw-r--r-- | tests/preprocessor/paste-non-expansion.slang | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/preprocessor/paste-non-expansion.slang b/tests/preprocessor/paste-non-expansion.slang new file mode 100644 index 000000000..8270db676 --- /dev/null +++ b/tests/preprocessor/paste-non-expansion.slang @@ -0,0 +1,16 @@ +//DIAGNOSTIC_TEST:SIMPLE:-E + +// NOTE! This test should *fail*, if preprocessor is working correctly! + +// This demonstrates the existance of a bug in Slang preprocessor macro expansion. Could be due to incorrect paste handling +// or perhaps the rules around parameter expansion. + +#define CONCAT2(x, y) x ## y +#define CONCAT(x, y) CONCAT2(x, y) + +#define SOMETHING someThing + +// Should be someThingElse +CONCAT(SOMETHING, Else) +// Should be SOMETHINGAnother, but Slang expands to produce someThingAnother +CONCAT2(SOMETHING, Another)
\ No newline at end of file |
