• 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 // Test if macros at not used parameter positions are expanded correctly
11 
12 #define MACRO() /**/
13 #define ID(x)           // parameter not used at all
14 #define CAT(x) X ## x   // expanded parameter not used
15 
16 ID( MACRO(*) )
17 //R #line 19 "t_1_011.cpp"
18 //R XMACRO(*)
19 CAT( MACRO(*) )
20 
21 //H 10: t_1_011.cpp(12): #define
22 //H 08: t_1_011.cpp(12): MACRO()=
23 //H 10: t_1_011.cpp(13): #define
24 //H 08: t_1_011.cpp(13): ID(x)=
25 //H 10: t_1_011.cpp(14): #define
26 //H 08: t_1_011.cpp(14): CAT(x)=X ## x
27 //H 00: t_1_011.cpp(16): ID( MACRO(*) ), [t_1_011.cpp(13): ID(x)=]
28 //H 02:
29 //H 03: _
30 //H 00: t_1_011.cpp(19): CAT( MACRO(*) ), [t_1_011.cpp(14): CAT(x)=X ## x]
31 //H 02: XMACRO(*)
32 //H 03: XMACRO(*)
33