| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
test/std almost always uses spaces; now it is entirely tab-free.
llvm-svn: 329978
|
|
|
|
|
|
| |
Also TEST_COMPILER_CLANG in one place. (More could be changed.)
llvm-svn: 329977
|
|
|
|
| |
llvm-svn: 324959
|
|
|
|
| |
llvm-svn: 324165
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 323563
|
|
|
|
| |
llvm-svn: 323159
|
|
|
|
|
|
| |
remove/remove_if/remove_copy/remove_copy_if/reverse_copy, and tests (commented out) for rotate_copy, because that depends on std::copy
llvm-svn: 323152
|
|
|
|
|
|
| |
for_each/for_each_n/lexicographical_compare
llvm-svn: 323147
|
|
|
|
|
|
| |
These will be enabled when that part of P0202 is implemented. NFC at this time.
llvm-svn: 323137
|
|
|
|
| |
llvm-svn: 323072
|
|
|
|
|
|
| |
std::merge. merge requires std::copy, which isn't constexpr yet.
llvm-svn: 323070
|
|
|
|
|
|
| |
fill/fill_n/generate/generate_n/unique/unique_copy. I removed a specialization of fill_n that recognized when we were dealing with raw pointers and 1 byte trivially-assignable types and did a memset, because the compiler will do that optimization for us.
llvm-svn: 323050
|
|
|
|
|
|
| |
replace/replace_if/replace_copy/replace_copy_if.
llvm-svn: 322975
|
|
|
|
| |
llvm-svn: 322970
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 322810
|
|
|
|
| |
llvm-svn: 322566
|
|
|
|
|
|
| |
binary_search
llvm-svn: 322529
|
|
|
|
| |
llvm-svn: 322528
|
|
|
|
| |
llvm-svn: 322527
|
|
|
|
| |
llvm-svn: 322507
|
|
|
|
|
|
| |
Morwenn noted.
llvm-svn: 322506
|
|
|
|
|
|
| |
should have been 'bool'. Fix that. It doesn't change the behavior of any of the tests, but it's more accurate.
llvm-svn: 322505
|
|
|
|
| |
llvm-svn: 322504
|
|
|
|
| |
llvm-svn: 322493
|
|
|
|
| |
llvm-svn: 322492
|
|
|
|
|
|
| |
and <utility>. This commit is all the is_XXX algorithms.
llvm-svn: 322489
|
|
|
|
| |
llvm-svn: 322196
|
|
|
|
|
|
| |
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
llvm-svn: 322019
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp
Silence MSVC warning C4244. This is expected when passing
floating-point values for size.
test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp
Avoid MSVC "warning C4293: '<<': shift count negative or too big,
undefined behavior". MSVC sees (1ULL << N) and warns - being guarded
by const bool canFit is insufficient. A small change to the code
avoids the warning without the need for a pragma.
Remove a spurious printf() declaration from to_ullong.pass.cpp.
Change ULL to UL in to_ulong.pass.cpp. The ULL suffix was
probably copy-pasted.
test/std/utilities/tuple/tuple.general/ignore.pass.cpp
Use LIBCPP_STATIC_ASSERT for consistency with other files.
test/support/container_test_types.h
Fix a null pointer dereference, found by MSVC /analyze
warning C6011 "Dereferencing NULL pointer 'm_expected_args'."
Fixes D41030.
llvm-svn: 320535
|
|
|
|
| |
llvm-svn: 319675
|
|
|
|
|
|
| |
as https://reviews.llvm.org/D40065
llvm-svn: 318804
|
|
|
|
|
|
| |
https://reviews.llvm.org/D39080
llvm-svn: 318277
|
|
|
|
| |
llvm-svn: 316917
|
|
|
|
|
|
| |
Yaroshevskiy for both the bug report and the fix.
llvm-svn: 316914
|
|
|
|
| |
llvm-svn: 311967
|
|
|
|
|
|
| |
Dörrie for the suggested fix.
llvm-svn: 311952
|
|
|
|
|
|
|
|
| |
This makes them consistent (many comments already used uppercase).
The special REQUIRES, UNSUPPORTED, and XFAIL comments are excluded from this change.
llvm-svn: 309468
|
|
|
|
| |
llvm-svn: 309464
|
|
|
|
| |
llvm-svn: 305848
|
|
|
|
| |
llvm-svn: 303833
|
|
|
|
| |
llvm-svn: 302105
|
|
|
|
| |
llvm-svn: 300625
|
|
|
|
|
|
| |
functional change.
llvm-svn: 298618
|
|
|
|
|
|
| |
'REQUIRES-ANY: c++98, c++03, c++11, c++14'
llvm-svn: 298600
|
|
|
|
|
|
| |
you cant get it back by defining _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE before including any libc++ headers.
llvm-svn: 298597
|
|
|
|
|
|
| |
in c++17. Use shuffle() instead. No change to libc++, just the tests.
llvm-svn: 294328
|
|
|
|
| |
llvm-svn: 289363
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
loss of data", part 6/7.
test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp
(Affects 64-bit architectures.) Include <cstddef> so we can take/return std::ptrdiff_t
(instead of int) in random_shuffle()'s RNG. (C++14 D.12 [depr.alg.random.shuffle]/2 says that
difference_type is used, and we're shuffling a plain array.)
test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
(Affects 64-bit architectures.) Include <iterator> because we're already using iterator_traits.
Then, store the result of subtracting two RanIts as difference_type instead of long
(which truncates on LLP64 architectures like MSVC x64).
test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
(Affects 64-bit architectures.) Include <cstddef> so we can store the result of
subtracting two pointers as std::ptrdiff_t (instead of int).
test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
(Affects 32-bit architectures.) Sometimes, size_t is too small. That's the case here,
where tellg() returns pos_type (N4606 27.7.2.3 [istream.unformatted]/39). Implementations can
have 64-bit pos_type (to handle large files) even when they have 32-bit size_t.
Fixes D27543.
llvm-svn: 289110
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
part 12/12.
Various changes:
test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp
This is comparing value_type to unsigned. value_type is sometimes int and sometimes struct S (implicitly constructible from int).
static_cast<value_type>(unsigned) silences the warning and doesn't do anything bad (as the values in question are small).
test/std/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp
This is comparing an int remote-element to size_t. The values in question are small and non-negative,
so either type is fine. I think that converting int to size_t is marginally better here than the reverse.
test/std/containers/sequences/deque/deque.cons/size.pass.cpp
DefaultOnly::count is int (and non-negative). When comparing to unsigned, use static_cast<unsigned>.
test/std/strings/basic.string/string.access/index.pass.cpp
We're comparing char to '0' through '9', but formed with the type size_t. Add static_cast<char>.
test/std/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp
Include <cstddef> for pedantic correctness (this test was already mentioning std::size_t).
"v[i] == (i & 1)" was comparing bool to size_t. Saying "v[i] == ((i & 1) != 0)" smashes the RHS to bool.
llvm-svn: 288749
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 288747
|