t_1_019.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 macro expansion sequence and proper rescanning
  9. #define macro() expr_2
  10. #define macro_2() expr
  11. #define par() ()
  12. #define expr macro ()
  13. #define expr_2 macro_2 par par par()
  14. #define scan(x) x
  15. //R #line 24 "t_1_019.cpp"
  16. //R macro_2 par par ()
  17. expr
  18. //R #line 27 "t_1_019.cpp"
  19. //R macro_2 par ()
  20. scan(expr)
  21. //R #line 30 "t_1_019.cpp"
  22. //R macro_2 ()
  23. scan(scan(expr))
  24. //R #line 33 "t_1_019.cpp"
  25. //R macro_2 par par ()
  26. scan(scan(scan(expr)))
  27. //R #line 36 "t_1_019.cpp"
  28. //R macro_2 par ()
  29. scan(scan(scan(scan(expr))))
  30. //R #line 39 "t_1_019.cpp"
  31. //R macro_2 ()
  32. scan(scan(scan(scan(scan(expr)))))
  33. //R #line 42 "t_1_019.cpp"
  34. //R macro_2 ()
  35. scan(scan(scan(scan(scan(scan(expr))))))