diff --git a/libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp b/libcxx/test/std/atomics/atomics.ref/member_types.compile.pass.cpp similarity index 99% rename from libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp rename to libcxx/test/std/atomics/atomics.ref/member_types.compile.pass.cpp index d4e2f0126d621..b085e209492f9 100644 --- a/libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp +++ b/libcxx/test/std/atomics/atomics.ref/member_types.compile.pass.cpp @@ -128,5 +128,3 @@ void testall() { test(); // + TODO extended floating-point types } - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp b/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp similarity index 91% rename from libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp rename to libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp index d0f90337ec480..d95de10f35cd9 100644 --- a/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.pass.cpp +++ b/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp @@ -74,25 +74,25 @@ static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); -static_assert(!std::totally_ordered < int (S::*)() && noexcept >); +static_assert(!std::totally_ordered < int(S::*)() && noexcept >); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); -static_assert(!std::totally_ordered < int (S::*)() const&& noexcept >); +static_assert(!std::totally_ordered < int(S::*)() const&& noexcept >); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); -static_assert(!std::totally_ordered < int (S::*)() volatile&& noexcept >); +static_assert(!std::totally_ordered < int(S::*)() volatile && noexcept >); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); -static_assert(!std::totally_ordered < int (S::*)() const volatile&& noexcept >); +static_assert(!std::totally_ordered < int(S::*)() const volatile&& noexcept >); static_assert(!std::totally_ordered); } // namespace fundamentals @@ -146,14 +146,10 @@ static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); -static_assert( - !std::totally_ordered); -static_assert( - !std::totally_ordered); -static_assert( - !std::totally_ordered); -static_assert( - !std::totally_ordered); +static_assert(!std::totally_ordered); +static_assert(!std::totally_ordered); +static_assert(!std::totally_ordered); +static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); static_assert(!std::totally_ordered); @@ -168,5 +164,3 @@ static_assert(std::totally_ordered); static_assert(std::totally_ordered); static_assert(std::totally_ordered); } // namespace types_fit_for_purpose - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp b/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp new file mode 100644 index 0000000000000..0d7bd288c0a18 --- /dev/null +++ b/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp @@ -0,0 +1,681 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +// UNSUPPORTED: c++03, c++11, c++14, c++17 + +// template +// concept totally_ordered_with; + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "compare_types.h" +#include "test_macros.h" + +template +constexpr bool check_totally_ordered_with() noexcept { + constexpr bool result = std::totally_ordered_with; + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + static_assert(std::totally_ordered_with == result); + return result; +} + +namespace fundamentals { +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); + +struct S {}; +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int, int (S::*)() const volatile&& noexcept > ()); + +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int*, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int*, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int*, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int*, int (S::*)() const volatile&& noexcept > ()); + +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int[5], int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int[5], int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int[5], int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int[5], int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int[5], int (S::*)() const volatile&& noexcept > ()); + +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (*)(), int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (*)(), int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (*)(), int (S::*)() const volatile&& noexcept > ()); + +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (&)(), int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (&)(), int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int (&)(), int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)(), int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)(), int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)(), int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() noexcept, int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() noexcept, int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() const, int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() const, int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() volatile, int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() volatile, int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile, int (S::*)() const volatile&& noexcept > ()); + +static_assert( + !check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert( + !check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile noexcept, + int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() &, int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() & noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() const&, int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const& noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile&, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile & noexcept, + int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile&, int (S::*)() const volatile&& noexcept > ()); + +static_assert( + !check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< int (S::*)() const volatile & noexcept, int (S::*)() &&>()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with< int (S::*)() const volatile & noexcept, int (S::*)() const&&>()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept, + int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile& noexcept, + int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() &&, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const&& > ()); +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() volatile&& > ()); +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const volatile&& > ()); +static_assert(!check_totally_ordered_with < int(S::*)() && noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&&, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&&, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const&&, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() volatile&& > ()); +static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() const volatile&& > ()); +static_assert(!check_totally_ordered_with < int(S::*)() const&& noexcept, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile&&, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile&&, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with < int(S::*)() volatile && noexcept, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile && noexcept, int (S::*)() const volatile&& > ()); +static_assert(!check_totally_ordered_with < int(S::*)() volatile && noexcept, + int (S::*)() const volatile&& noexcept > ()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile&&, int (S::*)() const volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with < int(S::*)() const volatile&& noexcept, + int (S::*)() const volatile&& noexcept > ()); + +#if !defined(TEST_COMPILER_GCC) +static_assert(!check_totally_ordered_with()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +#endif + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< std::nullptr_t, int (S::*)() const volatile noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with< std::nullptr_t, int (S::*)() const volatile & noexcept>()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() && noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() const&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() volatile&& noexcept > ()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with < std::nullptr_t, int (S::*)() const volatile&& noexcept > ()); + +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with < void, int (S::*)() && noexcept >); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with < void, int (S::*)() const&& noexcept >); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with < void, int (S::*)() volatile&& noexcept >); +static_assert(!std::equality_comparable_with); +static_assert(!std::equality_comparable_with < void, int (S::*)() const volatile&& noexcept >); +} // namespace fundamentals + +namespace standard_types { +static_assert(check_totally_ordered_with, std::array >()); +static_assert(!check_totally_ordered_with, std::array >()); +static_assert(check_totally_ordered_with, std::deque >()); +static_assert(!check_totally_ordered_with, std::vector >()); +static_assert(check_totally_ordered_with, std::forward_list >()); +static_assert(!check_totally_ordered_with, std::vector >()); +static_assert(check_totally_ordered_with, std::list >()); +static_assert(!check_totally_ordered_with, std::vector >()); + +static_assert(check_totally_ordered_with, std::map >()); +static_assert(!check_totally_ordered_with, std::vector >()); +static_assert(check_totally_ordered_with >, std::optional > >()); +static_assert(check_totally_ordered_with >, std::vector >()); +static_assert(check_totally_ordered_with, std::vector >()); +static_assert(!check_totally_ordered_with, int>()); + +struct A {}; +static_assert(!check_totally_ordered_with >, std::optional > >()); +static_assert(!check_totally_ordered_with >, std::vector >()); +struct B {}; +static_assert(!check_totally_ordered_with, std::vector >()); +static_assert(!check_totally_ordered_with, std::optional >()); +} // namespace standard_types + +namespace types_fit_for_purpose { +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); + +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); + +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); + +static_assert(!check_totally_ordered_with()); +static_assert(std::common_reference_with && + !check_totally_ordered_with()); + +static_assert(!check_totally_ordered_with()); +static_assert(std::common_reference_with && + !check_totally_ordered_with()); + +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); + +static_assert(!check_totally_ordered_with()); +static_assert(!check_totally_ordered_with()); +static_assert(std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); +static_assert(check_totally_ordered_with()); + +static_assert(std::totally_ordered && + std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(std::totally_ordered && + std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(std::totally_ordered && + std::equality_comparable_with && + !check_totally_ordered_with()); +static_assert(std::totally_ordered && + std::equality_comparable_with && + !check_totally_ordered_with()); +} // namespace types_fit_for_purpose diff --git a/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp b/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp deleted file mode 100644 index 5f71a3911539b..0000000000000 --- a/libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.pass.cpp +++ /dev/null @@ -1,1138 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// template -// concept totally_ordered_with; - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "compare_types.h" -#include "test_macros.h" - -template -constexpr bool check_totally_ordered_with() noexcept { - constexpr bool result = std::totally_ordered_with; - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - static_assert(std::totally_ordered_with == result); - return result; -} - -namespace fundamentals { -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); - -struct S {}; -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int, int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int, - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int*, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int*, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int*, - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int*, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int[5], int (S::*)() const volatile noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int[5], - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int[5], - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int[5], - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int[5], - int (S::*)() const volatile&& noexcept > ()); - -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (*)(), int (S::*)() const volatile noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (*)(), int (S::*)() const volatile & noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (*)(), - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (*)(), - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (*)(), - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (*)(), - int (S::*)() const volatile&& noexcept > ()); - -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (&)(), int (S::*)() const volatile noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (&)(), int (S::*)() const volatile & noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (&)(), - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (&)(), - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (&)(), - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (&)(), - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)(), int (S::*)() const volatile noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)(), int (S::*)() const volatile & noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)(), - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)(), - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)(), - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)(), - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() noexcept, int (S::*)() const volatile noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() noexcept, int (S::*)() const volatile & noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() noexcept, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() const, int (S::*)() const volatile noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() const, int (S::*)() const volatile & noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const, - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() volatile, int (S::*)() const volatile noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() volatile, int (S::*)() const volatile & noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile, - int (S::*)() const volatile&& noexcept > ()); - -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() &, int (S::*)() const volatile & noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &, - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() & noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() & noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() & noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() & noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() const&, int (S::*)() const volatile & noexcept>()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const& noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const& noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const& noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const& noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile& noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile& noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile& noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile& noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile&, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile&, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile&, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile&, - int (S::*)() const volatile&& noexcept > ()); - -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - int (S::*)() const volatile & noexcept, int (S::*)() &&>()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile& noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with< - int (S::*)() const volatile & noexcept, int (S::*)() const&&>()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile& noexcept, - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile& noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile& noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &&, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &&, - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &&, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() &&, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() && noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() const&& > ()); -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() volatile&& > ()); -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() const volatile&& > ()); -static_assert(!check_totally_ordered_with < int (S::*)() && noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&&, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&&, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const&&, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with < int (S::*)() const&& noexcept, - int (S::*)() const&& noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() const&& noexcept, - int (S::*)() volatile&& > ()); -static_assert(!check_totally_ordered_with < int (S::*)() const&& noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() const&& noexcept, - int (S::*)() const volatile&& > ()); -static_assert(!check_totally_ordered_with < int (S::*)() const&& noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&&, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&&, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with < int (S::*)() volatile&& noexcept, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&& noexcept, - int (S::*)() const volatile&& > ()); -static_assert(!check_totally_ordered_with < int (S::*)() volatile&& noexcept, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < int (S::*)() const volatile&&, - int (S::*)() const volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with < int (S::*)() - const volatile&& noexcept, - int (S::*)() const volatile&& noexcept > ()); - -#if !defined(TEST_COMPILER_GCC) -static_assert(!check_totally_ordered_with()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -#endif - -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - std::nullptr_t, int (S::*)() const volatile noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with< - std::nullptr_t, int (S::*)() const volatile & noexcept>()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < std::nullptr_t, - int (S::*)() && noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < std::nullptr_t, - int (S::*)() const&& noexcept > ()); -static_assert( - !check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < std::nullptr_t, - int (S::*)() volatile&& noexcept > ()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with < std::nullptr_t, - int (S::*)() const volatile&& noexcept > ()); - -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert( - !std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with < void, - int (S::*)() && noexcept >); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with < void, - int (S::*)() const&& noexcept >); -static_assert(!std::equality_comparable_with); -static_assert(!std::equality_comparable_with < void, - int (S::*)() volatile&& noexcept >); -static_assert( - !std::equality_comparable_with); -static_assert(!std::equality_comparable_with < void, - int (S::*)() const volatile&& noexcept >); -} // namespace fundamentals - -namespace standard_types { -static_assert( - check_totally_ordered_with, std::array >()); -static_assert(!check_totally_ordered_with, - std::array >()); -static_assert(check_totally_ordered_with, std::deque >()); -static_assert( - !check_totally_ordered_with, std::vector >()); -static_assert(check_totally_ordered_with, - std::forward_list >()); -static_assert( - !check_totally_ordered_with, std::vector >()); -static_assert(check_totally_ordered_with, std::list >()); -static_assert(!check_totally_ordered_with, std::vector >()); - -static_assert( - check_totally_ordered_with, std::map >()); -static_assert( - !check_totally_ordered_with, std::vector >()); -static_assert(check_totally_ordered_with >, - std::optional > >()); -static_assert(check_totally_ordered_with >, - std::vector >()); -static_assert( - check_totally_ordered_with, std::vector >()); -static_assert(!check_totally_ordered_with, int>()); - -struct A {}; -static_assert(!check_totally_ordered_with >, std::optional > >()); -static_assert(!check_totally_ordered_with >, std::vector >()); -struct B {}; -static_assert(!check_totally_ordered_with, std::vector >()); -static_assert( - !check_totally_ordered_with, std::optional >()); -} // namespace standard_types - -namespace types_fit_for_purpose { -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); - -static_assert(check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); - -static_assert( - check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert( - check_totally_ordered_with()); - -static_assert(!check_totally_ordered_with()); -static_assert( - std::common_reference_with && - !check_totally_ordered_with()); - -static_assert(!check_totally_ordered_with()); -static_assert( - std::common_reference_with && - !check_totally_ordered_with()); - -static_assert( - check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert( - check_totally_ordered_with()); - -static_assert(!check_totally_ordered_with()); -static_assert(!check_totally_ordered_with()); -static_assert(std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert(std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert(std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert(std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert(check_totally_ordered_with()); -static_assert( - check_totally_ordered_with()); - -static_assert( - std::totally_ordered&& - std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert( - std::totally_ordered&& - std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert( - std::totally_ordered&& - std::equality_comparable_with && - !check_totally_ordered_with()); -static_assert( - std::totally_ordered&& - std::equality_comparable_with && - !check_totally_ordered_with()); -} // namespace types_fit_for_purpose - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.pass.cpp b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.compile.pass.cpp similarity index 97% rename from libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.pass.cpp rename to libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.compile.pass.cpp index 20efed42088c5..118b595e79587 100644 --- a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.pass.cpp +++ b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/floating_point.compile.pass.cpp @@ -40,7 +40,7 @@ constexpr bool CheckFloatingPointQualifiers() { static_assert(!std::floating_point); static_assert(!std::floating_point); - static_assert(!std::floating_point); + static_assert(!std::floating_point); return result; } @@ -74,5 +74,3 @@ static_assert(!CheckFloatingPointQualifiers()); static_assert(!CheckFloatingPointQualifiers()); static_assert(!CheckFloatingPointQualifiers()); static_assert(!CheckFloatingPointQualifiers()); - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/integral.pass.cpp b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/integral.compile.pass.cpp similarity index 97% rename from libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/integral.pass.cpp rename to libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/integral.compile.pass.cpp index f40aed1909d3d..1891b3939d484 100644 --- a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/integral.pass.cpp +++ b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/integral.compile.pass.cpp @@ -41,7 +41,7 @@ constexpr bool CheckIntegralQualifiers() { static_assert(!std::integral); static_assert(!std::integral); - static_assert(!std::integral); + static_assert(!std::integral); return result; } @@ -88,5 +88,3 @@ static_assert(!CheckIntegralQualifiers()); static_assert(CheckSubsumption(0)); static_assert(CheckSubsumption(0U)); - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.pass.cpp b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.compile.pass.cpp similarity index 87% rename from libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.pass.cpp rename to libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.compile.pass.cpp index c1f4717a374d0..6cbeed283c280 100644 --- a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.pass.cpp +++ b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/signed_integral.compile.pass.cpp @@ -41,7 +41,7 @@ constexpr bool CheckSignedIntegralQualifiers() { static_assert(!std::signed_integral); static_assert(!std::signed_integral); - static_assert(!std::signed_integral); + static_assert(!std::signed_integral); return result; } @@ -54,16 +54,12 @@ static_assert(CheckSignedIntegralQualifiers()); static_assert(CheckSignedIntegralQualifiers()); // bool and character *may* be signed -static_assert(CheckSignedIntegralQualifiers() == - std::is_signed_v); +static_assert(CheckSignedIntegralQualifiers() == std::is_signed_v); static_assert(CheckSignedIntegralQualifiers() == std::is_signed_v); static_assert(CheckSignedIntegralQualifiers() == std::is_signed_v); -static_assert(CheckSignedIntegralQualifiers() == - std::is_signed_v); -static_assert(CheckSignedIntegralQualifiers() == - std::is_signed_v); -static_assert(CheckSignedIntegralQualifiers() == - std::is_signed_v); +static_assert(CheckSignedIntegralQualifiers() == std::is_signed_v); +static_assert(CheckSignedIntegralQualifiers() == std::is_signed_v); +static_assert(CheckSignedIntegralQualifiers() == std::is_signed_v); // integers that aren't signed integrals static_assert(!CheckSignedIntegralQualifiers()); @@ -92,5 +88,3 @@ static_assert(!CheckSignedIntegralQualifiers()); static_assert(CheckSubsumption(0)); static_assert(CheckSubsumption(0U)); - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.pass.cpp b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.compile.pass.cpp similarity index 82% rename from libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.pass.cpp rename to libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.compile.pass.cpp index b89941627f013..aa986ddd2bb85 100644 --- a/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.pass.cpp +++ b/libcxx/test/std/concepts/concepts.lang/concepts.arithmetic/unsigned_integral.compile.pass.cpp @@ -41,7 +41,7 @@ constexpr bool CheckUnsignedIntegralQualifiers() { static_assert(!std::unsigned_integral); static_assert(!std::unsigned_integral); - static_assert(!std::unsigned_integral); + static_assert(!std::unsigned_integral); return result; } @@ -54,18 +54,12 @@ static_assert(CheckUnsignedIntegralQualifiers()); static_assert(CheckUnsignedIntegralQualifiers()); // Whether bool and character types are signed or unsigned is impl-defined -static_assert(CheckUnsignedIntegralQualifiers() == - !std::is_signed_v); -static_assert(CheckUnsignedIntegralQualifiers() == - !std::is_signed_v); -static_assert(CheckUnsignedIntegralQualifiers() == - !std::is_signed_v); -static_assert(CheckUnsignedIntegralQualifiers() == - !std::is_signed_v); -static_assert(CheckUnsignedIntegralQualifiers() == - !std::is_signed_v); -static_assert(CheckUnsignedIntegralQualifiers() == - !std::is_signed_v); +static_assert(CheckUnsignedIntegralQualifiers() == !std::is_signed_v); +static_assert(CheckUnsignedIntegralQualifiers() == !std::is_signed_v); +static_assert(CheckUnsignedIntegralQualifiers() == !std::is_signed_v); +static_assert(CheckUnsignedIntegralQualifiers() == !std::is_signed_v); +static_assert(CheckUnsignedIntegralQualifiers() == !std::is_signed_v); +static_assert(CheckUnsignedIntegralQualifiers() == !std::is_signed_v); // extended integers #ifndef TEST_HAS_NO_INT128 @@ -93,5 +87,3 @@ static_assert(!CheckUnsignedIntegralQualifiers()); static_assert(CheckSubsumption(0)); static_assert(CheckSubsumption(0U)); - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/containers/associative/map/gcc_workaround.pass.cpp b/libcxx/test/std/containers/associative/map/gcc_workaround.compile.pass.cpp similarity index 88% rename from libcxx/test/std/containers/associative/map/gcc_workaround.pass.cpp rename to libcxx/test/std/containers/associative/map/gcc_workaround.compile.pass.cpp index e69a24110b663..66672b6f740ed 100644 --- a/libcxx/test/std/containers/associative/map/gcc_workaround.pass.cpp +++ b/libcxx/test/std/containers/associative/map/gcc_workaround.compile.pass.cpp @@ -9,11 +9,9 @@ // Tests workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37804 #include -std::map::iterator it; +std::map::iterator it; #include #include "test_macros.h" -using std::set; using std::multiset; - -int main(int, char**) { return 0; } +using std::set; diff --git a/libcxx/test/std/containers/associative/map/map.cons/default_recursive.pass.cpp b/libcxx/test/std/containers/associative/map/map.cons/default_recursive.compile.pass.cpp similarity index 60% rename from libcxx/test/std/containers/associative/map/map.cons/default_recursive.pass.cpp rename to libcxx/test/std/containers/associative/map/map.cons/default_recursive.compile.pass.cpp index 8b95aefc55149..f7204c56e4ae8 100644 --- a/libcxx/test/std/containers/associative/map/map.cons/default_recursive.pass.cpp +++ b/libcxx/test/std/containers/associative/map/map.cons/default_recursive.compile.pass.cpp @@ -16,16 +16,13 @@ #include "test_macros.h" -struct X -{ - std::map m; - std::map::iterator i; - std::map::const_iterator ci; +struct X { + std::map m; + std::map::iterator i; + std::map::const_iterator ci; #if TEST_STD_VER <= 17 - // These reverse_iterator specializations require X to be complete in C++20. - std::map::reverse_iterator ri; - std::map::const_reverse_iterator cri; + // These reverse_iterator specializations require X to be complete in C++20. + std::map::reverse_iterator ri; + std::map::const_reverse_iterator cri; #endif // TEST_STD_VER <= 17 }; - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/containers/associative/multimap/multimap.cons/default_recursive.pass.cpp b/libcxx/test/std/containers/associative/multimap/multimap.cons/default_recursive.compile.pass.cpp similarity index 59% rename from libcxx/test/std/containers/associative/multimap/multimap.cons/default_recursive.pass.cpp rename to libcxx/test/std/containers/associative/multimap/multimap.cons/default_recursive.compile.pass.cpp index 94003f350eba6..74ed99922d4d0 100644 --- a/libcxx/test/std/containers/associative/multimap/multimap.cons/default_recursive.pass.cpp +++ b/libcxx/test/std/containers/associative/multimap/multimap.cons/default_recursive.compile.pass.cpp @@ -16,16 +16,13 @@ #include "test_macros.h" -struct X -{ - std::multimap m; - std::multimap::iterator i; - std::multimap::const_iterator ci; +struct X { + std::multimap m; + std::multimap::iterator i; + std::multimap::const_iterator ci; #if TEST_STD_VER <= 17 - // These reverse_iterator specializations require X to be complete in C++20. - std::multimap::reverse_iterator ri; - std::multimap::const_reverse_iterator cri; + // These reverse_iterator specializations require X to be complete in C++20. + std::multimap::reverse_iterator ri; + std::multimap::const_reverse_iterator cri; #endif // TEST_STD_VER <= 17 }; - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/containers/associative/set/gcc_workaround.pass.cpp b/libcxx/test/std/containers/associative/set/gcc_workaround.compile.pass.cpp similarity index 93% rename from libcxx/test/std/containers/associative/set/gcc_workaround.pass.cpp rename to libcxx/test/std/containers/associative/set/gcc_workaround.compile.pass.cpp index 0eb500210ec16..4318077a5dca6 100644 --- a/libcxx/test/std/containers/associative/set/gcc_workaround.pass.cpp +++ b/libcxx/test/std/containers/associative/set/gcc_workaround.compile.pass.cpp @@ -15,5 +15,3 @@ std::set s; #include "test_macros.h" using std::map; using std::multimap; - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp b/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.compile.pass.cpp similarity index 96% rename from libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp rename to libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.compile.pass.cpp index 2d465203e189d..8739a0d89ba1a 100644 --- a/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp +++ b/libcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.compile.pass.cpp @@ -40,7 +40,7 @@ static_assert(check_iter_value_t::iterator, int>()); static_assert(check_iter_value_t, int>()); struct both_members { - using value_type = double; + using value_type = double; using element_type = double; }; static_assert(check_iter_value_t()); @@ -65,9 +65,7 @@ struct S {}; static_assert(check_no_iter_value_t()); struct different_value_element_members { - using value_type = int; + using value_type = int; using element_type = long; }; static_assert(check_no_iter_value_t()); - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/numerics/numbers/user_type.pass.cpp b/libcxx/test/std/numerics/numbers/user_type.compile.pass.cpp similarity index 96% rename from libcxx/test/std/numerics/numbers/user_type.pass.cpp rename to libcxx/test/std/numerics/numbers/user_type.compile.pass.cpp index d4df035628f01..89347ec992328 100644 --- a/libcxx/test/std/numerics/numbers/user_type.pass.cpp +++ b/libcxx/test/std/numerics/numbers/user_type.compile.pass.cpp @@ -52,5 +52,3 @@ user std::numbers::egamma_v{}; template <> user std::numbers::phi_v{}; - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/strings/strings.general/nothing_to_do.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.require/nothing_to_do.compile.pass.cpp similarity index 90% rename from libcxx/test/std/strings/strings.general/nothing_to_do.pass.cpp rename to libcxx/test/std/strings/char.traits/char.traits.require/nothing_to_do.compile.pass.cpp index 3e0d2a6570f42..7978e80f40cb5 100644 --- a/libcxx/test/std/strings/strings.general/nothing_to_do.pass.cpp +++ b/libcxx/test/std/strings/char.traits/char.traits.require/nothing_to_do.compile.pass.cpp @@ -5,5 +5,3 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/strings/char.traits/char.traits.require/nothing_to_do.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.compile.pass.cpp similarity index 90% rename from libcxx/test/std/strings/char.traits/char.traits.require/nothing_to_do.pass.cpp rename to libcxx/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.compile.pass.cpp index 3e0d2a6570f42..7978e80f40cb5 100644 --- a/libcxx/test/std/strings/char.traits/char.traits.require/nothing_to_do.pass.cpp +++ b/libcxx/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.compile.pass.cpp @@ -5,5 +5,3 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/strings/string.view/string.view.synop/nothing_to_do.pass.cpp b/libcxx/test/std/strings/string.view/string.view.synop/nothing_to_do.compile.pass.cpp similarity index 91% rename from libcxx/test/std/strings/string.view/string.view.synop/nothing_to_do.pass.cpp rename to libcxx/test/std/strings/string.view/string.view.synop/nothing_to_do.compile.pass.cpp index c2738673a4364..0949a612cbf0d 100644 --- a/libcxx/test/std/strings/string.view/string.view.synop/nothing_to_do.pass.cpp +++ b/libcxx/test/std/strings/string.view/string.view.synop/nothing_to_do.compile.pass.cpp @@ -7,5 +7,3 @@ //===----------------------------------------------------------------------===// #include - -int main(int, char**) { return 0; } diff --git a/libcxx/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.pass.cpp b/libcxx/test/std/strings/strings.general/nothing_to_do.compile.pass.cpp similarity index 90% rename from libcxx/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.pass.cpp rename to libcxx/test/std/strings/strings.general/nothing_to_do.compile.pass.cpp index 3e0d2a6570f42..7978e80f40cb5 100644 --- a/libcxx/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.pass.cpp +++ b/libcxx/test/std/strings/strings.general/nothing_to_do.compile.pass.cpp @@ -5,5 +5,3 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -int main(int, char**) { return 0; }