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, whether an empty macro prevents another macro from expansion 11 12 #define EMPTY() 13 #define SCAN(x) x 14 #define MACRO(x) (x) 15 16 //R #line 17 "t_1_030.cpp" 17 SCAN( MACRO EMPTY() )(1) //R (1) 18 19 //H 10: t_1_030.cpp(12): #define 20 //H 08: t_1_030.cpp(12): EMPTY()= 21 //H 10: t_1_030.cpp(13): #define 22 //H 08: t_1_030.cpp(13): SCAN(x)=x 23 //H 10: t_1_030.cpp(14): #define 24 //H 08: t_1_030.cpp(14): MACRO(x)=(x) 25 //H 00: t_1_030.cpp(17): SCAN( MACRO EMPTY() ), [t_1_030.cpp(13): SCAN(x)=x] 26 //H 00: t_1_030.cpp(17): EMPTY(), [t_1_030.cpp(12): EMPTY()=] 27 //H 02: 28 //H 03: _ 29 //H 02: MACRO 30 //H 03: MACRO 31 //H 00: t_1_030.cpp(17): MACRO(1), [t_1_030.cpp(14): MACRO(x)=(x)] 32 //H 02: (1) 33 //H 03: (1) 34