text: /*=============================================================================
      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, whether adjacent tokens are separated by whitespace if the adjacency
  // is created by macro expansion
  
  #define A(x) x
  
  //R #line 16 "t_9_010.cpp"
  A(1)1         //R 1 1 
  A(1)X         //R 1 X 
  A(X)1         //R X 1 
  A(X)X         //R X X 
  
  #define CAT(a, b) PRIMITIVE_CAT(a, b)
  #define PRIMITIVE_CAT(a, b) a ## b
  
  #define X() B
  #define ABC 1
  
  //R #line 28 "t_9_010.cpp"
  CAT(A, X() C) //R AB C 
  CAT(A, X()C)  //R AB C 
  
  //H 10: t_9_010.cpp(13): #define
  //H 08: t_9_010.cpp(13): A(x)=x
  //H 00: t_9_010.cpp(16): A(1), [t_9_010.cpp(13): A(x)=x]
  //H 02: 1
  //H 03: 1
  //H 00: t_9_010.cpp(17): A(1), [t_9_010.cpp(13): A(x)=x]
  //H 02: 1
  //H 03: 1
  //H 00: t_9_010.cpp(18): A(X), [t_9_010.cpp(13): A(x)=x]
  //H 02: X
  //H 03: X
  //H 00: t_9_010.cpp(19): A(X), [t_9_010.cpp(13): A(x)=x]
  //H 02: X
  //H 03: X
  //H 10: t_9_010.cpp(21): #define
  //H 08: t_9_010.cpp(21): CAT(a, b)=PRIMITIVE_CAT(a, b)
  //H 10: t_9_010.cpp(22): #define
  //H 08: t_9_010.cpp(22): PRIMITIVE_CAT(a, b)=a ## b
  //H 10: t_9_010.cpp(24): #define
  //H 08: t_9_010.cpp(24): X()=B
  //H 10: t_9_010.cpp(25): #define
  //H 08: t_9_010.cpp(25): ABC=1
  //H 00: t_9_010.cpp(28): CAT(A, X() C), [t_9_010.cpp(21): CAT(a, b)=PRIMITIVE_CAT(a, b)]
  //H 00: t_9_010.cpp(28): X(), [t_9_010.cpp(24): X()=B]
  //H 02: B
  //H 03: B
  //H 02: PRIMITIVE_CAT(A,  B C)
  //H 00: t_9_010.cpp(21): PRIMITIVE_CAT(A, B C), [t_9_010.cpp(22): PRIMITIVE_CAT(a, b)=a ## b]
  //H 02: AB C
  //H 03: AB C
  //H 03: AB C
  //H 00: t_9_010.cpp(29): CAT(A, X()C), [t_9_010.cpp(21): CAT(a, b)=PRIMITIVE_CAT(a, b)]
  //H 00: t_9_010.cpp(29): X(), [t_9_010.cpp(24): X()=B]
  //H 02: B
  //H 03: B
  //H 02: PRIMITIVE_CAT(A,  BC)
  //H 00: t_9_010.cpp(21): PRIMITIVE_CAT(A, BC), [t_9_010.cpp(22): PRIMITIVE_CAT(a, b)=a ## b]
  //H 02: ABC
  //H 03: ABC
  //H 03: ABC
  