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() end 13 14 #define par() () 15 16 #define expr macro par par par() 17 18 #define scan(x) x 19 20 //R #line 22 "t_1_017.cpp" 21 //R macro par par () 22 expr 23 //R #line 25 "t_1_017.cpp" 24 //R macro par () 25 scan(expr) 26 //R #line 28 "t_1_017.cpp" 27 //R macro () 28 scan(scan(expr)) 29 //R #line 31 "t_1_017.cpp" 30 //R end 31 scan(scan(scan(expr))) 32