1 #ifndef __cxxtest__Flags_h__ 2 #define __cxxtest__Flags_h__ 3 4 // 5 // These are the flags that control CxxTest 6 // 7 8 #if !defined( CXXTEST_FLAGS ) 9 #define CXXTEST_FLAGS 10 #endif // !CXXTEST_FLAGS 11 12 #if defined( CXXTEST_HAVE_EH ) && !defined( _CXXTEST_HAVE_EH ) 13 #define _CXXTEST_HAVE_EH 14 #endif // CXXTEST_HAVE_EH 15 16 #if defined( CXXTEST_HAVE_STD ) && !defined( _CXXTEST_HAVE_STD ) 17 #define _CXXTEST_HAVE_STD 18 #endif // CXXTEST_HAVE_STD 19 20 #if defined( CXXTEST_OLD_TEMPLATE_SYNTAX ) && \ 21 !defined( _CXXTEST_OLD_TEMPLATE_SYNTAX ) 22 #define _CXXTEST_OLD_TEMPLATE_SYNTAX 23 #endif // CXXTEST_OLD_TEMPLATE_SYNTAX 24 25 #if defined( CXXTEST_OLD_STD ) && !defined( _CXXTEST_OLD_STD ) 26 #define _CXXTEST_OLD_STD 27 #endif // CXXTEST_OLD_STD 28 29 #if defined( CXXTEST_ABORT_TEST_ON_FAIL ) && \ 30 !defined( _CXXTEST_ABORT_TEST_ON_FAIL ) 31 #define _CXXTEST_ABORT_TEST_ON_FAIL 32 #endif // CXXTEST_ABORT_TEST_ON_FAIL 33 34 #if defined( CXXTEST_NO_COPY_CONST ) && !defined( _CXXTEST_NO_COPY_CONST ) 35 #define _CXXTEST_NO_COPY_CONST 36 #endif // CXXTEST_NO_COPY_CONST 37 38 #if defined( CXXTEST_FACTOR ) && !defined( _CXXTEST_FACTOR ) 39 #define _CXXTEST_FACTOR 40 #endif // CXXTEST_FACTOR 41 42 #if defined( CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION ) && \ 43 !defined( _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION ) 44 #define _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION 45 #endif // CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION 46 47 #if defined( CXXTEST_LONGLONG ) 48 #if defined( _CXXTEST_LONGLONG ) 49 #undef _CXXTEST_LONGLONG 50 #endif 51 #define _CXXTEST_LONGLONG CXXTEST_LONGLONG 52 #endif // CXXTEST_LONGLONG 53 54 #ifndef CXXTEST_MAX_DUMP_SIZE 55 #define CXXTEST_MAX_DUMP_SIZE 0 56 #endif // CXXTEST_MAX_DUMP_SIZE 57 58 #if defined( _CXXTEST_ABORT_TEST_ON_FAIL ) && !defined( CXXTEST_DEFAULT_ABORT ) 59 #define CXXTEST_DEFAULT_ABORT true 60 #endif // _CXXTEST_ABORT_TEST_ON_FAIL && !CXXTEST_DEFAULT_ABORT 61 62 #if !defined( CXXTEST_DEFAULT_ABORT ) 63 #define CXXTEST_DEFAULT_ABORT false 64 #endif // !CXXTEST_DEFAULT_ABORT 65 66 #if defined( _CXXTEST_ABORT_TEST_ON_FAIL ) && !defined( _CXXTEST_HAVE_EH ) 67 #warning "CXXTEST_ABORT_TEST_ON_FAIL is meaningless without CXXTEST_HAVE_EH" 68 #undef _CXXTEST_ABORT_TEST_ON_FAIL 69 #endif // _CXXTEST_ABORT_TEST_ON_FAIL && !_CXXTEST_HAVE_EH 70 71 // 72 // Some minimal per-compiler configuration to allow us to compile 73 // 74 75 #ifdef __BORLANDC__ 76 #if __BORLANDC__ <= 0x520 // Borland C++ 5.2 or earlier 77 #ifndef _CXXTEST_OLD_STD 78 #define _CXXTEST_OLD_STD 79 #endif 80 #ifndef _CXXTEST_OLD_TEMPLATE_SYNTAX 81 #define _CXXTEST_OLD_TEMPLATE_SYNTAX 82 #endif 83 #endif 84 #if __BORLANDC__ >= 0x540 // C++ Builder 4.0 or later 85 #ifndef _CXXTEST_NO_COPY_CONST 86 #define _CXXTEST_NO_COPY_CONST 87 #endif 88 #ifndef _CXXTEST_LONGLONG 89 #define _CXXTEST_LONGLONG __int64 90 #endif 91 #endif 92 #endif // __BORLANDC__ 93 94 #ifdef _MSC_VER // Visual C++ 95 #ifndef _CXXTEST_LONGLONG 96 #define _CXXTEST_LONGLONG __int64 97 #endif 98 #if ( _MSC_VER >= 0x51E ) 99 #ifndef _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION 100 #define _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION 101 #endif 102 #endif 103 #pragma warning( disable : 4127 ) 104 #pragma warning( disable : 4290 ) 105 #pragma warning( disable : 4511 ) 106 #pragma warning( disable : 4512 ) 107 #pragma warning( disable : 4514 ) 108 #endif // _MSC_VER 109 110 #ifdef __GNUC__ 111 #if ( __GNUC__ > 2 ) || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 9 ) 112 #ifndef _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION 113 #define _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION 114 #endif 115 #endif 116 #endif // __GNUC__ 117 118 #ifdef __DMC__ // Digital Mars 119 #ifndef _CXXTEST_OLD_STD 120 #define _CXXTEST_OLD_STD 121 #endif 122 #endif 123 124 #endif // __cxxtest__Flags_h__ 125