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 the handling of placeholder tokens, which have to be inserted, when 11 // some macro expands into nothing (certainly these have to be ignored 12 // afterwards :-) 13 14 #define NIL 15 16 #define A B NIL 17 #define B() anything 18 19 //R #line 21 "t_1_020.cpp" 20 //R B() 21 A() // not 'anything'! 22 23 //H 10: t_1_020.cpp(14): #define 24 //H 08: t_1_020.cpp(14): NIL= 25 //H 10: t_1_020.cpp(16): #define 26 //H 08: t_1_020.cpp(16): A=B NIL 27 //H 10: t_1_020.cpp(17): #define 28 //H 08: t_1_020.cpp(17): B()=anything 29 //H 01: t_1_020.cpp(16): A 30 //H 02: B NIL 31 //H 01: t_1_020.cpp(14): NIL 32 //H 02: 33 //H 03: _ 34 //H 03: B_ 35