macro_paste_hard.c 354 B

1234567891011121314151617
  1. // RUN: %clang_cc1 -E %s | grep '1: aaab 2'
  2. // RUN: %clang_cc1 -E %s | grep '2: 2 baaa'
  3. // RUN: %clang_cc1 -E %s | grep '3: 2 xx'
  4. #define a(n) aaa ## n
  5. #define b 2
  6. 1: a(b b) // aaab 2 2 gets expanded, not b.
  7. #undef a
  8. #undef b
  9. #define a(n) n ## aaa
  10. #define b 2
  11. 2: a(b b) // 2 baaa 2 gets expanded, not b.
  12. #define baaa xx
  13. 3: a(b b) // 2 xx