xref: /aosp_15_r20/external/mesa3d/src/compiler/glsl/glcpp/tests/039-func-arg-obj-macro-with-comma.c (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /* This works. */
2 #define foo(a) (a)
3 #define bar two,words
4 foo(bar)
5 
6 /* So does this. */
7 #define foo2(a,b) (a separate b)
8 #define foo2_wrap(a) foo2(a)
9 foo2_wrap(bar)
10 
11 /* But this generates an error. */
12 #define foo_wrap(a) foo(a)
13 foo_wrap(bar)
14 
15 /* Adding parentheses to foo_wrap fixes it. */
16 #define foo_wrap_parens(a) foo((a))
17 foo_wrap_parens(bar)
18 
19 /* As does adding parentheses to bar */
20 #define bar_parens (two,words)
21 foo_wrap(bar_parens)
22 foo_wrap_parens(bar_parens)
23 
24 
25