1 /*============================================================================= 2 Boost.Wave: A Standard compliant C++ preprocessor library 3 http://www.boost.org/ 4 5 Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost 6 Software License, Version 1.0. (See accompanying file 7 LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 8 =============================================================================*/ 9 10 // Tests macro expansion sequence and proper rescanning 11 12 #define macro() expr_2 13 #define macro_2() expr 14 15 #define par() () 16 17 #define expr macro () 18 #define expr_2 macro_2 par par par() 19 20 #define scan(x) x 21 22 //R #line 24 "t_1_019.cpp" 23 //R macro_2 par par () 24 expr 25 //R #line 27 "t_1_019.cpp" 26 //R macro_2 par () 27 scan(expr) 28 //R #line 30 "t_1_019.cpp" 29 //R macro_2 () 30 scan(scan(expr)) 31 //R #line 33 "t_1_019.cpp" 32 //R macro_2 par par () 33 scan(scan(scan(expr))) 34 //R #line 36 "t_1_019.cpp" 35 //R macro_2 par () 36 scan(scan(scan(scan(expr)))) 37 //R #line 39 "t_1_019.cpp" 38 //R macro_2 () 39 scan(scan(scan(scan(scan(expr))))) 40 //R #line 42 "t_1_019.cpp" 41 //R macro_2 () 42 scan(scan(scan(scan(scan(scan(expr)))))) 43