Blame include/cppunit/Portability.h

Packit 8c9aa0
#ifndef CPPUNIT_PORTABILITY_H
Packit 8c9aa0
#define CPPUNIT_PORTABILITY_H
Packit 8c9aa0
Packit 8c9aa0
#if defined(_WIN32) && !defined(WIN32)
Packit 8c9aa0
# define WIN32 1
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
/* include platform specific config */
Packit 8c9aa0
#if defined(__BORLANDC__)
Packit 8c9aa0
#  include <cppunit/config/config-bcb5.h>
Packit 8c9aa0
#elif defined (_MSC_VER)
Packit 8c9aa0
#  if _MSC_VER == 1200 && defined(_WIN32_WCE) //evc4
Packit 8c9aa0
#    include <cppunit/config/config-evc4.h>
Packit 8c9aa0
#  else
Packit 8c9aa0
#    include <cppunit/config/config-msvc6.h>
Packit 8c9aa0
#  endif
Packit 8c9aa0
#else
Packit 8c9aa0
#    include <cppunit/config-auto.h>
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
// Version number of package
Packit 8c9aa0
#ifndef CPPUNIT_VERSION 
Packit 8c9aa0
#define CPPUNIT_VERSION  "1.14.0"
Packit 8c9aa0
#endif
Packit 8c9aa0
 
Packit 8c9aa0
#include <cppunit/config/CppUnitApi.h>    // define CPPUNIT_API & CPPUNIT_NEED_DLL_DECL
Packit 8c9aa0
#include <cppunit/config/SelectDllLoader.h>
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/* Options that the library user may switch on or off.
Packit 8c9aa0
 * If the user has not done so, we chose default values.
Packit 8c9aa0
 */
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
/* Define to 1 if you wish to have the old-style macros
Packit 8c9aa0
   assert(), assertEqual(), assertDoublesEqual(), and assertLongsEqual() */
Packit 8c9aa0
#if !defined(CPPUNIT_ENABLE_NAKED_ASSERT)
Packit 8c9aa0
# define CPPUNIT_ENABLE_NAKED_ASSERT          0
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
/* Define to 1 if you wish to have the old-style CU_TEST family
Packit 8c9aa0
   of macros. */
Packit 8c9aa0
#if !defined(CPPUNIT_ENABLE_CU_TEST_MACROS)
Packit 8c9aa0
# define CPPUNIT_ENABLE_CU_TEST_MACROS        0
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
/* Define to 1 if the preprocessor expands (#foo) to "foo" (quotes incl.) 
Packit 8c9aa0
   I don't think there is any C preprocess that does NOT support this! */
Packit 8c9aa0
#if !defined(CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION)
Packit 8c9aa0
# define CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION   1
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
/* Assumes that STL and CppUnit are in global space if the compiler does not
Packit 8c9aa0
   support namespace. */
Packit 8c9aa0
#if !defined(CPPUNIT_HAVE_NAMESPACES)
Packit 8c9aa0
# if !defined(CPPUNIT_NO_NAMESPACE)
Packit 8c9aa0
#  define CPPUNIT_NO_NAMESPACE 1
Packit 8c9aa0
# endif // !defined(CPPUNIT_NO_NAMESPACE)
Packit 8c9aa0
# if !defined(CPPUNIT_NO_STD_NAMESPACE)
Packit 8c9aa0
#  define CPPUNIT_NO_STD_NAMESPACE 1
Packit 8c9aa0
# endif // !defined(CPPUNIT_NO_STD_NAMESPACE)
Packit 8c9aa0
#endif // !defined(CPPUNIT_HAVE_NAMESPACES)
Packit 8c9aa0
Packit 8c9aa0
// Compiler error location format for CompilerOutputter
Packit 8c9aa0
// If not define, assumes that it's gcc
Packit 8c9aa0
// See class CompilerOutputter for format.
Packit 8c9aa0
#if !defined(CPPUNIT_COMPILER_LOCATION_FORMAT)
Packit 8c9aa0
#if defined(__GNUC__) && ( defined(__APPLE_CPP__) || defined(__APPLE_CC__) )
Packit 8c9aa0
// gcc/Xcode integration on Mac OS X
Packit 8c9aa0
# define CPPUNIT_COMPILER_LOCATION_FORMAT "%p:%l: " 
Packit 8c9aa0
#else
Packit 8c9aa0
# define CPPUNIT_COMPILER_LOCATION_FORMAT "%f:%l:"
Packit 8c9aa0
#endif
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
// If CPPUNIT_HAVE_CPP_CAST is defined, then c++ style cast will be used,
Packit 8c9aa0
// otherwise, C style cast are used.
Packit 8c9aa0
#if defined( CPPUNIT_HAVE_CPP_CAST )
Packit 8c9aa0
# define CPPUNIT_CONST_CAST( TargetType, pointer ) \
Packit 8c9aa0
    const_cast<TargetType>( pointer )
Packit 8c9aa0
Packit 8c9aa0
# define CPPUNIT_STATIC_CAST( TargetType, pointer ) \
Packit 8c9aa0
    static_cast<TargetType>( pointer )
Packit 8c9aa0
#else // defined( CPPUNIT_HAVE_CPP_CAST )
Packit 8c9aa0
# define CPPUNIT_CONST_CAST( TargetType, pointer ) \
Packit 8c9aa0
    ((TargetType)( pointer ))
Packit 8c9aa0
# define CPPUNIT_STATIC_CAST( TargetType, pointer ) \
Packit 8c9aa0
    ((TargetType)( pointer ))
