1 /*=============================================================================
2 Boost.Wave: A Standard compliant C++ preprocessor library
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
12 #define B(x, y) [x][y]
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]
29 //H 00: t_1_001.cpp(13): B(2, 3), [t_1_001.cpp(12): B(x, y)=[x][y]]