15c01a454c
[SVN r78634]
34 lines
1.2 KiB
C++
34 lines
1.2 KiB
C++
/*=============================================================================
|
|
Boost.Wave: A Standard compliant C++ preprocessor library
|
|
http://www.boost.org/
|
|
|
|
Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
|
|
Software License, Version 1.0. (See accompanying file
|
|
LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
=============================================================================*/
|
|
|
|
// Tests, if function-like macros buried deep inside a macro expansion of the
|
|
// same name as an object-like macro do not eat up more tokens, than expected.
|
|
|
|
#define PRIMITIVE_CAT(a, b) a ## b
|
|
|
|
#define EAT(n) PRIMITIVE_CAT(EAT_, n)
|
|
#define EAT_1(a)
|
|
|
|
//R #line 20 "t_1_023.cpp"
|
|
//R EAT_1...
|
|
EAT(1)...
|
|
|
|
//H 10: t_1_023.cpp(13): #define
|
|
//H 08: t_1_023.cpp(13): PRIMITIVE_CAT(a, b)=a ## b
|
|
//H 10: t_1_023.cpp(15): #define
|
|
//H 08: t_1_023.cpp(15): EAT(n)=PRIMITIVE_CAT(EAT_, n)
|
|
//H 10: t_1_023.cpp(16): #define
|
|
//H 08: t_1_023.cpp(16): EAT_1(a)=
|
|
//H 00: t_1_023.cpp(20): EAT(1), [t_1_023.cpp(15): EAT(n)=PRIMITIVE_CAT(EAT_, n)]
|
|
//H 02: PRIMITIVE_CAT(EAT_, 1)
|
|
//H 00: t_1_023.cpp(15): PRIMITIVE_CAT(EAT_, 1), [t_1_023.cpp(13): PRIMITIVE_CAT(a, b)=a ## b]
|
|
//H 02: EAT_1
|
|
//H 03: EAT_1
|
|
//H 03: EAT_1
|