• 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 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 par ()
18 #define expr_2 macro_2 par par par()
19 
20 #define scan(x) x
21 
22 //R #line 24 "t_1_018.cpp"
23 //R macro ()
24 expr
25 //R #line 27 "t_1_018.cpp"
26 //R macro_2 par par ()
27 scan(expr)
28 //R #line 30 "t_1_018.cpp"
29 //R macro_2 par ()
30 scan(scan(expr))
31 //R #line 33 "t_1_018.cpp"
32 //R macro_2 ()
33 scan(scan(scan(expr)))
34 //R #line 36 "t_1_018.cpp"
35 //R macro ()
36 scan(scan(scan(scan(expr))))
37 //R #line 39 "t_1_018.cpp"
38 //R macro_2 par par ()
39 scan(scan(scan(scan(scan(expr)))))
40 //R #line 42 "t_1_018.cpp"
41 //R macro_2 par ()
42 scan(scan(scan(scan(scan(scan(expr))))))
43