diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2013-09-28 19:06:12 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2013-09-28 19:06:12 +0000 |
| commit | 3d5134dd5262960fb8f7cf0a2291dde34e23d127 (patch) | |
| tree | fb379023edaded98f1313348b752ce56b34cb838 /libcxx/test/utilities/function.objects/bitwise.operations | |
| parent | 8392ab209e9c6fac9d5d3c8b70de396564458237 (diff) | |
| download | bcm5719-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')
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 } |

