Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #define D1(s, ...) s
  2. #define D2(s, ...) s D1(__VA_ARGS__)
  3. #define D3(s, ...) s D2(__VA_ARGS__)
  4. #define D4(s, ...) s D3(__VA_ARGS__)
  5.  
  6. D1(a)
  7. D2(a, b)
  8. D3(a, b, c)
  9. D4(a, b, c, d)
  10.  
  11. x D4(a, b, c, d) y
  12. x D4(a, b, c) y
  13. x D4(a, b) y
  14. x D4(a) y
  15. x D4() y
  16.  
  17. #define GNU_COMMA(X,Y...) X,## Y
  18.  
  19. x GNU_COMMA(A,B,C) y
  20. x GNU_COMMA(A,B) y
  21. x GNU_COMMA(A) y
  22. x GNU_COMMA() y
  23.  
  24. #define __sun_attr___noreturn__ __attribute__((__noreturn__))
  25. #define ___sun_attr_inner(__a) __sun_attr_##__a
  26. #define __sun_attr__(__a) ___sun_attr_inner __a
  27. #define __NORETURN __sun_attr__((__noreturn__))
  28. __NORETURN
  29. #define X(...)
  30. #define Y(...)  1 __VA_ARGS__ 2
  31. Y(X X() ())
  32.