summaryrefslogtreecommitdiffstats
path: root/test/std/utilities/function.objects
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-07-24 23:08:21 +0000
committerEric Fiselier <eric@efcs.ca>2016-07-24 23:08:21 +0000
commita54d1cb85233c6a06cbb85a459a7d63f2f8b82aa (patch)
tree9eadde1216e8fa2e8afef76abaf933dca7a06a66 /test/std/utilities/function.objects
parent923899e66565e6e0ab2781204745001530285b7c (diff)
downloadexternal_libcxx-a54d1cb85233c6a06cbb85a459a7d63f2f8b82aa.tar.gz
external_libcxx-a54d1cb85233c6a06cbb85a459a7d63f2f8b82aa.tar.bz2
external_libcxx-a54d1cb85233c6a06cbb85a459a7d63f2f8b82aa.zip
Guard libc++ specific tests SFINAE on std::bind's call operator. Patch from STL@microsoft.com
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276576 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/std/utilities/function.objects')
-rw-r--r--test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp b/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp
index 63d3c9b0d..a543fffed 100644
--- a/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp
+++ b/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp
@@ -24,6 +24,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int dummy = 42;
int return_value(int) { return dummy; }
@@ -81,10 +83,10 @@ void do_test(Fn* func) {
// Check that the call operator SFINAE's away when too few arguments
// are provided but is well-formed otherwise.
{
- static_assert(!CheckCall<Bind>(), "");
+ LIBCPP_STATIC_ASSERT(!CheckCall<Bind>(), "");
static_assert(CheckCall<Bind, int>(), "");
static_assert(CheckCall<Bind, int, int>(), "");
- static_assert(!CheckCall<BindR>(), "");
+ LIBCPP_STATIC_ASSERT(!CheckCall<BindR>(), "");
static_assert(CheckCall<BindR, int>(), "");
static_assert(CheckCall<BindR, int, int>(), "");
}
@@ -108,7 +110,7 @@ void do_test_r(Fn* func) {
// Check that the call operator SFINAE's away when too few arguments
// are provided but is well-formed otherwise.
{
- static_assert(!CheckCall<Bind>(), "");
+ LIBCPP_STATIC_ASSERT(!CheckCall<Bind>(), "");
static_assert(CheckCall<Bind, int>(), "");
static_assert(CheckCall<Bind, int, int>(), "");
}