summaryrefslogtreecommitdiffstats
path: root/src/glsl/glcpp/tests/039-func-arg-obj-macro-with-comma.c
blob: a7c053bb4026a18e92e8357eb555bddeedd19c81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)