summaryrefslogtreecommitdiffstats
path: root/libcxx/test/utilities/function.objects/logical.operations
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2013-07-29 14:21:53 +0000
committerMarshall Clow <mclow.lists@gmail.com>2013-07-29 14:21:53 +0000
commit83c08b4497cf93faffb34f41263adf09d9305102 (patch)
tree6828130ada15e4280f967777baea6e4a279c6e83 /libcxx/test/utilities/function.objects/logical.operations
parent7fdaee8f1520458a96fa47e58ef64ce164e16b8e (diff)
downloadbcm5719-llvm-83c08b4497cf93faffb34f41263adf09d9305102.tar.gz
bcm5719-llvm-83c08b4497cf93faffb34f41263adf09d9305102.zip
Implement N3421; comparison predicates<void>
llvm-svn: 187357
Diffstat (limited to 'libcxx/test/utilities/function.objects/logical.operations')
-rw-r--r--libcxx/test/utilities/function.objects/logical.operations/logical_and.pass.cpp15
-rw-r--r--libcxx/test/utilities/function.objects/logical.operations/logical_not.pass.cpp8
-rw-r--r--libcxx/test/utilities/function.objects/logical.operations/logical_or.pass.cpp14
3 files changed, 37 insertions, 0 deletions
diff --git a/libcxx/test/utilities/function.objects/logical.operations/logical_and.pass.cpp b/libcxx/test/utilities/function.objects/logical.operations/logical_and.pass.cpp
index 914eb4c67a1..4302f771046 100644
--- a/libcxx/test/utilities/function.objects/logical.operations/logical_and.pass.cpp
+++ b/libcxx/test/utilities/function.objects/logical.operations/logical_and.pass.cpp
@@ -24,4 +24,19 @@ int main()
assert(!f(36, 0));
assert(!f(0, 36));
assert(!f(0, 0));
+#if _LIBCPP_STD_VER > 11
+ typedef std::logical_and<> F2;
+ const F2 f2 = F2();
+ assert( f2(36, 36));
+ assert( f2(36, 36L));
+ assert( f2(36L, 36));
+ assert(!f2(36, 0));
+ assert(!f2(0, 36));
+ assert( f2(36, 36L));
+ assert(!f2(36, 0L));
+ assert(!f2(0, 36L));
+ assert( f2(36L, 36));
+ assert(!f2(36L, 0));
+ assert(!f2(0L, 36));
+#endif
}
diff --git a/libcxx/test/utilities/function.objects/logical.operations/logical_not.pass.cpp b/libcxx/test/utilities/function.objects/logical.operations/logical_not.pass.cpp
index 289c9241bd3..40a475445bc 100644
--- a/libcxx/test/utilities/function.objects/logical.operations/logical_not.pass.cpp
+++ b/libcxx/test/utilities/function.objects/logical.operations/logical_not.pass.cpp
@@ -22,4 +22,12 @@ int main()
static_assert((std::is_base_of<std::unary_function<int, bool>, F>::value), "");
assert(!f(36));
assert(f(0));
+#if _LIBCPP_STD_VER > 11
+ typedef std::logical_not<> F2;
+ const F2 f2 = F2();
+ assert(!f2(36));
+ assert( f2(0));
+ assert(!f2(36L));
+ assert( f2(0L));
+#endif
}
diff --git a/libcxx/test/utilities/function.objects/logical.operations/logical_or.pass.cpp b/libcxx/test/utilities/function.objects/logical.operations/logical_or.pass.cpp
index 0cf217fc649..1c9b243c16d 100644
--- a/libcxx/test/utilities/function.objects/logical.operations/logical_or.pass.cpp
+++ b/libcxx/test/utilities/function.objects/logical.operations/logical_or.pass.cpp
@@ -24,4 +24,18 @@ int main()
assert(f(36, 0));
assert(f(0, 36));
assert(!f(0, 0));
+#if _LIBCPP_STD_VER > 11
+ typedef std::logical_or<> F2;
+ const F2 f2 = F2();
+ assert( f2(36, 36));
+ assert( f2(36, 36L));
+ assert( f2(36L, 36));
+ assert( f2(36, 0));
+ assert( f2(0, 36));
+ assert( f2(36, 0L));
+ assert( f2(0, 36L));
+ assert(!f2(0, 0));
+ assert(!f2(0, 0L));
+ assert(!f2(0L, 0));
+#endif
}
OpenPOWER on IntegriCloud