My Project
Flags.h
Go to the documentation of this file.
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) && !defined(_CXXTEST_OLD_TEMPLATE_SYNTAX)
21# define _CXXTEST_OLD_TEMPLATE_SYNTAX
22#endif // CXXTEST_OLD_TEMPLATE_SYNTAX
23
24#if defined(CXXTEST_OLD_STD) && !defined(_CXXTEST_OLD_STD)
25# define _CXXTEST_OLD_STD
26#endif // CXXTEST_OLD_STD
27
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
31
32#if defined(CXXTEST_NO_COPY_CONST) && !defined(_CXXTEST_NO_COPY_CONST)
33# define _CXXTEST_NO_COPY_CONST
34#endif // CXXTEST_NO_COPY_CONST
35
36#if defined(CXXTEST_FACTOR) && !defined(_CXXTEST_FACTOR)
37# define _CXXTEST_FACTOR
38#endif // CXXTEST_FACTOR
39
40#if defined(CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION) && !defined(_CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION)
41# define _CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION
42#endif // CXXTEST_PARTIAL_TEMPLATE_SPECIALIZATION
43
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
50
51#ifndef CXXTEST_MAX_DUMP_SIZE
52# define CXXTEST_MAX_DUMP_SIZE 0
53#endif // CXXTEST_MAX_DUMP_SIZE
54
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
58
59#if !defined(CXXTEST_DEFAULT_ABORT)
60# define CXXTEST_DEFAULT_ABORT false
61#endif // !CXXTEST_DEFAULT_ABORT
62
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
67
68//
69// Some minimal per-compiler configuration to allow us to compile
70//
71
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__
90
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
106
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__
114
115#ifdef __DMC__ // Digital Mars
116# ifndef _CXXTEST_OLD_STD
117# define _CXXTEST_OLD_STD
118# endif
119#endif
120
121#endif // __cxxtest__Flags_h__