diff --git a/libstdc++-v3/testsuite/25_algorithms/all_of/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/all_of/constexpr.cc index 11f1a337c20..757eebc89b6 100644 --- a/libstdc++-v3/testsuite/25_algorithms/all_of/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/all_of/constexpr.cc @@ -23,13 +23,12 @@ constexpr std::array cae{{0, 2, 4, 6, 8, 10}}; -constexpr auto out2 = std::all_of(cae.begin(), cae.end(), +constexpr auto out1 = std::all_of(cae.begin(), cae.end(), [](int i){ return i % 2 == 0; }); -constexpr bool -test() -{ - return true; -} +static_assert(out1); -static_assert(test()); +constexpr auto out2 = std::all_of(cae.begin(), cae.end(), + [](int i){ return i != 8; }); + +static_assert(!out2); diff --git a/libstdc++-v3/testsuite/25_algorithms/any_of/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/any_of/constexpr.cc index 370f7f3614a..dadd4506179 100644 --- a/libstdc++-v3/testsuite/25_algorithms/any_of/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/any_of/constexpr.cc @@ -29,7 +29,10 @@ test() const auto out3 = std::any_of(ca0.begin(), ca0.end(), [](int i){ return i % 2 == 0; }); - return true; + const auto out4 = std::any_of(ca0.begin(), ca0.end(), + [](int i){ return i == -1; }); + + return out3 && !out4; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/binary_search/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/binary_search/constexpr.cc index 0e355cc9ba7..f82a6893b48 100644 --- a/libstdc++-v3/testsuite/25_algorithms/binary_search/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/binary_search/constexpr.cc @@ -31,7 +31,10 @@ test() const auto out5 = std::binary_search(ca0.begin(), ca0.end(), 5, std::less()); - return true; + const auto out6 = std::binary_search(ca0.begin(), ca0.end(), 4.5, + std::less<>()); + + return out4 && out5 && !out6; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/copy_backward/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/copy_backward/constexpr.cc index 704dcf513c0..e97e30e0777 100644 --- a/libstdc++-v3/testsuite/25_algorithms/copy_backward/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/copy_backward/constexpr.cc @@ -30,7 +30,7 @@ test() const auto out7 = std::copy_backward(ca0.begin(), ca0.begin() + 8, ma0.begin() + 10); - return true; + return out7 == ma0.begin() + 2 && ma0[3] == 1; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/count/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/count/constexpr.cc index 6b6a2801207..3b900a9ca07 100644 --- a/libstdc++-v3/testsuite/25_algorithms/count/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/count/constexpr.cc @@ -28,7 +28,9 @@ test() const auto out8 = std::count(ca0.begin(), ca0.end(), 6); - return true; + const auto out9 = std::count(ca0.begin(), ca0.end(), 16); + + return out8 == 1 && out9 == 0; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/equal/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/equal/constexpr.cc index a3ebee5db90..ca1b7bc5bd9 100644 --- a/libstdc++-v3/testsuite/25_algorithms/equal/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/equal/constexpr.cc @@ -33,7 +33,12 @@ test() const auto outb = std::equal(ca0.begin(), ca0.end(), cas.begin(), [](int i, int j){ return i + 3 == j; }); - return true; + auto ca2 = ca0; + ca2[5] = -1; + + const auto outc = std::equal(ca0.begin(), ca0.end(), ca2.begin()); + + return outa && outb && !outc; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/equal_range/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/equal_range/constexpr.cc index 0bd1b0de48c..2b46f5f6759 100644 --- a/libstdc++-v3/testsuite/25_algorithms/equal_range/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/equal_range/constexpr.cc @@ -28,7 +28,8 @@ test() const auto outc = std::equal_range(car.begin(), car.end(), 6); - return true; + return outc.first == (car.begin() + 6) + && outc.second == (car.begin() + 8); } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/fill/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/fill/constexpr.cc index ec69a7f432a..154e48b3849 100644 --- a/libstdc++-v3/testsuite/25_algorithms/fill/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/fill/constexpr.cc @@ -27,7 +27,7 @@ test() std::array ma0{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; std::fill(ma0.begin(), ma0.end(), 66); - return true; + return ma0[4] == 66 && ma0[7] == 66; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/find_end/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/find_end/constexpr.cc index c5ba3974cfd..9339ab06ae6 100644 --- a/libstdc++-v3/testsuite/25_algorithms/find_end/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/find_end/constexpr.cc @@ -24,7 +24,7 @@ constexpr bool test() { - constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; + constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; constexpr std::array cam{{4, 5, 6}}; constexpr std::array camm{{-4, -5, -6}}; @@ -35,7 +35,7 @@ test() camm.begin(), camm.end(), [](int i, int j){ return i + 1 == -j; }); - return true; + return outf == (ca0.begin() + 4) && outg == (ca0.begin() + 3); } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/find_if/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/find_if/constexpr.cc index b4064e6f690..6c88c49c75e 100644 --- a/libstdc++-v3/testsuite/25_algorithms/find_if/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/find_if/constexpr.cc @@ -24,12 +24,12 @@ constexpr bool test() { - constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; + constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; const auto outj = std::find_if(ca0.begin(), ca0.end(), [](int i){ return i == 6; }); - return true; + return outj == (ca0.begin() + 6); } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/constexpr.cc index deab94d019d..163f9bd2d1d 100644 --- a/libstdc++-v3/testsuite/25_algorithms/is_partitioned/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/is_partitioned/constexpr.cc @@ -29,7 +29,7 @@ test() const auto outs = std::is_partitioned(caeo.begin(), caeo.end(), [](int i){ return i % 2 == 0; }); - return true; + return outs; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/is_permutation/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/is_permutation/constexpr.cc index 1da8bbee30e..1567c2658ff 100644 --- a/libstdc++-v3/testsuite/25_algorithms/is_permutation/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/is_permutation/constexpr.cc @@ -29,7 +29,9 @@ test() const auto outt = std::is_permutation(ca0.begin(), ca0.end(), cap.begin()); - return true; + const auto outf = std::is_permutation(ca0.begin() + 1, ca0.end(), cap.begin()); + + return outt && !outf; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/constexpr.cc index d000e555ae7..3c540559c31 100644 --- a/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/is_sorted_until/constexpr.cc @@ -31,7 +31,10 @@ test() const auto outy = std::is_sorted_until(aus.begin(), aus.end(), std::less()); - return true; + const auto outz = std::is_sorted_until(outx - 1, aus.end(), + std::greater()); + + return outx == aus.begin() + 7 && outy == outx && outz == (outx + 1); } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constexpr.cc index 7046f4489d6..1d7502c27c6 100644 --- a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constexpr.cc @@ -34,7 +34,7 @@ test() ca1.begin(), ca1.end(), std::less()); - return true; + return outz && outaa; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/constexpr.cc index 1b570a2ce54..ec5da9b3227 100644 --- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/constexpr.cc @@ -31,7 +31,7 @@ test() const auto outcc = std::lower_bound(ca0.begin(), ca0.end(), 6, std::less()); - return true; + return outbb == (ca0.begin() + 6) && outcc == outbb; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/merge/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/merge/constexpr.cc index d46b5787b7c..02493581635 100644 --- a/libstdc++-v3/testsuite/25_algorithms/merge/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/merge/constexpr.cc @@ -31,12 +31,14 @@ test() const auto outdd = std::merge(ca0.begin(), ca0.end(), cas.begin(), cas.end(), out0.begin()); + if (outdd != out0.end()) + return false; const auto outee = std::merge(ca0.begin(), ca0.end(), camm.begin(), camm.end(), out0.begin(), [](int i, int j){ return i < j; }); - return true; + return outee == (out0.begin() + ca0.size() + camm.size()); } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/mismatch/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/mismatch/constexpr.cc index 868bb41e1cb..f2cc21d03d8 100644 --- a/libstdc++-v3/testsuite/25_algorithms/mismatch/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/mismatch/constexpr.cc @@ -32,7 +32,8 @@ test() const auto outgg = std::mismatch(ca0.begin(), ca0.end(), cax.begin(), std::equal_to()); - return true; + return outff.first == (ca0.begin() + 6) && outff.second == (cax.begin() + 6) + && outgg == outff; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/none_of/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/none_of/constexpr.cc index cea4fc61f90..245ebe47dcb 100644 --- a/libstdc++-v3/testsuite/25_algorithms/none_of/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/none_of/constexpr.cc @@ -29,7 +29,7 @@ test() const auto outhh = std::none_of(ca0.begin(), ca0.end(), [](int i){ return i > 12; }); - return true; + return outhh; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/partition_copy/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/partition_copy/constexpr.cc index e7cb3087b2c..21685636ecd 100644 --- a/libstdc++-v3/testsuite/25_algorithms/partition_copy/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/partition_copy/constexpr.cc @@ -32,7 +32,8 @@ test() out0.begin(), out1.begin(), [](int i){ return i % 2 == 0; }); - return true; + return outii.first == (out0.begin() + 6) && out0[1] == 2 + && outii.second == (out1.begin() + 6) && out1[1] == 3; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy/constexpr.cc index 0474feccb09..e82a506abb0 100644 --- a/libstdc++-v3/testsuite/25_algorithms/remove_copy/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy/constexpr.cc @@ -24,12 +24,12 @@ constexpr bool test() { - constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; + constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; std::array out0{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; const auto outmm = std::remove_copy(ca0.begin(), ca0.end(), out0.begin(), 6); - return true; + return outmm == out0.begin() + ca0.size() - 1; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/constexpr.cc index 813be78c133..f8133fc24f5 100644 --- a/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/remove_copy_if/constexpr.cc @@ -30,7 +30,7 @@ test() const auto outnn = std::remove_copy_if(ca0.begin(), ca0.end(), out0.begin(), [](int i){ return i == 7; }); - return true; + return outnn == out0.begin() + ca0.size() - 1; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/remove_if/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/remove_if/constexpr.cc index c2d98f2a68e..d590d4d5ea1 100644 --- a/libstdc++-v3/testsuite/25_algorithms/remove_if/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/remove_if/constexpr.cc @@ -29,7 +29,7 @@ test() const auto outll = std::remove_if(ac2.begin(), ac2.end(), [](int i){ return i == 7; }); - return true; + return outll == (ac2.end() - 1) && ac2[7] == 8; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_if/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/replace_if/constexpr.cc index 6bcc0bd72ae..4b293f48aa9 100644 --- a/libstdc++-v3/testsuite/25_algorithms/replace_if/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/replace_if/constexpr.cc @@ -28,7 +28,9 @@ test() std::replace_if(ar0.begin(), ar0.end(), [](int i){ return i % 2 == 1; }, 42); - return true; + std::array ar1{{0, 42, 2, 42, 4, 42, 6, 6, 8, 42, 42, 42}}; + + return ar0 == ar1; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/reverse/constexpr.cc index ba1f47b6127..15140014a09 100644 --- a/libstdc++-v3/testsuite/25_algorithms/reverse/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/reverse/constexpr.cc @@ -23,8 +23,6 @@ constexpr bool test() { - auto ok = true; - std::array ar0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; std::reverse(ar0.begin() + 2, ar0.begin() + 9); diff --git a/libstdc++-v3/testsuite/25_algorithms/reverse_copy/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/reverse_copy/constexpr.cc index 86214e1d30e..9a85e591edd 100644 --- a/libstdc++-v3/testsuite/25_algorithms/reverse_copy/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/reverse_copy/constexpr.cc @@ -29,7 +29,7 @@ test() const auto outqq = std::reverse_copy(ca0.rbegin(), ca0.rend(), out0.begin()); - return true; + return outqq == (out0.begin() + ca0.size()) && out0[3] == 3; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/rotate_copy/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/rotate_copy/constexpr.cc index f8377b8a24c..8d9d966ba03 100644 --- a/libstdc++-v3/testsuite/25_algorithms/rotate_copy/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/rotate_copy/constexpr.cc @@ -30,7 +30,7 @@ test() const auto outrr = std::rotate_copy(ca0.begin(), ca0.begin() + 6, ca0.end(), out0.begin()); - return true; + return outrr == (out0.begin() + ca0.size()) && out0[3] == 9 && out0[8] == 2; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/search/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/search/constexpr.cc index e34194cfc5d..557234ec819 100644 --- a/libstdc++-v3/testsuite/25_algorithms/search/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/search/constexpr.cc @@ -24,7 +24,7 @@ constexpr bool test() { - constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; + constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; constexpr std::array cam{{4, 5, 6}}; const auto outtt = std::search(ca0.begin(), ca0.end(), @@ -35,7 +35,7 @@ test() = std::search(ca0.begin(), ca0.end(), std::default_searcher(cam.begin(), cam.end())); - return true; + return outtt == (ca0.begin() + 4) && outtt2 == outtt; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/set_difference/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/set_difference/constexpr.cc index ef0f7184604..f66c957df80 100644 --- a/libstdc++-v3/testsuite/25_algorithms/set_difference/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/set_difference/constexpr.cc @@ -29,13 +29,16 @@ test() std::array out0{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; const auto outvv = std::set_difference(ca0.begin(), ca0.end(), - cas.begin(), cas.end(), out0.begin()); + cas.begin(), cas.end(), + out0.begin()); const auto outww = std::set_difference(ca0.begin(), ca0.end(), cas.begin(), cas.end(), - out0.begin(), std::less()); + outvv, + std::less()); - return true; + + return outvv == (out0.begin() + 3) && outww == (outvv + 3); } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/set_intersection/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/set_intersection/constexpr.cc index b415020943a..720e8a5a6c0 100644 --- a/libstdc++-v3/testsuite/25_algorithms/set_intersection/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/set_intersection/constexpr.cc @@ -36,7 +36,7 @@ test() cas.begin(), cas.end(), out0.begin(), std::less()); - return true; + return outxx == (out0.begin() + 9) && outyy == outxx; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/constexpr.cc index ef0f7184604..0505aaf2519 100644 --- a/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/constexpr.cc @@ -25,17 +25,19 @@ constexpr bool test() { constexpr std::array ca0{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}}; - constexpr std::array cas{{3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}}; + constexpr std::array cas{{4, 4, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13}}; std::array out0{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; - const auto outvv = std::set_difference(ca0.begin(), ca0.end(), - cas.begin(), cas.end(), out0.begin()); + const auto outvv = std::set_symmetric_difference(ca0.begin(), ca0.end(), + cas.begin(), cas.end(), + out0.begin()); - const auto outww = std::set_difference(ca0.begin(), ca0.end(), - cas.begin(), cas.end(), - out0.begin(), std::less()); + const auto outww = std::set_symmetric_difference(ca0.begin(), ca0.end(), + cas.begin(), cas.end(), + out0.begin(), + std::less()); - return true; + return outvv == (out0.begin() + 8) && outww == outvv; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/set_union/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/set_union/constexpr.cc index fccfe2099d7..87f3f27f9e1 100644 --- a/libstdc++-v3/testsuite/25_algorithms/set_union/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/set_union/constexpr.cc @@ -29,13 +29,14 @@ test() std::array out0{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; const auto out11 = std::set_union(ca0.begin(), ca0.end(), - cas.begin(), cas.end(), out0.begin()); + cas.begin(), cas.end(), + out0.begin()); const auto out22 = std::set_union(ca0.begin(), ca0.end(), cas.begin(), cas.end(), out0.begin(), std::less()); - return true; + return out11 == (out0.begin() + 15) && out22 == out11; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/constexpr.cc index 167dc55add6..ee372b8488d 100644 --- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/constexpr.cc @@ -29,10 +29,11 @@ test() const auto out55 = std::unique_copy(ar3.begin(), ar3.end(), out0.begin()); - const auto out66 = std::unique_copy(ar3.begin(), ar3.end(), out0.begin(), + const auto out66 = std::unique_copy(ar3.begin(), ar3.end(), out55, std::equal_to()); - return true; + return out55 == (out0.begin() + 10) && out0[7] == 8 + && out66 == (out55 + 10) ; // && out0[19] == 11; } static_assert(test()); diff --git a/libstdc++-v3/testsuite/25_algorithms/upper_bound/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/upper_bound/constexpr.cc index 8dedb6bd615..3479116c210 100644 --- a/libstdc++-v3/testsuite/25_algorithms/upper_bound/constexpr.cc +++ b/libstdc++-v3/testsuite/25_algorithms/upper_bound/constexpr.cc @@ -31,7 +31,7 @@ test() const auto out88 = std::upper_bound(ca0.begin(), ca0.end(), 6, std::less()); - return true; + return out77 == (ca0.begin() + 7) && out88 == out77; } static_assert(test());