diff options
Diffstat (limited to 'tests/preprocessor/define-function-like.spire')
| -rw-r--r-- | tests/preprocessor/define-function-like.spire | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/preprocessor/define-function-like.spire b/tests/preprocessor/define-function-like.spire new file mode 100644 index 000000000..f1dd9caa4 --- /dev/null +++ b/tests/preprocessor/define-function-like.spire @@ -0,0 +1,19 @@ +//TEST:SIMPLE: +// support for function-like macros + +#define FOO(x) 1.0 + x + +float foo(float y) { return FOO(y) * 2.0; } + +// simple token pasting + +#define PASTE(a,b) a##b + +PASTE(flo,at) bar() { return 0.0; } + +// no space before parens? not a function-like macro + +#define M (x) - (x) + +// Error: undefined identifier `x` +float bar(float a) { return M(a); } |
