Fix compiling with C++17 + Clang 5 + libstdc++ v5

This basically tests the combination where the compiler supports most
of C++17 but the library does not.
This commit is contained in:
Dimitrij Mijoski authored and Martin Hořeňovský committed 2021-05-26 00:34:23 +02:00
1 parent 023b5306b4
commit 86f86c4c23
4 files changed
+20 -15

No files matched your search

@@ -222,7 +222,7 @@
// Check if byte is available and usable
# if __has_include(<cstddef>) && defined(CATCH_CPP17_OR_GREATER)
# include <cstddef>
# if __cpp_lib_byte > 0
# if defined(__cpp_lib_byte) && (__cpp_lib_byte > 0)
# define CATCH_INTERNAL_CONFIG_CPP17_BYTE
# endif
# endif // __has_include(<cstddef>) && defined(CATCH_CPP17_OR_GREATER)
@@ -55,11 +55,11 @@ namespace Matchers {
return arr;
}
#ifdef CATCH_CPP17_OR_GREATER
#if defined( __cpp_lib_logical_traits ) && __cpp_lib_logical_traits >= 201510
using std::conjunction;
#else // CATCH_CPP17_OR_GREATER
#else // __cpp_lib_logical_traits
template<typename... Cond>
struct conjunction : std::true_type {};
@@ -67,7 +67,7 @@ namespace Matchers {
template<typename Cond, typename... Rest>
struct conjunction<Cond, Rest...> : std::integral_constant<bool, Cond::value && conjunction<Rest...>::value> {};
#endif // CATCH_CPP17_OR_GREATER
#endif // __cpp_lib_logical_traits
template<typename T>
using is_generic_matcher = std::is_base_of<