Release 1.39.0
[boost.git] / Boost_1_39_0 / libs / wave / test / testwave / testfiles / t_1_001.cpp
blob16f8465b6e7f1acd95ef56e79fa96f05a3d97067
1 /*=============================================================================
2 Boost.Wave: A Standard compliant C++ preprocessor library
3 http://www.boost.org/
5 Copyright (c) 2001-2009 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 =============================================================================*/
10 // Test macro expansion order
11 #define A(x, y) x, y
12 #define B(x, y) [x][y]
13 #define C(x) B(x)
15 //R #line 16 "t_1_001.cpp"
16 C( A(2, 3) ) //R [2][3]
18 //H 10: t_1_001.cpp(11): #define
19 //H 08: t_1_001.cpp(11): A(x, y)=x, y
20 //H 10: t_1_001.cpp(12): #define
21 //H 08: t_1_001.cpp(12): B(x, y)=[x][y]
22 //H 10: t_1_001.cpp(13): #define
23 //H 08: t_1_001.cpp(13): C(x)=B(x)
24 //H 00: t_1_001.cpp(16): C( A(2, 3) ), [t_1_001.cpp(13): C(x)=B(x)]
25 //H 00: t_1_001.cpp(16): A(2, 3), [t_1_001.cpp(11): A(x, y)=x, y]
26 //H 02: 2, 3
27 //H 03: 2, 3
28 //H 02: B(2, 3)
29 //H 00: t_1_001.cpp(13): B(2, 3), [t_1_001.cpp(12): B(x, y)=[x][y]]
30 //H 02: [2][3]
31 //H 03: [2][3]
32 //H 03: [2][3]