• Home
  • History
  • Annotate
  • only in /external/libcxx/test/std/algorithms/alg.nonmodifying/
History log of /external/libcxx/test/std/algorithms/alg.nonmodifying/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
27c341db41bc9df5c6f19cde65f002d6f1c2eb3c 26-Jan-2018 Peter Collingbourne <peter@pcc.me.uk> Fix the BinaryPredicate form of std::is_permutation to not rely on operator==

According to [1], forms 2 and 4 of std::is_permutation should use the passed in
binary predicate to compare elements. operator== should only be used for forms
1 and 3 which do not take a binary predicate.

This CL fixes forms 2 and 4 which relied on operator== for some comparisons.

[1] http://en.cppreference.com/w/cpp/algorithm/is_permutation

Patch by Thomas Anderson!

Differential Revision: https://reviews.llvm.org/D42518

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323563 91177308-0d34-0410-b5e6-96231b3b80d8
lg.is_permutation/is_permutation_pred.pass.cpp
a15161a0304207d9f283d939356e705db6006c80 22-Jan-2018 Marshall Clow <mclow.lists@gmail.com> Still more P0202 constexpr-ifying. This batch is: for_each/for_each_n/lexicographical_compare

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@323147 91177308-0d34-0410-b5e6-96231b3b80d8
lg.foreach/for_each_n.pass.cpp
lg.foreach/test.pass.cpp
457d2c157b827bfebed609d318f5fa48643bc62f 18-Jan-2018 Eric Fiselier <eric@efcs.ca> Fix most GCC test failures.

This patch fixes almost all currently failing tests when
using GCC ToT.

The specific changes are:

(A) Workaround gcc.gnu.org/PR83921 which rejects variables w/o initializers
in constexpr contexts -- even when the variable is an empty class. This
bug has been worked around at all callsites by adding an initializer.
Additionally a new test, constexpr_init.pass.cpp, has been added to
test that Clang doesn't suffer from these bugs.

(B) Fix streambuf.assign/swap.pass.cpp. This test was never actually
calling the swap method as intended. In fact, the swap function it
intended to call was ill-formed when instantiated. GCC diagnosed
this ill-formedness w/o needing an instantiation.

