t_1_021.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 continuing scanning into the underlying input stream after expanding
  9. // a macro, if this is appropriate
  10. #define MACRO() X + Y NEXT
  11. #define X 1
  12. #define Y 2
  13. #define NEXT() ...
  14. //R #line 20 "t_1_021.cpp"
  15. //R 1 + 2 ...
  16. MACRO()()
  17. //H 10: t_1_021.cpp(13): #define
  18. //H 08: t_1_021.cpp(13): MACRO()=X + Y NEXT
  19. //H 10: t_1_021.cpp(14): #define
  20. //H 08: t_1_021.cpp(14): X=1
  21. //H 10: t_1_021.cpp(15): #define
  22. //H 08: t_1_021.cpp(15): Y=2
  23. //H 10: t_1_021.cpp(16): #define
  24. //H 08: t_1_021.cpp(16): NEXT()=...
  25. //H 00: t_1_021.cpp(20): MACRO(), [t_1_021.cpp(13): MACRO()=X + Y NEXT]
  26. //H 02: X + Y NEXT
  27. //H 01: t_1_021.cpp(14): X
  28. //H 02: 1
  29. //H 03: 1
  30. //H 01: t_1_021.cpp(15): Y
  31. //H 02: 2
  32. //H 03: 2
  33. //H 03: 1 + 2 NEXT
  34. //H 00: t_1_021.cpp(13): NEXT(), [t_1_021.cpp(16): NEXT()=...]
  35. //H 02: ...
  36. //H 03: ...