• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // Tests the handling of placeholder tokens, which have to be inserted, when
11 // some macro expands into nothing (certainly these have to be ignored
12 // afterwards :-)
13 
14 #define NIL
15 
16 #define A B NIL
17 #define B() anything
18 
19 //R #line 21 "t_1_020.cpp"
20 //R B()
21 A()   // not 'anything'!
22 
23 //H 10: t_1_020.cpp(14): #define
24 //H 08: t_1_020.cpp(14): NIL=
25 //H 10: t_1_020.cpp(16): #define
26 //H 08: t_1_020.cpp(16): A=B NIL
27 //H 10: t_1_020.cpp(17): #define
28 //H 08: t_1_020.cpp(17): B()=anything
29 //H 01: t_1_020.cpp(16): A
30 //H 02: B NIL
31 //H 01: t_1_020.cpp(14): NIL
32 //H 02:
33 //H 03: _
34 //H 03: B_
35