Code

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