/contrib/sdk/sources/Mesa/mesa-10.6.0/src/glsl/glcpp/tests/039-func-arg-obj-macro-with-comma.c |
---|
0,0 → 1,24 |
/* This works. */ |
#define foo(a) (a) |
#define bar two,words |
foo(bar) |
/* So does this. */ |
#define foo2(a,b) (a separate b) |
#define foo2_wrap(a) foo2(a) |
foo2_wrap(bar) |
/* But this generates an error. */ |
#define foo_wrap(a) foo(a) |
foo_wrap(bar) |
/* Adding parentheses to foo_wrap fixes it. */ |
#define foo_wrap_parens(a) foo((a)) |
foo_wrap_parens(bar) |
/* As does adding parentheses to bar */ |
#define bar_parens (two,words) |
foo_wrap(bar_parens) |
foo_wrap_parens(bar_parens) |