t_1_007.cpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*=============================================================================
  2. Boost.Wave: A Standard compliant C++ preprocessor library
  3. http://www.boost.org/
  4. Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
  5. Software License, Version 1.0. (See accompanying file
  6. LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. =============================================================================*/
  8. //O --variadics
  9. // Tests the correctness of parameter replacement, if the parameter is
  10. // adjacent to an operator '##'.
  11. #define CONCAT(a, b) PRIMITIVE_CONCAT(a, b)
  12. #define PRIMITIVE_CONCAT(a, b) a ## b
  13. //R #line 20 "t_1_007.cpp"
  14. //R 123
  15. CONCAT(1, PRIMITIVE_CONCAT(2, 3))
  16. //R #line 23 "t_1_007.cpp"
  17. //R 123
  18. CONCAT(1, CONCAT(2, 3))
  19. //R #line 26 "t_1_007.cpp"
  20. //R 1 CONCAT(2, 3)
  21. PRIMITIVE_CONCAT(1, CONCAT(2, 3))
  22. //H 10: t_1_007.cpp(15): #define
  23. //H 08: t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)
  24. //H 10: t_1_007.cpp(16): #define
  25. //H 08: t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b
  26. //H 00: t_1_007.cpp(20): CONCAT(1, PRIMITIVE_CONCAT(2, 3)), [t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
  27. //H 00: t_1_007.cpp(20): PRIMITIVE_CONCAT(2, 3), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
  28. //H 02: 23
  29. //H 03: 23
  30. //H 02: PRIMITIVE_CONCAT(1, 23)
  31. //H 00: t_1_007.cpp(15): PRIMITIVE_CONCAT(1, 23), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
  32. //H 02: 123
  33. //H 03: 123
  34. //H 03: 123
  35. //H 00: t_1_007.cpp(23): CONCAT(1, CONCAT(2, 3)), [t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
  36. //H 00: t_1_007.cpp(23): CONCAT(2, 3), [t_1_007.cpp(15): CONCAT(a, b)=PRIMITIVE_CONCAT(a, b)]
  37. //H 02: PRIMITIVE_CONCAT(2, 3)
  38. //H 00: t_1_007.cpp(15): PRIMITIVE_CONCAT(2, 3), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
  39. //H 02: 23
  40. //H 03: 23
  41. //H 03: 23
  42. //H 02: PRIMITIVE_CONCAT(1, 23)
  43. //H 00: t_1_007.cpp(15): PRIMITIVE_CONCAT(1, 23), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
  44. //H 02: 123
  45. //H 03: 123
  46. //H 03: 123
  47. //H 00: t_1_007.cpp(26): PRIMITIVE_CONCAT(1, CONCAT(2, 3)), [t_1_007.cpp(16): PRIMITIVE_CONCAT(a, b)=a ## b]
  48. //H 02: 1CONCAT(2, 3)
  49. //H 03: 1CONCAT(2, 3)