]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/wave/test/testwave/testfiles/t_9_020.cpp
1 /*=============================================================================
2 Boost.Wave: A Standard compliant C++ preprocessor library
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 =============================================================================*/
10 // tests whether whitespace is correctly handled in macro arguments
14 #define STRINGIZE1(x) #x
15 #define STRINGIZE(x) STRINGIZE1(x)
17 #define MACRO(...) (__VA_ARGS__) - STRINGIZE((__VA_ARGS__))
19 //R #line 20 "t_9_020.cpp"
21 MACRO( ) //R () - "()"
22 MACRO(a
) //R (a) - "(a)"
23 MACRO( a
) //R ( a ) - "( a )"
24 MACRO( a
) //R ( a ) - "( a )"
25 MACRO(a
,b
) //R (a,b) - "(a,b)"
26 MACRO(a
, b
) //R (a, b) - "(a, b)"
27 MACRO(a
,b
) //R (a ,b) - "(a ,b)"
28 MACRO( a
,b
, c
) //R ( a ,b, c ) - "( a ,b, c )"
29 MACRO( a
,b
, c
) //R ( a ,b, c ) - "( a ,b, c )"
34 //R #line 35 "t_9_020.cpp"
38 MACRO( 123 ) //R [ 123 ]
39 MACRO( 123 ) //R [ 123 ]
44 //R #line 45 "t_9_020.cpp"
46 STRINGIZE(A(2)) //R "1 2 3"
47 STRINGIZE(B(2)) //R "(1)2(3)"
48 STRINGIZE(B( 2 )) //R "(1) 2 (3)"