(C) size_delete11.pass.cpp was fixed by adding c++2a to the list of
unsupported dialects.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322810 91177308-0d34-0410-b5e6-96231b3b80d8
lg.find.end/find_end_pred.pass.cpp
lg.find.first.of/find_first_of_pred.pass.cpp
lg.is_permutation/is_permutation_pred.pass.cpp
d6082200f6fad2c3ca7d1ce8a01253d503c7158a 16-Jan-2018 Marshall Clow <mclow.lists@gmail.com> More constexpr algorithms from P0202. search/search_n

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322566 91177308-0d34-0410-b5e6-96231b3b80d8
lg.search/search.pass.cpp
lg.search/search_n.pass.cpp
lg.search/search_n_pred.pass.cpp
lg.search/search_pred.pass.cpp
39b886259e358ce1865ca110473bda086d9c1c97 16-Jan-2018 Marshall Clow <mclow.lists@gmail.com> More constexpr algorithms from P0202: lower_bound, upper_bound, equal_range, binary_search

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322529 91177308-0d34-0410-b5e6-96231b3b80d8
lg.equal/equal.pass.cpp
lg.equal/equal_pred.pass.cpp
f1caa62ccd4ceb571d7f8c30acba5f9dde479187 16-Jan-2018 Marshall Clow <mclow.lists@gmail.com> Actually CALL the constexpr tests.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322528 91177308-0d34-0410-b5e6-96231b3b80d8
ismatch/mismatch.pass.cpp
ismatch/mismatch_pred.pass.cpp
4cd596538b8c6a0a50f30a7546daec51a3eb9be3 16-Jan-2018 Marshall Clow <mclow.lists@gmail.com> More constexpr (re P0202) - equal and mismatch

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322527 91177308-0d34-0410-b5e6-96231b3b80d8
lg.equal/equal.pass.cpp
lg.equal/equal_pred.pass.cpp
ismatch/mismatch.pass.cpp
ismatch/mismatch_pred.pass.cpp
5af38a078e73eeaea8b888b7aa1caec98153e43f 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> Fix constexpr failure on C++11-based buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322507 91177308-0d34-0410-b5e6-96231b3b80d8
lg.find.end/find_end_pred.pass.cpp
0dc8ca7729554881a146c8cc6eca2658853f6d83 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> More constexpr from P0202. count and count_if. Also fix a comment that Morwenn noted.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322506 91177308-0d34-0410-b5e6-96231b3b80d8
lg.count/count.pass.cpp
lg.count/count_if.pass.cpp
82091c25834cfb711df8a5524498d76f26a297f6 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> Some of the tests from earlier today had 'int' as the return type when it should have been 'bool'. Fix that. It doesn't change the behavior of any of the tests, but it's more accurate.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322505 91177308-0d34-0410-b5e6-96231b3b80d8
lg.all_of/all_of.pass.cpp
lg.any_of/any_of.pass.cpp
lg.is_permutation/is_permutation.pass.cpp
lg.is_permutation/is_permutation_pred.pass.cpp
lg.none_of/none_of.pass.cpp
6a1c2ffea4b27a0afc0b96974024707fe154ad11 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> More P0202 constexpr-ifying. All the find_XXX algorithms in this commit.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322504 91177308-0d34-0410-b5e6-96231b3b80d8
lg.adjacent.find/adjacent_find.pass.cpp
lg.adjacent.find/adjacent_find_pred.pass.cpp
lg.find.end/find_end.pass.cpp
lg.find.end/find_end_pred.pass.cpp
lg.find.first.of/find_first_of.pass.cpp
lg.find.first.of/find_first_of_pred.pass.cpp
lg.find/find.pass.cpp
lg.find/find_if.pass.cpp
lg.find/find_if_not.pass.cpp
bb8010f6f23d13f2eeb160c30933c2e12d62b774 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> partition_point gets the P0202 treatment

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322493 91177308-0d34-0410-b5e6-96231b3b80d8
lg.all_of/all_of.pass.cpp
lg.any_of/any_of.pass.cpp
de4b2869d7ad78687d0bef24e59367d79f796414 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> More constexpr algorithms from P0202. any_of/all_of/none_of.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322492 91177308-0d34-0410-b5e6-96231b3b80d8
lg.all_of/all_of.pass.cpp
lg.any_of/any_of.pass.cpp
lg.none_of/none_of.pass.cpp
8d0d82585a8650b1023ed0f8f52cb364b9a79ee0 15-Jan-2018 Marshall Clow <mclow.lists@gmail.com> First part of P0202: Adding constexpr modifiers to functions in <algorithm> and <utility>. This commit is all the is_XXX algorithms.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322489 91177308-0d34-0410-b5e6-96231b3b80d8
lg.is_permutation/is_permutation.pass.cpp
lg.is_permutation/is_permutation_pred.pass.cpp
210d12c9465dde444fd5c0e78df2532c7a89b7f7 10-Jan-2018 Marshall Clow <mclow.lists@gmail.com> Fix misspelled macro name - thanks to andrew@ispras.ru for the catch

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322196 91177308-0d34-0410-b5e6-96231b3b80d8
lg.search/search.pass.cpp
334063336bcd573d9f6815b870a24b09add0bda1 08-Jan-2018 Marshall Clow <mclow.lists@gmail.com> Add the C++17 extensions to std::search. Include the default searcher, but not the Boyer-Moore or Boyer-Moore-Horspool searcher (yet). BUT put the BM and BMH tests in place, marked to XFAIL. The other searchers will follow soon

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@322019 91177308-0d34-0410-b5e6-96231b3b80d8
lg.search/search.pass.cpp
7e250fcdc138fb6fc3580d6bf5eba5bd2d73980f 21-Nov-2017 Billy Robert O'Neal III <bion@microsoft.com> Change (void) casts to TEST_IGNORE_NODISCARD, as requested by Eric. Reviewed as https://reviews.llvm.org/D40065

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318804 91177308-0d34-0410-b5e6-96231b3b80d8
lg.search/search_n_pred.pass.cpp
b9816677762c5dc7957a0c92a506505b12231580 15-Nov-2017 Billy Robert O'Neal III <bion@microsoft.com> Tolerate even more [[nodiscard]] in the STL. Reviewed as https://reviews.llvm.org/D39080

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318277 91177308-0d34-0410-b5e6-96231b3b80d8
lg.search/search_n.pass.cpp
lg.search/search_n_pred.pass.cpp
5d91f314f11cb46557ff9525bf2956fb36e011b7 29-Jul-2017 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Change comments to say C++ instead of c++. NFC.

This makes them consistent (many comments already used uppercase).

The special REQUIRES, UNSUPPORTED, and XFAIL comments are excluded from this change.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309468 91177308-0d34-0410-b5e6-96231b3b80d8
ismatch/mismatch.pass.cpp
ismatch/mismatch_pred.pass.cpp
a686caad209c0475fd69346fe841ebb67a6eb06e 29-Jul-2017 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Untabify, NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309464 91177308-0d34-0410-b5e6-96231b3b80d8
lg.count/count_if.pass.cpp
lg.find/find_if.pass.cpp
lg.find/find_if_not.pass.cpp
b836deb5dbe77218c1e5f496bc43287d13ccf897 20-Jun-2017 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Strip trailing whitespace. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@305848 91177308-0d34-0410-b5e6-96231b3b80d8
lg.foreach/for_each_n.pass.cpp
10411c162642303cf458eb921c1cf7760eaa61ef 25-May-2017 Marshall Clow <mclow.lists@gmail.com> Add non-parallel version of for_each_n (+tests) from the Parallelism TS

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303833 91177308-0d34-0410-b5e6-96231b3b80d8
lg.foreach/for_each_n.pass.cpp
559442652c038e04bea4bc5254eed4c149a7b529 04-May-2017 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Strip trailing whitespace. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@302105 91177308-0d34-0410-b5e6-96231b3b80d8
lg.count/count_if.pass.cpp
lg.find/find_if.pass.cpp
lg.find/find_if_not.pass.cpp
50e32f569cafe323c9b6cf31bfe641a06481977f 23-Mar-2017 Marshall Clow <mclow.lists@gmail.com> Update the algorithm tests to not use the (deprecated) function binders. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@298618 91177308-0d34-0410-b5e6-96231b3b80d8
lg.count/count_if.pass.cpp
lg.find/find_if.pass.cpp
lg.find/find_if_not.pass.cpp
3bea61851ac5d14b6b909f88bc5448dbac7284d4 06-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] D27023: Fix MSVC warning C4389 "signed/unsigned mismatch", part 10/12.

