macro_fn_disable_expand.c 391 B

123456789101112131415161718192021222324252627282930
  1. // RUN: %clang_cc1 %s -E | FileCheck %s
  2. #define foo(x) bar x
  3. foo(foo) (2)
  4. // CHECK: bar foo (2)
  5. #define m(a) a(w)
  6. #define w ABCD
  7. m(m)
  8. // CHECK: m(ABCD)
  9. // rdar://7466570 PR4438, PR5163
  10. // We should get '42' in the argument list for gcc compatibility.
  11. #define A 1
  12. #define B 2
  13. #define C(x) (x + 1)
  14. X: C(
  15. #ifdef A
  16. #if A == 1
  17. #if B
  18. 42
  19. #endif
  20. #endif
  21. #endif
  22. )
  23. // CHECK: X: (42 + 1)