summaryrefslogtreecommitdiffstats
path: root/libcxx/test/utilities/function.objects/bitwise.operations
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2013-09-28 19:06:12 +0000
committerMarshall Clow <mclow.lists@gmail.com>2013-09-28 19:06:12 +0000
commit3d5134dd5262960fb8f7cf0a2291dde34e23d127 (patch)
treefb379023edaded98f1313348b752ce56b34cb838 /libcxx/test/utilities/function.objects/bitwise.operations
parent8392ab209e9c6fac9d5d3c8b70de396564458237 (diff)
downloadbcm5719-llvm-3d5134dd5262960fb8f7cf0a2291dde34e23d127.tar.gz
bcm5719-llvm-3d5134dd5262960fb8f7cf0a2291dde34e23d127.zip
Implement n3789; constexpr support in named function objects
llvm-svn: 191626
Diffstat (limited to 'libcxx/test/utilities/function.objects/bitwise.operations')
-rw-r--r--libcxx/test/utilities/function.objects/bitwise.operations/bit_and.pass.cpp6
-rw-r--r--libcxx/test/utilities/function.objects/bitwise.operations/bit_not.pass.cpp6
-rw-r--r--libcxx/test/utilities/function.objects/bitwise.operations/bit_or.pass.cpp6
-rw-r--r--libcxx/test/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp6
4 files changed, 24 insertions, 0 deletions
diff --git a/libcxx/test/utilities/function.objects/bitwise.operations/bit_and.pass.cpp b/libcxx/test/utilities/function.objects/bitwise.operations/bit_and.pass.cpp
index 1841232728e..66544781d9d 100644
--- a/libcxx/test/utilities/function.objects/bitwise.operations/bit_and.pass.cpp
+++ b/libcxx/test/utilities/function.objects/bitwise.operations/bit_and.pass.cpp
@@ -47,5 +47,11 @@ int main()
assert(f2(0xFFFF, 0x58D3) == 0x58D3);
assert(f2(0xFFFFL, 0x58D3) == 0x58D3);
assert(f2(0xFFFF, 0x58D3L) == 0x58D3);
+
+ constexpr int foo = std::bit_and<int> () (0x58D3, 0xEA95);
+ static_assert ( foo == 0x4891, "" );
+
+ constexpr int bar = std::bit_and<> () (0x58D3L, 0xEA95);
+ static_assert ( bar == 0x4891, "" );
#endif
}
diff --git a/libcxx/test/utilities/function.objects/bitwise.operations/bit_not.pass.cpp b/libcxx/test/utilities/function.objects/bitwise.operations/bit_not.pass.cpp
index 2158292f435..82efcbc29fa 100644
--- a/libcxx/test/utilities/function.objects/bitwise.operations/bit_not.pass.cpp
+++ b/libcxx/test/utilities/function.objects/bitwise.operations/bit_not.pass.cpp
@@ -36,5 +36,11 @@ int main()
assert((f2(0L) & 0xFFFF ) == 0xFFFF);
assert((f2(0xFFFF) & 0xFFFF ) == 0);
assert((f2(0xFFFFL) & 0xFFFF ) == 0);
+
+ constexpr int foo = std::bit_not<int> () (0xEA95) & 0xFFFF;
+ static_assert ( foo == 0x156A, "" );
+
+ constexpr int bar = std::bit_not<> () (0xEA95) & 0xFFFF;
+ static_assert ( bar == 0x156A, "" );
#endif
}
diff --git a/libcxx/test/utilities/function.objects/bitwise.operations/bit_or.pass.cpp b/libcxx/test/utilities/function.objects/bitwise.operations/bit_or.pass.cpp
index 21ada1270ac..6ae3c3ac978 100644
--- a/libcxx/test/utilities/function.objects/bitwise.operations/bit_or.pass.cpp
+++ b/libcxx/test/utilities/function.objects/bitwise.operations/bit_or.pass.cpp
@@ -47,5 +47,11 @@ int main()
assert(f2(0xFFFF, 0x58D3) == 0xFFFF);
assert(f2(0xFFFFL, 0x58D3) == 0xFFFF);
assert(f2(0xFFFF, 0x58D3L) == 0xFFFF);
+
+ constexpr int foo = std::bit_or<int> () (0x58D3, 0xEA95);
+ static_assert ( foo == 0xFAD7, "" );
+
+ constexpr int bar = std::bit_or<> () (0x58D3L, 0xEA95);
+ static_assert ( bar == 0xFAD7, "" );
#endif
}
diff --git a/libcxx/test/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp b/libcxx/test/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp
index 8417d6ed25e..e7bb5e49f94 100644
--- a/libcxx/test/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp
+++ b/libcxx/test/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp
@@ -47,5 +47,11 @@ int main()
assert(f(0xFFFF, 0x58D3) == 0xA72C);
assert(f(0xFFFFL, 0x58D3) == 0xA72C);
assert(f(0xFFFF, 0x58D3L) == 0xA72C);
+
+ constexpr int foo = std::bit_xor<int> () (0x58D3, 0xEA95);
+ static_assert ( foo == 0xB246, "" );
+
+ constexpr int bar = std::bit_xor<> () (0x58D3L, 0xEA95);
+ static_assert ( bar == 0xB246, "" );
#endif
}
OpenPOWER on IntegriCloud