]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/wave/test/testwave/testfiles/t_1_008.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 // The follwoing is a parametized partially expanding concatenation macro.
11 // It is a extremly good test of expansion order and the order of operations
12 // during macro expansion in general.
14 #define CAT(a, b) a ## b
16 #define PARTIAL_CAT(i) CAT(PARTIAL_CAT_, i)
18 #define PARTIAL_CAT_0(a, b) CAT(a, b)
19 #define PARTIAL_CAT_1(a, b) CAT(PARTIAL ## a, b)
20 #define PARTIAL_CAT_2(a, b) CAT(a, b ## PARTIAL)
21 #define PARTIAL_CAT_3(a, b) CAT(PARTIAL ## a, b ## PARTIAL)
24 #define PARTIALPARTIAL
29 //R #line 31 "t_1_008.cpp"
31 PARTIAL_CAT(0)( PARTIAL X
, Y PARTIAL
)
32 //R #line 34 "t_1_008.cpp"
34 PARTIAL_CAT(1)( PARTIAL X
, Y PARTIAL
)
35 //R #line 37 "t_1_008.cpp"
37 PARTIAL_CAT(2)( PARTIAL X
, Y PARTIAL
)
38 //R #line 40 "t_1_008.cpp"
40 PARTIAL_CAT(3)( PARTIAL X
, Y PARTIAL
)
42 //H 10: t_1_008.cpp(14): #define
43 //H 08: t_1_008.cpp(14): CAT(a, b)=a ## b
44 //H 10: t_1_008.cpp(16): #define
45 //H 08: t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)
46 //H 10: t_1_008.cpp(18): #define
47 //H 08: t_1_008.cpp(18): PARTIAL_CAT_0(a, b)=CAT(a, b)
48 //H 10: t_1_008.cpp(19): #define
49 //H 08: t_1_008.cpp(19): PARTIAL_CAT_1(a, b)=CAT(PARTIAL ## a, b)
50 //H 10: t_1_008.cpp(20): #define
51 //H 08: t_1_008.cpp(20): PARTIAL_CAT_2(a, b)=CAT(a, b ## PARTIAL)
52 //H 10: t_1_008.cpp(21): #define
53 //H 08: t_1_008.cpp(21): PARTIAL_CAT_3(a, b)=CAT(PARTIAL ## a, b ## PARTIAL)
54 //H 10: t_1_008.cpp(23): #define
55 //H 08: t_1_008.cpp(23): PARTIAL=
56 //H 10: t_1_008.cpp(24): #define
57 //H 08: t_1_008.cpp(24): PARTIALPARTIAL=
58 //H 10: t_1_008.cpp(26): #define
59 //H 08: t_1_008.cpp(26): X=Token1
60 //H 10: t_1_008.cpp(27): #define
61 //H 08: t_1_008.cpp(27): Y=Token2
62 //H 00: t_1_008.cpp(31): PARTIAL_CAT(0), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
63 //H 02: CAT(PARTIAL_CAT_, 0)
64 //H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 0), [t_1_008.cpp(14): CAT(a, b)=a ## b]
68 //H 00: t_1_008.cpp(16): PARTIAL_CAT_0( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(18): PARTIAL_CAT_0(a, b)=CAT(a, b)]
69 //H 01: t_1_008.cpp(23): PARTIAL
72 //H 01: t_1_008.cpp(26): X
75 //H 01: t_1_008.cpp(27): Y
78 //H 01: t_1_008.cpp(23): PARTIAL
81 //H 02: CAT( Token1, Token2 )
82 //H 00: t_1_008.cpp(18): CAT( Token1, Token2 ), [t_1_008.cpp(14): CAT(a, b)=a ## b]
86 //H 00: t_1_008.cpp(34): PARTIAL_CAT(1), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
87 //H 02: CAT(PARTIAL_CAT_, 1)
88 //H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 1), [t_1_008.cpp(14): CAT(a, b)=a ## b]
92 //H 00: t_1_008.cpp(16): PARTIAL_CAT_1( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(19): PARTIAL_CAT_1(a, b)=CAT(PARTIAL ## a, b)]
93 //H 01: t_1_008.cpp(27): Y
96 //H 01: t_1_008.cpp(23): PARTIAL
99 //H 02: CAT(PARTIALPARTIAL X, Token2 )
100 //H 00: t_1_008.cpp(19): CAT(PARTIALPARTIAL X, Token2 ), [t_1_008.cpp(14): CAT(a, b)=a ## b]
101 //H 02: PARTIALPARTIAL XToken2
102 //H 01: t_1_008.cpp(24): PARTIALPARTIAL
107 //H 00: t_1_008.cpp(37): PARTIAL_CAT(2), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
108 //H 02: CAT(PARTIAL_CAT_, 2)
109 //H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 2), [t_1_008.cpp(14): CAT(a, b)=a ## b]
110 //H 02: PARTIAL_CAT_2
111 //H 03: PARTIAL_CAT_2
112 //H 03: PARTIAL_CAT_2
113 //H 00: t_1_008.cpp(16): PARTIAL_CAT_2( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(20): PARTIAL_CAT_2(a, b)=CAT(a, b ## PARTIAL)]
114 //H 01: t_1_008.cpp(23): PARTIAL
117 //H 01: t_1_008.cpp(26): X
120 //H 02: CAT( Token1, Y PARTIALPARTIAL)
121 //H 00: t_1_008.cpp(20): CAT( Token1, Y PARTIALPARTIAL), [t_1_008.cpp(14): CAT(a, b)=a ## b]
122 //H 02: Token1Y PARTIALPARTIAL
123 //H 01: t_1_008.cpp(24): PARTIALPARTIAL
128 //H 00: t_1_008.cpp(40): PARTIAL_CAT(3), [t_1_008.cpp(16): PARTIAL_CAT(i)=CAT(PARTIAL_CAT_, i)]
129 //H 02: CAT(PARTIAL_CAT_, 3)
130 //H 00: t_1_008.cpp(16): CAT(PARTIAL_CAT_, 3), [t_1_008.cpp(14): CAT(a, b)=a ## b]
131 //H 02: PARTIAL_CAT_3
132 //H 03: PARTIAL_CAT_3
133 //H 03: PARTIAL_CAT_3
134 //H 00: t_1_008.cpp(16): PARTIAL_CAT_3( PARTIAL X, Y PARTIAL ), [t_1_008.cpp(21): PARTIAL_CAT_3(a, b)=CAT(PARTIAL ## a, b ## PARTIAL)]
135 //H 02: CAT(PARTIALPARTIAL X, Y PARTIALPARTIAL)
136 //H 00: t_1_008.cpp(21): CAT(PARTIALPARTIAL X, Y PARTIALPARTIAL), [t_1_008.cpp(14): CAT(a, b)=a ## b]
137 //H 02: PARTIALPARTIAL XY PARTIALPARTIAL
138 //H 01: t_1_008.cpp(24): PARTIALPARTIAL
141 //H 01: t_1_008.cpp(24): PARTIALPARTIAL