]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/wave/test/testwave/testfiles/t_1_012.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / wave / test / testwave / testfiles / t_1_012.cpp
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 function like macros are correctly expanded if used as object like
11 // macros
12
13 #define CAT(a, b) a ## b
14 #define ARGS (1, 2)
15
16 //R #line 18 "t_1_012.cpp"
17 //R CAT (1, 2)
18 CAT ARGS
19
20 #define INVOKE(macro) macro ARGS
21
22 //R #line 24 "t_1_012.cpp"
23 //R CAT (1, 2)
24 INVOKE(CAT)
25
26 #define EXPAND(x) x
27
28 //R #line 30 "t_1_012.cpp"
29 //R 12
30 EXPAND(CAT ARGS)
31
32 //H 10: t_1_012.cpp(13): #define
33 //H 08: t_1_012.cpp(13): CAT(a, b)=a ## b
34 //H 10: t_1_012.cpp(14): #define
35 //H 08: t_1_012.cpp(14): ARGS=(1, 2)
36 //H 01: t_1_012.cpp(14): ARGS
37 //H 02: (1, 2)
38 //H 03: (1, 2)
39 //H 10: t_1_012.cpp(20): #define
40 //H 08: t_1_012.cpp(20): INVOKE(macro)=macro ARGS
41 //H 00: t_1_012.cpp(24): INVOKE(CAT), [t_1_012.cpp(20): INVOKE(macro)=macro ARGS]
42 //H 02: CAT ARGS
43 //H 01: t_1_012.cpp(14): ARGS
44 //H 02: (1, 2)
45 //H 03: (1, 2)
46 //H 03: CAT (1, 2)
47 //H 10: t_1_012.cpp(26): #define
48 //H 08: t_1_012.cpp(26): EXPAND(x)=x
49 //H 00: t_1_012.cpp(30): EXPAND(CAT ARGS), [t_1_012.cpp(26): EXPAND(x)=x]
50 //H 01: t_1_012.cpp(14): ARGS
51 //H 02: (1, 2)
52 //H 03: (1, 2)
53 //H 02: CAT (1, 2)
54 //H 00: t_1_012.cpp(30): CAT(1, 2), [t_1_012.cpp(13): CAT(a, b)=a ## b]
55 //H 02: 12
56 //H 03: 12
57 //H 03: 12