- 04695a7 [libcxx] Speeding up partition_point/lower_bound/upper_bound by Louis Dionne · 7 years ago
- 835140a [libcxx] Make sure we can build with -fvisibility=hidden on Linux by Louis Dionne · 7 years ago
- e0a724e Revert "Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible." by Louis Dionne · 7 years ago
- 8c40d81 Bug 39129: Speeding up partition_point/lower_bound/upper_bound/ by using unsigned division by 2 when possible. by Eric Fiselier · 7 years ago
- e503a1c Fix PR39458 _LIBCPP_DEBUG breaks heterogeneous compare. by Eric Fiselier · 7 years ago
- 2dd5335 Do the math in uniform_int_distribution::operator() as unsigned to prevent UB when overflowing. Also add a UBSAN notification that we're ffine with unsigned overflow. This fixes PR#32617. Thanks to Vincent & Christoph for their help with this issue. by Marshall Clow · 7 years ago
- ea5cd3b [libc++] Add deprecated attributes to many deprecated components by Louis Dionne · 7 years ago
- f56972e Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 by Marshall Clow · 7 years ago
- e9cc545 Fix PR# 38900 - don't call swap inside of random_shuffle when we'd be swapping an element with itself by Marshall Clow · 7 years ago
- a60d7fa Add diagnostics for min/max algorithms when a InputIterator is used. by Eric Fiselier · 7 years ago
- e02ee4f Recommit r339943 - Establish the <bit> header. NFC yet. Reviewed as https://reviews.llvm.org/D50815 - with a fix for the sanitizer bots by Marshall Clow · 7 years ago
- 0d52fce Revert "Establish the <bit> header. NFC yet. Reviewed as https://reviews.llvm.org/D50815" by Vitaly Buka · 7 years ago
- 496bb86 Establish the <bit> header. NFC yet. Reviewed as https://reviews.llvm.org/D50815 by Marshall Clow · 7 years ago
- d8098f9 Mark __equal_to 's operations as constexpr. by Marshall Clow · 7 years ago
- 9cad502 Make internal class __wrap_iter constexpr when not using libc++'s debugging mode. Introduce a new macro _LIBCPP_CONSTEXPR_IF_NODEBUG to mark this. by Marshall Clow · 7 years ago
- f951fc3 Fix misleading indentation; replace a couple of NULLs with nullptr. Resolves https://reviews.llvm.org/D42945 ; thanks to Bruce Mitchener for the patch. by Marshall Clow · 8 years ago
- 939b162 Fix the BinaryPredicate form of std::is_permutation to not rely on operator== by Peter Collingbourne · 8 years ago
- 8da1a48 Last batch of P0202 constexpr additions: includes/set_intersection/exchange by Marshall Clow · 8 years ago
- e8ea829 Another batch of P0202 constepr algirithms. remove/remove_if/remove_copy/remove_copy_if/reverse_copy, and tests (commented out) for rotate_copy, because that depends on std::copy by Marshall Clow · 8 years ago
- 1b9a4ff Still more P0202 constexpr-ifying. This batch is: for_each/for_each_n/lexicographical_compare by Marshall Clow · 8 years ago
- 4bfb931 More P0202 constexpr work. This commit adds 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. by Marshall Clow · 8 years ago
- 12c7423 More P0202 constexpr-ifying in <algorithm>. This commit handles replace/replace_if/replace_copy/replace_copy_if. by Marshall Clow · 8 years ago
- 99894b6 More P0202 constexpr-ifying in <algorithm>. This commit handles 'transform'. by Marshall Clow · 8 years ago
- 12f0a77 More constexpr algorithms from P0202. search/search_n by Marshall Clow · 8 years ago
- d57c03d More constexpr algorithms from P0202: lower_bound, upper_bound, equal_range, binary_search by Marshall Clow · 8 years ago
- 6538e28d More constexpr (re P0202) - equal and mismatch by Marshall Clow · 8 years ago
- 056f15e More constexpr from P0202. count and count_if. Also fix a comment that Morwenn noted. by Marshall Clow · 8 years ago
- 8694428 More P0202 constexpr-ifying. All the find_XXX algorithms in this commit. by Marshall Clow · 8 years ago
- 674f912 partition_point gets the P0202 treatment by Marshall Clow · 8 years ago
- 706ffef More constexpr algorithms from P0202. any_of/all_of/none_of. by Marshall Clow · 8 years ago
- 49c7643 First part of P0202: Adding constexpr modifiers to functions in <algorithm> and <utility>. This commit is all the is_XXX algorithms. by Marshall Clow · 8 years ago
- d835e59 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 by Marshall Clow · 8 years ago
- 9a0a004 [libcxx] Fix intrinsics for MSVC by Shoaib Meenai · 8 years ago
- 42bfedd Rename identifiers named `__output` by Alexander Richardson · 8 years ago
- 05da5b0 Fix PR#35119 : set_union misbehaves with move_iterators. Thanks to Denis Yaroshevskiy for both the bug report and the fix. by Marshall Clow · 8 years ago
- 08bba64 Revert 313789 because gcc doesn't like it by Marshall Clow · 8 years ago
- 8f27eef Mark the __eval methods on independent_bits_engine (and __independent_bits_engine) as const, since they make no changes to the object. NFC. by Marshall Clow · 8 years ago
- 5beb2c3 Fix a bit of UB in __independent_bits_engine. Fixes PR#34663 by Marshall Clow · 8 years ago
- a763b36 Fix PR31166: std::inplace_merge seems to be unstable. Thanks to Jan Wilken Dörrie for the suggested fix. by Marshall Clow · 8 years ago
- 316a3e5 [libc++] Clean up cl warning 4231 disabling by Shoaib Meenai · 8 years ago
- a016efb [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 8 years ago
- 89918ca Remove uses of _UI because Windows is evil and tchar.h #define's it by Eric Fiselier · 8 years ago
- 5b7c98e Last commit included some extra constexpr; remove them by Marshall Clow · 8 years ago
- 1d02996 Make for_each_n only avaliable on C++17 by Marshall Clow · 8 years ago
- d5c65ff Add non-parallel version of for_each_n (+tests) from the Parallelism TS by Marshall Clow · 8 years ago
- 80f8cfb Don't interfere with the __builtin_foo namespace under MSVC by Eric Fiselier · 8 years ago
- 5d50aa3 [libc++] Refactor Windows support headers. by Eric Fiselier · 8 years ago
- ddda456 Cleanup _LIBCPP_HAS_NO_<c++11-feature> in algorithm by Eric Fiselier · 8 years ago
- 66f1ec4 Fix C++17 dylib build by Eric Fiselier · 8 years ago
- 0f37a41 Remove random_shuffle in C++17. Please use shuffle instead. If you have to, you cant get it back by defining _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE before including any libc++ headers. by Marshall Clow · 9 years ago
- 5741d86 Replace identifiers called `__out` because Windows.h #defines it. by Eric Fiselier · 9 years ago
- 14bd0bf Fix __wrap_iter in debug mode and apply _NOEXCEPT_DEBUG to it by Eric Fiselier · 9 years ago
- fd83822 Fix unused parameters and variables by Eric Fiselier · 9 years ago
- b977579 [libcxx] remove unused code by Aditya Kumar · 9 years ago
- 1c7fe12 Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah by Marshall Clow · 9 years ago
- e715470 Implement C++17 std::sample. by Eric Fiselier · 9 years ago
- 331fb80 Remove trailing WS [NFC] by Aditya Kumar · 9 years ago
- 19b4035 Implement LCM and GCD for C++17. Same code as for Library Fundamentals TS. by Marshall Clow · 9 years ago
- 331d215 Add heterogeneous comparator support for __debug_less. Fixes PR17147. by Eric Fiselier · 9 years ago
- f07dd8d Add is_swappable/is_nothrow_swappable traits by Eric Fiselier · 9 years ago
- b10079e Remove unused internal routines. No functional change by Marshall Clow · 9 years ago
- 28cc4dd Implement P0253R1: Fixing a design mistake in the searchers interface. by Marshall Clow · 10 years ago
- 146c14a Implement P0025R0: 'An algorithm to clamp a value between a pair of boundary values' for C++17 by Marshall Clow · 10 years ago
- 76b4afc Fix PR#25973 : 'basic_string::assign(InputIt, InputIt) doesn't provide the strong exception safety guarantee'. This turned out to be a pervasive problem in <string>, which required a fair amount of rework. Add in an optimization for when iterators provide noexcept increment/comparison/assignment/dereference (which covers many of the iterators in libc++). Reviewed as http://reviews.llvm.org/D15862 by Marshall Clow · 10 years ago
- def501d Make reverse() call iter_swap like the standard says, instead of calling swap directly. No real change. by Marshall Clow · 10 years ago
- 251c629 Fix warnings about pessimizing return moves for C++11 and higher by Dimitry Andric · 10 years ago
- a6438ca Fix PR#24267. use numeric_limits::max instead of ~0 for 'all ones', since that might give wrong answers on a 1's complement machine. by Marshall Clow · 10 years ago
- adfdae1 Fix a self-move bug in inplace_merge. Thanks to Ted and Dexon for the report and the suggested fix. by Marshall Clow · 10 years ago
- 5b31205 Fix some places where we could call memmove(null,xxx,0) - which is UB by Marshall Clow · 10 years ago
- 0b0671a Fix for LWG Issue 2369: constexpr max(initializer_list) vs max_element by Marshall Clow · 10 years ago
- 002144f Fix PR 22541: When values are equal, minmax should return the rightmost one in the initializer_list by Marshall Clow · 11 years ago
- 5154402 [libcxx] Properly convert the count arguments to the *_n algorithms before use. by Eric Fiselier · 11 years ago
- c281a7a Get tests running with warnings. Fix warnings in headers and tests by Eric Fiselier · 11 years ago
- b9595b7 Fix PR#22433. The algorithm is_partitioned was testing an item in the middle of the sequence twice. by Marshall Clow · 11 years ago
- 0b48cf9 Fix PR#22427. The implementation of inplace_merge had a \'small data set\' optimization; if either half of the merge was small (i.e, less than 9 items), it did an inplace merge rather than allocating a buffer and doing a faster/smarter merge. However, this failed to satisfy the complexity requirements in the standard. Remove that code. Add tests to check the complexity, and add the same tests for std::merge, since we are in that section of the test suite anyway. by Marshall Clow · 11 years ago
- 526e092 Reorder a couple of operations in inplace_merge so that we can meet the complexity guidelines mandated by the standard. References PR22427 by Marshall Clow · 11 years ago
- 847ee13 Fix use of operator comma in is_permutation and delete comma operator for test iterators. by Eric Fiselier · 11 years ago
- 910285b [libcxx] Fix use of operator comma where the types can be user defined by Eric Fiselier · 11 years ago
- bd7c7b5 Fix for mismatch to handle evil iterators which overload operator comma by Marshall Clow · 11 years ago
- c1bd919 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 11 years ago
- 8b51260 Fix std::make_heap's worst case time complexity by David Majnemer · 11 years ago
- 9b0af34 Make the helper routines in string really be constexpr. This required a bit of refacoring in algorithm as well. Give them better names while we're at it. All of these are internal rotines; no visible functionality change. by Marshall Clow · 11 years ago
- 06965c1 Per N3924, mark random_shuffle as deprecated in the synopsis for <algorithm>. Since we don't actually do anything when a call is deprecated, there is no functionality change. Maybe someday, we'll decide to warn when using a deprecated function. by Marshall Clow · 12 years ago
- 9d67c6d Implement LWG2350: min, max, and minmax should be constexpr. by Marshall Clow · 12 years ago
- 5f878d4 G M: Restore the ability for libcxx to compile again on mingw 64. by Howard Hinnant · 12 years ago
- 145afa1 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 12 years ago
- fc88dbd Debug mode for string. This commit also marks the first time libc++ debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib. by Howard Hinnant · 12 years ago
- 179b1f8 Zhihao Yuan noted that there were a few unneeded statements. Eliminated the unnecessary ones, and commented the ones that are there for non-obvious reasons such as to help things limp along in C++03 language mode. by Howard Hinnant · 12 years ago
- 5d1a701 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 12 years ago
- f0544c2 Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. by Howard Hinnant · 12 years ago
- 0be8f64 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 12 years ago
- 0f242be Taking another swing at correctly optimizing fill_n. by Howard Hinnant · 12 years ago
- ce075cf Constrain fill_n -> memset operations to include implicit convertibility to unsigned char. This fixes http://llvm.org/bugs/show_bug.cgi?id=16764. Also a drive-by fix on a chrono test suite bug. by Howard Hinnant · 12 years ago
- 8bb1dbb Fix a bug in std::fill_n where memset would end up being called in cases when it shouldn’t. by Anders Carlsson · 12 years ago
- fce85ba Fix incorrect type usage; nice catch by Sebastian by Marshall Clow · 12 years ago
- 0b0bbd2 Implement n3607: 'equal', 'mismatch', and 'is_permutation' by Marshall Clow · 12 years ago
- b13fcad Somehow search_n never got tested, so of course it had a bug in it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15667. by Howard Hinnant · 12 years ago
- b6e5f85 Change the 'result_type' from unsigned to 'uint_fast32_t'. This eliminates truncation warnings on Linux by Marshall Clow · 13 years ago
- d3d4356 Marcin Zalewski: Change the name of a template parameter in __copy_backward from _InputIterator to _BidirectionalIterator to better document the intent of the algorithm. by Howard Hinnant · 13 years ago
- cd47cbc Provide a way to disable use of extern templates in libc++. This is intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line. by Howard Hinnant · 13 years ago