Compiler capabilities clean-up

- renamed CATCH_SFINAE -> CATCH_CONFIG_SFINAE
- moved variadic macros detection into catch_compiler_capabilities.h
This commit is contained in:
Phil Nash
2013-04-22 08:19:17 +01:00
parent dd52044374
commit 4dd3f68dd9
9 changed files with 25 additions and 22 deletions

View File

@@ -17,14 +17,6 @@
#pragma clang diagnostic ignored "-Wpadded"
#endif
// Use variadic macros if the compiler supports them
#if ( defined _MSC_VER && _MSC_VER > 1400 && !defined __EDGE__) || \
( defined __WAVE__ && __WAVE_HAS_VARIADICS ) || \
( defined __GNUC__ && __GNUC__ >= 3 ) || \
( !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L )
#define CATCH_CONFIG_VARIADIC_MACROS
#endif
#include "internal/catch_notimplemented_exception.h"
#include "internal/catch_context.h"
#include "internal/catch_test_registry.hpp"
@@ -34,6 +26,7 @@
#include "internal/catch_interfaces_exception.h"
#include "internal/catch_approx.hpp"
#include "internal/catch_matchers.hpp"
#include "internal/catch_compiler_capabilities.h"
// These files are included here so the single_include script doesn't put them
// in the conditionally compiled sections

View File

@@ -16,6 +16,8 @@
#include "catch_context.h"
#include "catch_common.h"
#include "catch_interfaces_registry_hub.h"
#include "internal/catch_compiler_capabilities.h"
#include <ostream>
namespace Catch {

View File

@@ -15,7 +15,7 @@
#ifdef __BORLANDC__
#if (__BORLANDC__ > 0x582 )
//#define CATCH_SFINAE // Not confirmed
//#define CATCH_CONFIG_SFINAE // Not confirmed
#endif
#endif // __BORLANDC__
@@ -25,7 +25,7 @@
#ifdef __EDG_VERSION__
#if (__EDG_VERSION__ > 238 )
//#define CATCH_SFINAE // Not confirmed
//#define CATCH_CONFIG_SFINAE // Not confirmed
#endif
#endif // __EDG_VERSION__
@@ -35,7 +35,7 @@
#ifdef __DMC__
#if (__DMC__ > 0x840 )
//#define CATCH_SFINAE // Not confirmed
//#define CATCH_CONFIG_SFINAE // Not confirmed
#endif
#endif // __DMC__
@@ -47,12 +47,12 @@
#if __GNUC__ < 3
#if (__GNUC_MINOR__ >= 96 )
#define CATCH_SFINAE
#define CATCH_CONFIG_SFINAE
#endif
#elif __GNUC__ >= 3
// #define CATCH_SFINAE // Taking this out completely for now
// #define CATCH_CONFIG_SFINAE // Taking this out completely for now
#endif // __GNUC__ < 3
@@ -64,11 +64,18 @@
#ifdef _MSC_VER
#if (_MSC_VER >= 1310 ) // (VC++ 7.0+)
//#define CATCH_SFINAE // Not confirmed
//#define CATCH_CONFIG_SFINAE // Not confirmed
#endif
#endif // _MSC_VER
// Use variadic macros if the compiler supports them
#if ( defined _MSC_VER && _MSC_VER > 1400 && !defined __EDGE__) || \
( defined __WAVE__ && __WAVE_HAS_VARIADICS ) || \
( defined __GNUC__ && __GNUC__ >= 3 ) || \
( !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L )
#define CATCH_CONFIG_VARIADIC_MACROS
#endif
#endif // TWOBLUECUBES_CATCH_COMPILER_CAPABILITIES_HPP_INCLUDED

View File

@@ -10,6 +10,7 @@
#include "catch_capture.hpp"
#include "catch_totals.hpp"
#include "catch_compiler_capabilities.h"
#include <string>

View File

@@ -24,7 +24,7 @@ namespace Catch {
char sizer[2];
};
#ifdef CATCH_SFINAE
#ifdef CATCH_CONFIG_SFINAE
template<bool> struct NotABooleanExpression;
@@ -36,7 +36,7 @@ namespace Catch {
template<> struct SizedIf<sizeof(TrueType)> : TrueType {};
template<> struct SizedIf<sizeof(FalseType)> : FalseType {};
#endif // CATCH_SFINAE
#endif // CATCH_CONFIG_SFINAE
} // end namespace Catch

View File

@@ -10,6 +10,7 @@
#include "catch_common.h"
#include "catch_interfaces_testcase.h"
#include "internal/catch_compiler_capabilities.h"
namespace Catch {

View File

@@ -24,8 +24,8 @@ namespace Detail {
// SFINAE is currently disabled by default for all compilers.
// If the non SFINAE version of IsStreamInsertable is ambiguous for you
// and your compiler supports SFINAE, try #defining CATCH_SFINAE
#ifdef CATCH_SFINAE
// and your compiler supports SFINAE, try #defining CATCH_CONFIG_SFINAE
#ifdef CATCH_CONFIG_SFINAE
template<typename T>
class IsStreamInsertableHelper {