Add static_cast<int>. In these cases, the values are guaranteed to be small-ish,
and they're being compared to int elements.

test/std/containers/sequences/deque/deque.capacity/access.pass.cpp
Use int instead of unsigned to iterate from 0 to 10.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288747 91177308-0d34-0410-b5e6-96231b3b80d8
lg.foreach/test.pass.cpp
fd1c9dddccdedb84db59a9c63f399b39240cbeff 08-Oct-2016 Eric Fiselier <eric@efcs.ca> Purge all usages of _LIBCPP_STD_VER under test/std/algorithm

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283643 91177308-0d34-0410-b5e6-96231b3b80d8
lg.equal/equal.pass.cpp
lg.equal/equal_pred.pass.cpp
lg.is_permutation/is_permutation.pass.cpp
lg.is_permutation/is_permutation_pred.pass.cpp
ismatch/mismatch_pred.pass.cpp
84acb1ec3f7d5e0f37d7176697c2fa876c413407 01-Jun-2016 Eric Fiselier <eric@efcs.ca> Remove trailing whitespace in test suite. Approved by Marshall Clow.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271435 91177308-0d34-0410-b5e6-96231b3b80d8
lg.equal/equal.pass.cpp
ismatch/mismatch_pred.pass.cpp
3a07a2f4f3c97f45c3bf40404b885013bf4c2cd9 18-Jul-2015 Eric Fiselier <eric@efcs.ca> Fix warnings in test/std/algorithms

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@242626 91177308-0d34-0410-b5e6-96231b3b80d8
ismatch/mismatch.pass.cpp
ismatch/mismatch_pred.pass.cpp
31cb7fe75e41a706062859350ab7b4879470eefe 10-Feb-2015 Eric Fiselier <eric@efcs.ca> [libcxx] Properly convert the count arguments to the *_n algorithms before use.

Summary:
The requirement on the `Size` type passed to *_n algorithms is that it is convertible to an integral type. This means we can't use a variable of type `Size` directly. Instead we need to convert it to an integral type first. The problem is finding out what integral type to convert it to. `__convert_to_integral` figures out what integral type to convert it to and performs the conversion, It also promotes the resulting integral type so that it is at least as big as an integer. `__convert_to_integral` also has a special case for converting enums. This should only work on non-scoped enumerations because it does not apply an explicit conversion from the enum to its underlying type.



Reviewers: chandlerc, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D7449

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@228704 91177308-0d34-0410-b5e6-96231b3b80d8
lg.search/search_n.pass.cpp
lg.search/search_n_pred.pass.cpp
eea9d20edbda5b22aebcc9a1c2f243677dd3a824 28-Jan-2015 Marshall Clow <mclow.lists@gmail.com> Removed some tabs that snuck into the test suite. No functionality change

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@227363 91177308-0d34-0410-b5e6-96231b3b80d8
ismatch/mismatch.pass.cpp
ismatch/mismatch_pred.pass.cpp
a90c6dd46005b2b14de3bb889a8d03bb34bd3256 20-Dec-2014 Eric Fiselier <eric@efcs.ca> Move test into test/std subdirectory.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224658 91177308-0d34-0410-b5e6-96231b3b80d8
lg.adjacent.find/adjacent_find.pass.cpp
lg.adjacent.find/adjacent_find_pred.pass.cpp
lg.all_of/all_of.pass.cpp
lg.any_of/any_of.pass.cpp
lg.count/count.pass.cpp
lg.count/count_if.pass.cpp
lg.equal/equal.pass.cpp
lg.equal/equal_pred.pass.cpp
lg.find.end/find_end.pass.cpp
lg.find.end/find_end_pred.pass.cpp
lg.find.first.of/find_first_of.pass.cpp
lg.find.first.of/find_first_of_pred.pass.cpp
lg.find/find.pass.cpp
lg.find/find_if.pass.cpp
lg.find/find_if_not.pass.cpp
lg.foreach/test.pass.cpp
lg.is_permutation/is_permutation.pass.cpp
lg.is_permutation/is_permutation_pred.pass.cpp
lg.none_of/none_of.pass.cpp
lg.search/search.pass.cpp
lg.search/search_n.pass.cpp
lg.search/search_n_pred.pass.cpp
lg.search/search_pred.pass.cpp
ismatch/mismatch.pass.cpp
ismatch/mismatch_pred.pass.cpp
othing_to_do.pass.cpp