| /*============================================================================= |
| Boost.Wave: A Standard compliant C++ preprocessor library |
| http://www.boost.org/ |
| |
| Copyright (c) 2001-2010 Hartmut Kaiser. Distributed under the Boost |
| Software License, Version 1.0. (See accompanying file |
| LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| =============================================================================*/ |
| |
| // Test macro expansion order |
| #define A(x, y) x, y |
| #define B(x, y) [x][y] |
| #define C(x) B(x) |
| |
| //R #line 16 "t_1_001.cpp" |
| C( A(2, 3) ) //R [2][3] |
| |
| //H 10: t_1_001.cpp(11): #define |
| //H 08: t_1_001.cpp(11): A(x, y)=x, y |
| //H 10: t_1_001.cpp(12): #define |
| //H 08: t_1_001.cpp(12): B(x, y)=[x][y] |
| //H 10: t_1_001.cpp(13): #define |
| //H 08: t_1_001.cpp(13): C(x)=B(x) |
| //H 00: t_1_001.cpp(16): C( A(2, 3) ), [t_1_001.cpp(13): C(x)=B(x)] |
| //H 00: t_1_001.cpp(16): A(2, 3), [t_1_001.cpp(11): A(x, y)=x, y] |
| //H 02: 2, 3 |
| //H 03: 2, 3 |
| //H 02: B(2, 3) |
| //H 00: t_1_001.cpp(13): B(2, 3), [t_1_001.cpp(12): B(x, y)=[x][y]] |
| //H 02: [2][3] |
| //H 03: [2][3] |
| //H 03: [2][3] |