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