15c01a454c
[SVN r78634]
62 lines
2.0 KiB
C++
62 lines
2.0 KiB
C++
/*=============================================================================
|
|
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)
|
|
=============================================================================*/
|
|
|
|
// Test, if additional whitespace is inserted at appropriate places.
|
|
|
|
#define STRINGIZE(x) STRINGIZE_D(x)
|
|
#define STRINGIZE_D(x) #x
|
|
|
|
#define X() 1
|
|
#define PLUS() +
|
|
#define MINUS() -
|
|
#define DOT() .
|
|
#define GREATER() >
|
|
#define LESS() <
|
|
|
|
//R #line 23 "t_9_003.cpp"
|
|
X()2 //R 1 2
|
|
STRINGIZE( X()2 ) //R "12"
|
|
//R
|
|
X() 2 //R 1 2
|
|
STRINGIZE( X() 2 ) //R "1 2"
|
|
//R
|
|
PLUS()MINUS() //R +-
|
|
STRINGIZE( PLUS()MINUS() ) //R "+-"
|
|
//R
|
|
PLUS()PLUS() //R + +
|
|
STRINGIZE( PLUS()PLUS() ) //R "++"
|
|
//R
|
|
MINUS()MINUS() //R - -
|
|
STRINGIZE( MINUS()MINUS() ) //R "--"
|
|
//R
|
|
DOT()DOT()DOT() //R .. .
|
|
STRINGIZE( DOT()DOT()DOT() ) //R "..."
|
|
|
|
// the following are regressions reported by Stefan Seefeld
|
|
//R #line 43 "t_9_003.cpp"
|
|
GREATER()GREATER() //R > >
|
|
STRINGIZE( GREATER()GREATER() ) //R ">>"
|
|
//R
|
|
LESS()LESS() //R < <
|
|
STRINGIZE( LESS()LESS() ) //R "<<"
|
|
|
|
#define COMMA() ,
|
|
#define AND() &
|
|
#define CHAR() char
|
|
#define STAR() *
|
|
|
|
// Make sure no whitespace gets inserted in between the operator symbols
|
|
//R #line 56 "t_9_003.cpp"
|
|
void foo(char&, char) //R void foo(char&, char)
|
|
void foo(char *) //R void foo(char *)
|
|
void foo(char *&) //R void foo(char *&)
|
|
void foo(CHAR()AND()COMMA() CHAR()) //R void foo(char&, char)
|
|
void foo(CHAR() STAR()) //R void foo(char *)
|
|
void foo(CHAR() STAR()AND()) //R void foo(char *&)
|