/*=============================================================================
    Boost.Wave: A Standard compliant C++ preprocessor library
    http://www.boost.org/

    Copyright (c) 2001-2010 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
