Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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.