/*=============================================================================
    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 continuing scanning into the underlying input stream after expanding
// a macro, if this is appropriate

#define MACRO() X + Y NEXT
#define X 1
#define Y 2
#define NEXT() ...

//R #line 20 "t_1_021.cpp"
//R 1 + 2 ...
MACRO()()

//H 10: t_1_021.cpp(13): #define
//H 08: t_1_021.cpp(13): MACRO()=X + Y NEXT
//H 10: t_1_021.cpp(14): #define
//H 08: t_1_021.cpp(14): X=1
//H 10: t_1_021.cpp(15): #define
//H 08: t_1_021.cpp(15): Y=2
//H 10: t_1_021.cpp(16): #define
//H 08: t_1_021.cpp(16): NEXT()=...
//H 00: t_1_021.cpp(20): MACRO(), [t_1_021.cpp(13): MACRO()=X + Y NEXT]
//H 02: X + Y NEXT
//H 01: t_1_021.cpp(14): X
//H 02: 1
//H 03: 1
//H 01: t_1_021.cpp(15): Y
//H 02: 2
//H 03: 2
//H 03: 1 + 2 NEXT
//H 00: t_1_021.cpp(13): NEXT(), [t_1_021.cpp(16): NEXT()=...]
//H 02: ...
//H 03: ...
