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 // make sure newlines inside of macro invocations get accounted for correctly 11 12 #define BAZ(T, E) T E 13 14 struct foo 15 { 16 BAZ 17 (bool, 18 value = true 19 ); 20 }; 21 22 struct bar {}; 23 24 //R #line 14 "t_1_038.cpp" 25 //R struct foo 26 //R { 27 //R bool value = true; 28 //R #line 20 "t_1_038.cpp" 29 //R }; 30 //R 31 //R struct bar {}; 32 33 //H 10: t_1_038.cpp(12): #define 34 //H 08: t_1_038.cpp(12): BAZ(T, E)=T E 35 //H 00: t_1_038.cpp(16): BAZ(bool, value = true ), [t_1_038.cpp(12): BAZ(T, E)=T E] 36 //H 02: bool value = true 37 //H 03: bool value = true 38