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 additional whitespace is inserted at appropriate places.
11 
12 //O --variadics
13 
14 #define PRIMITIVE_CAT(a, b)     a ## b
15 #define PRIMITIVE_CAT3(a, b, c) a ## b ## c
16 
17 //R #line 18 "t_9_011.cpp"
18 PRIMITIVE_CAT(1, ABC)         //R 1 ABC
19 PRIMITIVE_CAT3(ABC, 1, ABC)   //R ABC1ABC
20 
21 //H 10: t_9_011.cpp(14): #define
22 //H 08: t_9_011.cpp(14): PRIMITIVE_CAT(a, b)=a ## b
23 //H 10: t_9_011.cpp(15): #define
24 //H 08: t_9_011.cpp(15): PRIMITIVE_CAT3(a, b, c)=a ## b ## c
25 //H 00: t_9_011.cpp(18): PRIMITIVE_CAT(1, ABC), [t_9_011.cpp(14): PRIMITIVE_CAT(a, b)=a ## b]
26 //H 02: 1ABC
27 //H 03: 1ABC
28 //H 00: t_9_011.cpp(19): PRIMITIVE_CAT3(ABC, 1, ABC), [t_9_011.cpp(15): PRIMITIVE_CAT3(a, b, c)=a ## b ## c]
29 //H 02: ABC1ABC
30 //H 03: ABC1ABC
31