Cross Reference: 039-func-arg-obj-macro-with-comma.c
xref: /xsrc/external/mit/MesaLib/dist/src/compiler/glsl/glcpp/tests/039-func-arg-obj-macro-with-comma.c
  • Home
  • History
  • AnnotateAnnotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /xsrc/external/mit/MesaLib/dist/src/compiler/glsl/glcpp/tests/
101e04c3fSmrg/* This works. */
201e04c3fSmrg#define foo(a) (a)
301e04c3fSmrg#define bar two,words
401e04c3fSmrgfoo(bar)
501e04c3fSmrg
601e04c3fSmrg/* So does this. */
701e04c3fSmrg#define foo2(a,b) (a separate b)
801e04c3fSmrg#define foo2_wrap(a) foo2(a)
901e04c3fSmrgfoo2_wrap(bar)
1001e04c3fSmrg
1101e04c3fSmrg/* But this generates an error. */
1201e04c3fSmrg#define foo_wrap(a) foo(a)
1301e04c3fSmrgfoo_wrap(bar)
1401e04c3fSmrg
1501e04c3fSmrg/* Adding parentheses to foo_wrap fixes it. */
1601e04c3fSmrg#define foo_wrap_parens(a) foo((a))
1701e04c3fSmrgfoo_wrap_parens(bar)
1801e04c3fSmrg
1901e04c3fSmrg/* As does adding parentheses to bar */
2001e04c3fSmrg#define bar_parens (two,words)
2101e04c3fSmrgfoo_wrap(bar_parens)
2201e04c3fSmrgfoo_wrap_parens(bar_parens)
2301e04c3fSmrg
2401e04c3fSmrg
25

Indexes created Tue Dec 02 23:09:33 GMT 2025