t_1_029.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. // Tests concatination of more than two parameters
  9. #define CAT3_1(a, b, c) a##b##c
  10. #define CAT3_2(a, b, c) a ## b ## c
  11. #define CAT4_1(a, b, c, d) a##b##c##d
  12. #define CAT4_2(a, b, c, d) a ## b ## c ## d
  13. //R #line 19 "t_1_029.cpp"
  14. CAT3_1(1, 0, 0) //R 100
  15. CAT3_2(1, 0, 0) //R 100
  16. //R
  17. CAT4_1(1, 0, 0, 2) //R 1002
  18. CAT4_2(1, 0, 0, 2) //R 1002
  19. //H 10: t_1_029.cpp(12): #define
  20. //H 08: t_1_029.cpp(12): CAT3_1(a, b, c)=a##b##c
  21. //H 10: t_1_029.cpp(13): #define
  22. //H 08: t_1_029.cpp(13): CAT3_2(a, b, c)=a ## b ## c
  23. //H 10: t_1_029.cpp(15): #define
  24. //H 08: t_1_029.cpp(15): CAT4_1(a, b, c, d)=a##b##c##d
  25. //H 10: t_1_029.cpp(16): #define
  26. //H 08: t_1_029.cpp(16): CAT4_2(a, b, c, d)=a ## b ## c ## d
  27. //H 00: t_1_029.cpp(19): CAT3_1(1, 0, 0), [t_1_029.cpp(12): CAT3_1(a, b, c)=a##b##c]
  28. //H 02: 100
  29. //H 03: 100
  30. //H 00: t_1_029.cpp(20): CAT3_2(1, 0, 0), [t_1_029.cpp(13): CAT3_2(a, b, c)=a ## b ## c]
  31. //H 02: 100
  32. //H 03: 100
  33. //H 00: t_1_029.cpp(22): CAT4_1(1, 0, 0, 2), [t_1_029.cpp(15): CAT4_1(a, b, c, d)=a##b##c##d]
  34. //H 02: 1002
  35. //H 03: 1002
  36. //H 00: t_1_029.cpp(23): CAT4_2(1, 0, 0, 2), [t_1_029.cpp(16): CAT4_2(a, b, c, d)=a ## b ## c ## d]
  37. //H 02: 1002
  38. //H 03: 1002