• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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