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 // Test if macros at not used parameter positions are expanded correctly 11 12 #define MACRO() /**/ 13 #define ID(x) // parameter not used at all 14 #define CAT(x) X ## x // expanded parameter not used 15 16 ID( MACRO(*) ) 17 //R #line 19 "t_1_011.cpp" 18 //R XMACRO(*) 19 CAT( MACRO(*) ) 20 21 //H 10: t_1_011.cpp(12): #define 22 //H 08: t_1_011.cpp(12): MACRO()= 23 //H 10: t_1_011.cpp(13): #define 24 //H 08: t_1_011.cpp(13): ID(x)= 25 //H 10: t_1_011.cpp(14): #define 26 //H 08: t_1_011.cpp(14): CAT(x)=X ## x 27 //H 00: t_1_011.cpp(16): ID( MACRO(*) ), [t_1_011.cpp(13): ID(x)=] 28 //H 02: 29 //H 03: _ 30 //H 00: t_1_011.cpp(19): CAT( MACRO(*) ), [t_1_011.cpp(14): CAT(x)=X ## x] 31 //H 02: XMACRO(*) 32 //H 03: XMACRO(*) 33