- f927635 Implement P1209 - Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20. Reviewed as https://reviews.llvm.org/D55532 by Marshall Clow · 6 years ago
- ec22e35 Off-by-one errors strike again. Thank goodness for ASAN and the bots. by Marshall Clow · 6 years ago
- b994bfe When filling a vector<bool> with stuff, initialize the last word of the storage that you're touching. Otherwise, when we lay down the bits with operator&=, we get UB from reading uninitialized memory. Fixes Bug 39354. Thanks to David Wagner for the bug report. by Marshall Clow · 6 years ago
- f7fac08 Fix even more Clang warnings. by Eric Fiselier · 6 years ago
- e3973fd Implement the infrastructure for feature-test macros. Very few actual feature test macros, though. Reviewed as: https://reviews.llvm.org/D51955 by Marshall Clow · 6 years ago
- 8c58c22 [asan] Update a vector's storage annotation during destruction. Reviewed as https://reviews.llvm.org/D50101. Thanks to bobsayshilol (Ben) for the patch. by Marshall Clow · 6 years ago
- 5423805 [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY by Louis Dionne · 6 years ago
- 4e7ffca Revert "[libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY" by Louis Dionne · 6 years ago
- 79aa4f3 [libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY by Louis Dionne · 6 years ago
- 301518c Fix PR37694 - std::vector doesn't correctly move construct allocators. by Eric Fiselier · 6 years ago
- c6f5bf9 Change the names of two private methods: allocate -> __vallocate and deallocate -> __vdeallocate. NFC. This change triggered by https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61806, which shows up when we implement deduction guides for the container adaptors.The names have a 'v' in them because WIN32 has a macro named __deallocate. (sigh). by Marshall Clow · 6 years ago
- 32bc2e2 Implement deduction guides for vector by Marshall Clow · 6 years ago
- 88626bf First part of P0600 - '[[nodiscard] in the standard library'. Mark the 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only by Marshall Clow · 7 years ago
- 94c3917 [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back. by Eric Fiselier · 7 years ago
- 0d6a92e [libc++] Clean up cl warning 4231 disabling by Shoaib Meenai · 7 years ago
- 018a3d5 [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 7 years ago
- ad421ef Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector. by Eric Fiselier · 8 years ago
- 50145cc [libcxx] Improve code generation for vector::clear(). by Bruce Mitchener · 8 years ago
- 4e42dc9 Change the return type of emplace_[front|back] back to void when building with C++14 or before. Resolves PR31680. by Marshall Clow · 8 years ago
- c3589a8 [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS by Eric Fiselier · 8 years ago
- fb34238 Fix debug mode for vector/list and cleanup tests by Eric Fiselier · 8 years ago
- 0e5ebbc Fix unused parameters and variables by Eric Fiselier · 8 years ago
- a2cd270 Enable the -Wsign-compare warning to better support MSVC by Eric Fiselier · 8 years ago
- ef3060e [libcxx] Fix max_size() across all containers by Eric Fiselier · 8 years ago
- 833d644 [libc++] Fix and document visibility attributes for Clang, GCC and Windows. by Eric Fiselier · 8 years ago
- 14c09a2 Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855. by Marshall Clow · 8 years ago
- 3816ef9 Implement P0084r2. Changing emplace return types. by Eric Fiselier · 8 years ago
- 51d7e8e Always use the allocator to construct/destruct elements of a deque/vector. Fixes PR#28412. Thanks to Jonathan Wakely for the report. by Marshall Clow · 8 years ago
- 005c60b Fix bug #27260 - add missing swap(reference, reference) to vector<bool>. by Marshall Clow · 9 years ago
- b379228 Make __wrap_iter work with GCC again by Eric Fiselier · 9 years ago
- a3b25f8 Cleanup: move visibility/linkage attributes to the first declaration. by Evgeniy Stepanov · 9 years ago
- af961ed implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations by Marshall Clow · 9 years ago
- 7d439a4 Add missing instrumentation in vector::insert - Patch from Anna Zaks by Eric Fiselier · 9 years ago
- 119ed47 Move bits from N4258. Mark vector's move-constructor unconditionally noexcept in C++1z by Marshall Clow · 9 years ago
- 7d914d1 Implement the first part of N4258: 'Cleaning up noexcept in the Library'. This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. by Marshall Clow · 9 years ago
- c912c0c While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard by Marshall Clow · 9 years ago
- 127db91 More N4258 changes. This time vector's constructors by Marshall Clow · 9 years ago
- 66302c6 In many places, there was an #ifdef/#else block that selected one of two implmentations of rebind_alloc based on whether or not we had template aliases. Create a helper struct to encapsulate that bit of logic, and replace all the ifdefs with uses of that struct. No functionality change intented. by Marshall Clow · 10 years ago
- 088ed9f [libcxx] Optimize vectors uninitialized construction of trivial types from an iterator range. by Eric Fiselier · 10 years ago
- 9f4f221 [libcxx] Fix __RAII_IncreaseAnnotator for increases >= 1 by Eric Fiselier · 10 years ago
- d759095 [libcxx] Fix vector annotator size increase in `vector::insert(pos, count, value)` by Eric Fiselier · 10 years ago
- 26f472d Make the ASAN RAII object a nop when building w/o ASAN by Marshall Clow · 10 years ago
- 497f912 [asan] Make vector asan annotations exception-friendly by Kostya Serebryany · 10 years ago
- b953610 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 10 years ago
- 0d1965d Fix PR#20471. Add a cast in __align_it to ensure that the bit twiddling is done at the correct size. A better solution, IMHO, would be to declare vector<bool>::__bits_per_word as 'size_type', rather than 'unsigned', but that's a possible ABI change. by Marshall Clow · 10 years ago
- db5e54d make the same change as in 213546 for vector<bool> by Marshall Clow · 10 years ago
- 3c2eac6 In response to bug #20362, change the order of operations in vector move assignment so that if the allocator move assignment throws, we aren't left with two objects pointing at the same memory. This is not a complete fix; I am unconvinced that a complete fix is possible. With this change in place, we will leak the old contents of the vector. LWG issue #2106, when adopted, will make this problem illegal. Thanks to Thomas Koeppe for the report and analysis. by Marshall Clow · 10 years ago
- 1f50f2d Add Address Sanitizer support to std::vector by Marshall Clow · 11 years ago
- 1e56424 G M: Changes all references to "x inline" to "inline x" where x = _libcpp_always_inline or _libcpp_inline_visibility macros. by Howard Hinnant · 11 years ago
- de589f2 Peter Collingbourne: If a pointer is passed as the third argument of the (iterator, by Howard Hinnant · 11 years ago
- a49a2c9 LWG Issue 2210 (Part #7): vector and vector<bool> by Marshall Clow · 11 years ago
- 5e57142 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 11 years ago
- 5d5f9f9 Remove _LIBCPP_DEBUG. This was my first attempt at debug mode for libc++, and is now obsoleted by _LIBCPP_DEBUG2 (which isn't finished). by Howard Hinnant · 11 years ago
- 7f76450 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 11 years ago
- 198a2a5 Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>) by Marshall Clow · 11 years ago
- 0f678bd 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 · 11 years ago
- 8b00e6c Ok, 3 major changes for debug mode in one commit: by Howard Hinnant · 11 years ago
- e9df0a5 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 11 years ago
- 2c39cbe Implement full support for non-pointer pointers in custom allocators for vector. by Howard Hinnant · 11 years ago
- b4e67cf After years of telling people: 'If you ever find any of my code that self-move-assigns, send me a bug report.' Somebody finally took me up on it. vector::erase(begin(), begin()) does a self-move-assign of every element in the vector, leaving all of those elements in an unspecified state. I checked the other containers for this same bug and did not find it. Added test case. by Howard Hinnant · 12 years ago
- 742fecb Second try at r178075. The llvm breakage has been fixed by r178240. by Howard Hinnant · 12 years ago
- 34d36f3 Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM by Daniel Dunbar · 12 years ago
- 32d40f5 Tighten up the iterator requirements for the vector member templates. This is especially important for the constructors so that is_constructible<vector<T>, I, I> gives the right answer when T can not be constructed from *I. Test case included for this latter point. by Howard Hinnant · 12 years ago
- 02d5e18 Another vector debug mode test, and a static test on Allocator::value_type. This partially addresses http://llvm.org/bugs/show_bug.cgi?id=15576. by Howard Hinnant · 12 years ago
- 782da33 Added debug tests for indexing, pop_back and both forms of erase. Added an improved error message for erasing a single element with end(). by Howard Hinnant · 12 years ago
- 83eade6 No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. by Howard Hinnant · 12 years ago
- 635bbbb Revert accidental check-in. These changes are probably good, but premature at this point. by Howard Hinnant · 12 years ago
- 46c49d1 Michael van der Westhuizen: The attached patch add support for building against libc++abi and libcxxrt to CMake builds of libc++. by Howard Hinnant · 12 years ago
- f619e23 Fix exception safety bug in vector::push_back by Howard Hinnant · 12 years ago
- ff92677 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 · 12 years ago
- 1dc6f7a Don't neglect to "return *this". by Argyrios Kyrtzidis · 12 years ago
- 4ae952a Consistently label __bit_array as a struct, not a class. by Howard Hinnant · 12 years ago
- a58402a Change emplace for vector and deque to create the temporary (when necessary) before any changes to the container are made. Nikolay Ivchenkov deserves the credit for pushing this problem and the solution for it. by Howard Hinnant · 12 years ago
- f867f63 SFINAE __bit_iterator such that it will only get instantiated with a container that has the nested type __storage_type. This prevents accidental instantiation such as in http://llvm.org/bugs/show_bug.cgi?id=12755. This fixes http://llvm.org/bugs/show_bug.cgi?id=12755. by Howard Hinnant · 13 years ago
- 0438ea2 vector::emplace_back was mistakenly requiring move assignable. Fixed that and did a little drive-by optimization at the same time. This fixes http://llvm.org/bugs/show_bug.cgi?id=12085. by Howard Hinnant · 13 years ago
- b0bfd9b Implement a few optimizations for vector push_back and insert. Fixes r10828365. by Howard Hinnant · 13 years ago
- ec3773c Quash a whole bunch of warnings by Howard Hinnant · 13 years ago
- 9996844 Further macro protection by replacing _[A-Z] with _[A-Z]p by Howard Hinnant · 13 years ago
- 66c6f97 Add protection from min/max macros by Howard Hinnant · 13 years ago
- 78b6828 More windows port work by Ruben Van Boxem by Howard Hinnant · 13 years ago
- 08e1747 Windows support by Ruben Van Boxem. by Howard Hinnant · 13 years ago
- e6125bd Chris Jefferson noted that vector iterator ownership can be transferred from source to target under move construction and move assignment. This commit makes that happen for debug mode. by Howard Hinnant · 13 years ago
- 0442b12 The vector test suite now passes for no-debug, debug-lite and debug-regular by Howard Hinnant · 13 years ago
- abe2628 Create multilevel debug mode by Howard Hinnant · 13 years ago
- 7a563db Initial checkin for debug mode (version 2) by Howard Hinnant · 13 years ago
- 9cbee43 Fix const correctness bug in __move_assign. Found and fixed by Ion Gaztañaga. by Howard Hinnant · 13 years ago
- e3e3291 Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574 by Howard Hinnant · 13 years ago
- 110b8bf Explicitly invoke the size_type specialization of max and min. This by Sean Hunt · 13 years ago
- 2bf1c08 Make vector<bool>::reference and const_reference public by Howard Hinnant · 13 years ago
- f03c3b4 http://llvm.org/bugs/show_bug.cgi?id=10248 by Howard Hinnant · 13 years ago
- 0949eed _STD -> _VSTD to avoid macro clash on windows by Howard Hinnant · 13 years ago
- d1d27a4 noexcept for <vector>. This also includes installing move_if_noexcept() into vector. by Howard Hinnant · 13 years ago
- 6cf5d8c Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris). by Howard Hinnant · 14 years ago
- 04240d9 Reverting an old optimization that conflicts with the new allocator model, and causes some test casees to compile that shouldn't. by Howard Hinnant · 14 years ago
- 2d72b1e Effort to reduce the number of exported symbols by Howard Hinnant · 14 years ago
- 1468b66 N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right. by Howard Hinnant · 14 years ago
- b64f8b0 license change by Howard Hinnant · 14 years ago
- ee6ccd0 visibility-decoration sweep completed. by Howard Hinnant · 14 years ago
- 36cdf02 I am experimenting with putting visibility-default attributes on all struct/classes in libc++. This checkin decorates only basic_string and vector as an experiment, and for review by those in this audience that might know more about visibilty than I do. If I get no negative feedback on this procedure I will begin to decorate the entire library in this way. by Howard Hinnant · 14 years ago
- 73d21a4 Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. by Howard Hinnant · 14 years ago