Packit 8c9aa0
#endif // defined( CPPUNIT_HAVE_CPP_CAST )
Packit 8c9aa0
Packit 8c9aa0
// If CPPUNIT_NO_STD_NAMESPACE is defined then STL are in the global space.
Packit 8c9aa0
// => Define macro 'std' to nothing
Packit 8c9aa0
#if defined(CPPUNIT_NO_STD_NAMESPACE)
Packit 8c9aa0
# undef std
Packit 8c9aa0
# define std
Packit 8c9aa0
#endif  // defined(CPPUNIT_NO_STD_NAMESPACE)
Packit 8c9aa0
Packit 8c9aa0
// If CPPUNIT_NO_NAMESPACE is defined, then put CppUnit classes in the
Packit 8c9aa0
// global namespace: the compiler does not support namespace.
Packit 8c9aa0
#if defined(CPPUNIT_NO_NAMESPACE)
Packit 8c9aa0
# define CPPUNIT_NS_BEGIN
Packit 8c9aa0
# define CPPUNIT_NS_END
Packit 8c9aa0
# define CPPUNIT_NS
Packit 8c9aa0
#else   // defined(CPPUNIT_NO_NAMESPACE)
Packit 8c9aa0
# define CPPUNIT_NS_BEGIN namespace CppUnit {
Packit 8c9aa0
# define CPPUNIT_NS_END }
Packit 8c9aa0
# define CPPUNIT_NS CppUnit
Packit 8c9aa0
#endif  // defined(CPPUNIT_NO_NAMESPACE)
Packit 8c9aa0
Packit 8c9aa0
/*! Stringize a symbol.
Packit 8c9aa0
 * 
Packit 8c9aa0
 * Use this macro to convert a preprocessor symbol to a string.
Packit 8c9aa0
 *
Packit 8c9aa0
 * Example of usage:
Packit 8c9aa0
 * \code
Packit 8c9aa0
 * #define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTestPlugIn
Packit 8c9aa0
 * const char *name = CPPUNIT_STRINGIZE( CPPUNIT_PLUGIN_EXPORTED_NAME );
Packit 8c9aa0
 * \endcode
Packit 8c9aa0
 */
Packit 8c9aa0
#define CPPUNIT_STRINGIZE( symbol ) _CPPUNIT_DO_STRINGIZE( symbol )
Packit 8c9aa0
Packit 8c9aa0
/// \internal
Packit 8c9aa0
#define _CPPUNIT_DO_STRINGIZE( symbol ) #symbol
Packit 8c9aa0
Packit 8c9aa0
/*! Joins to symbol after expanding them into string.
Packit 8c9aa0
 *
Packit 8c9aa0
 * Use this macro to join two symbols. Example of usage:
Packit 8c9aa0
 *
Packit 8c9aa0
 * \code
Packit 8c9aa0
 * #define MAKE_UNIQUE_NAME(prefix) CPPUNIT_JOIN( prefix, __LINE__ )
Packit 8c9aa0
 * \endcode
Packit 8c9aa0
 *
Packit 8c9aa0
 * The macro defined in the example concatenate a given prefix with the line number
Packit 8c9aa0
 * to obtain a 'unique' identifier.
Packit 8c9aa0
 *
Packit 8c9aa0
 * \internal From boost documentation:
Packit 8c9aa0
 * The following piece of macro magic joins the two 
Packit 8c9aa0
 * arguments together, even when one of the arguments is
Packit 8c9aa0
 * itself a macro (see 16.3.1 in C++ standard).  The key
Packit 8c9aa0
 * is that macro expansion of macro arguments does not
Packit 8c9aa0
 * occur in CPPUNIT_JOIN2 but does in CPPUNIT_JOIN.
Packit 8c9aa0
 */
Packit 8c9aa0
#define CPPUNIT_JOIN( symbol1, symbol2 ) _CPPUNIT_DO_JOIN( symbol1, symbol2 )
Packit 8c9aa0
Packit 8c9aa0
/// \internal
Packit 8c9aa0
#define _CPPUNIT_DO_JOIN( symbol1, symbol2 ) _CPPUNIT_DO_JOIN2( symbol1, symbol2 )
Packit 8c9aa0
Packit 8c9aa0
/// \internal
Packit 8c9aa0
#define _CPPUNIT_DO_JOIN2( symbol1, symbol2 ) symbol1##symbol2
Packit 8c9aa0
Packit 8c9aa0
/// \internal Unique suffix for variable name. Can be overridden in platform specific
Packit 8c9aa0
/// config-*.h. Default to line number.
Packit 8c9aa0
#ifndef CPPUNIT_UNIQUE_COUNTER
Packit 8c9aa0
# define CPPUNIT_UNIQUE_COUNTER __LINE__
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
/*! Adds the line number to the specified string to create a unique identifier.
Packit 8c9aa0
 * \param prefix Prefix added to the line number to create a unique identifier.
Packit 8c9aa0
 * \see CPPUNIT_TEST_SUITE_REGISTRATION for an example of usage.
Packit 8c9aa0
 */
Packit 8c9aa0
#define CPPUNIT_MAKE_UNIQUE_NAME( prefix ) CPPUNIT_JOIN( prefix, CPPUNIT_UNIQUE_COUNTER )
Packit 8c9aa0
Packit 8c9aa0
/*! Defines wrap colunm for %CppUnit. Used by CompilerOuputter.
Packit 8c9aa0
 */
Packit 8c9aa0
#if !defined(CPPUNIT_WRAP_COLUMN)
Packit 8c9aa0
# define CPPUNIT_WRAP_COLUMN 79
Packit 8c9aa0
#endif
Packit 8c9aa0
Packit 8c9aa0
#endif // CPPUNIT_PORTABILITY_H