diff options
5 files changed, 15 insertions, 3 deletions
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/less.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/less.cc index 655515c..abb7541 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/less.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/less.cc @@ -29,10 +29,13 @@ int main() VERIFY( !(e1 < e1) ); VERIFY( !(e2 < e2) ); - VERIFY( (e1 < e2) == (e1.value() < e2.value()) ); + VERIFY( (e1 < e2) == (e1.category() < e2.category()) ); const __gnu_test::test_category cat; std::error_code e3(e2.value(), cat); VERIFY( !(e3 < e3) ); VERIFY( (e2 < e3) == (e2.category() < e3.category()) ); + + std::error_code e4(std::make_error_code(std::errc::invalid_argument)); + VERIFY( (e4 < e2) == (e4.value() < e2.value()) ); } diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc index a8dfa50..543ffce 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/not_equal.cc @@ -34,5 +34,6 @@ int main() std::error_code e3(e2.value(), cat); VERIFY( e2 != e3 ); - return 0; + std::error_code e4(std::make_error_code(std::errc::invalid_argument)); + VERIFY( e4 != e2 ); } diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/three_way.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/three_way.cc index 448f51d..50c54be 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/three_way.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/operators/three_way.cc @@ -33,7 +33,7 @@ test01() VERIFY( std::is_neq(e1 <=> e2) ); VERIFY( std::is_lt(e1 <=> e2) || std::is_gt(e1 <=> e2) ); - VERIFY( (e1 <=> e2) == (e1.value() <=> e2.value()) ); + VERIFY( (e1 <=> e2) == (e1.category() <=> e2.category()) ); VERIFY( e1 == e1 ); VERIFY( !(e1 == e2) ); @@ -52,6 +52,12 @@ test01() VERIFY( !(e3 < e3) ); VERIFY( (e2 < e3) == (e2.category() < e3.category()) ); + + std::error_code e4(std::make_error_code(std::errc::invalid_argument)); + + VERIFY( std::is_neq(e4 <=> e2) ); + VERIFY( std::is_lt(e4 <=> e2) || std::is_gt(e4 <=> e2) ); + VERIFY( (e4 <=> e2) == (e4.value() <=> e2.value()) ); } int main() diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/less.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/less.cc index 96f8b68..8a6b71f 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/less.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/less.cc @@ -29,6 +29,7 @@ int main() VERIFY( !(e1 < e1) ); VERIFY( !(e2 < e2) ); + // e1.category() == e2.category(), so comparison depends on values: VERIFY( (e1 < e2) == (e1.value() < e2.value()) ); const __gnu_test::test_category cat; diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/three_way.cc b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/three_way.cc index 1898897..e26afe5 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/three_way.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/error_condition/operators/three_way.cc @@ -33,6 +33,7 @@ test01() VERIFY( std::is_neq(e1 <=> e2) ); VERIFY( std::is_lt(e1 <=> e2) || std::is_gt(e1 <=> e2) ); + // e1.category() == e2.category(), so comparison depends on values: VERIFY( (e1 <=> e2) == (e1.value() <=> e2.value()) ); VERIFY( e1 == e1 ); |