diff options
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 } |

