1. 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
  2. ec22e35 Off-by-one errors strike again. Thank goodness for ASAN and the bots. by Marshall Clow · 6 years ago
  3. 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
  4. f7fac08 Fix even more Clang warnings. by Eric Fiselier · 6 years ago
  5. 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
  6. 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
  7. 5423805 [libc++] Take 2: Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY by Louis Dionne · 6 years ago
  8. 4e7ffca Revert "[libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY" by Louis Dionne · 6 years ago
  9. 79aa4f3 [libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY by Louis Dionne · 6 years ago
  10. 301518c Fix PR37694 - std::vector doesn't correctly move construct allocators. by Eric Fiselier · 6 years ago
  11. 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
  12. 32bc2e2 Implement deduction guides for vector by Marshall Clow · 6 years ago
  13. 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
  14. 94c3917 [libc++] Fix PR34898 - vector iterator constructors and assign method perform push_back instead of emplace_back. by Eric Fiselier · 7 years ago
  15. 0d6a92e [libc++] Clean up cl warning 4231 disabling by Shoaib Meenai · 7 years ago
  16. 018a3d5 [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 7 years ago
  17. ad421ef Replace _LIBCPP_HAS_NO_<C++03 feature> with _LIBCPP_CXX03_LANG in vector. by Eric Fiselier · 8 years ago
  18. 50145cc [libcxx] Improve code generation for vector::clear(). by Bruce Mitchener · 8 years ago
  19. 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
  20. c3589a8 [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS by Eric Fiselier · 8 years ago
  21. fb34238 Fix debug mode for vector/list and cleanup tests by Eric Fiselier · 8 years ago
  22. 0e5ebbc Fix unused parameters and variables by Eric Fiselier · 8 years ago
  23. a2cd270 Enable the -Wsign-compare warning to better support MSVC by Eric Fiselier · 8 years ago
  24. ef3060e [libcxx] Fix max_size() across all containers by Eric Fiselier · 8 years ago
  25. 833d644 [libc++] Fix and document visibility attributes for Clang, GCC and Windows. by Eric Fiselier · 8 years ago
  26. 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
  27. 3816ef9 Implement P0084r2. Changing emplace return types. by Eric Fiselier · 8 years ago
  28. 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
  29. 005c60b Fix bug #27260 - add missing swap(reference, reference) to vector<bool>. by Marshall Clow · 9 years ago
  30. b379228 Make __wrap_iter work with GCC again by Eric Fiselier · 9 years ago
  31. a3b25f8 Cleanup: move visibility/linkage attributes to the first declaration. by Evgeniy Stepanov · 9 years ago
  32. 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
  33. 7d439a4 Add missing instrumentation in vector::insert - Patch from Anna Zaks by Eric Fiselier · 9 years ago
  34. 119ed47 Move bits from N4258. Mark vector's move-constructor unconditionally noexcept in C++1z by Marshall Clow · 9 years ago
  35. 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
  36. c912c0c While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard by Marshall Clow · 9 years ago
  37. 127db91 More N4258 changes. This time vector's constructors by Marshall Clow · 9 years ago
  38. 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
  39. 088ed9f [libcxx] Optimize vectors uninitialized construction of trivial types from an iterator range. by Eric Fiselier · 10 years ago
  40. 9f4f221 [libcxx] Fix __RAII_IncreaseAnnotator for increases >= 1 by Eric Fiselier · 10 years ago
  41. d759095 [libcxx] Fix vector annotator size increase in `vector::insert(pos, count, value)` by Eric Fiselier · 10 years ago
  42. 26f472d Make the ASAN RAII object a nop when building w/o ASAN by Marshall Clow · 10 years ago
  43. 497f912 [asan] Make vector asan annotations exception-friendly by Kostya Serebryany · 10 years ago
  44. b953610 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 10 years ago
  45. 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
  46. db5e54d make the same change as in 213546 for vector<bool> by Marshall Clow · 10 years ago
  47. 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
  48. 1f50f2d Add Address Sanitizer support to std::vector by Marshall Clow · 11 years ago
  49. 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
  50. de589f2 Peter Collingbourne: If a pointer is passed as the third argument of the (iterator, by Howard Hinnant · 11 years ago
  51. a49a2c9 LWG Issue 2210 (Part #7): vector and vector<bool> by Marshall Clow · 11 years ago
  52. 5e57142 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 11 years ago
  53. 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
  54. 7f76450 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 11 years ago
  55. 198a2a5 Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>) by Marshall Clow · 11 years ago
  56. 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
  57. 8b00e6c Ok, 3 major changes for debug mode in one commit: by Howard Hinnant · 11 years ago
  58. e9df0a5 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 11 years ago
  59. 2c39cbe Implement full support for non-pointer pointers in custom allocators for vector. by Howard Hinnant · 11 years ago
  60. 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
  61. 742fecb Second try at r178075. The llvm breakage has been fixed by r178240. by Howard Hinnant · 12 years ago
  62. 34d36f3 Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM by Daniel Dunbar · 12 years ago
  63. 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
  64. 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
  65. 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
  66. 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
  67. 635bbbb Revert accidental check-in. These changes are probably good, but premature at this point. by Howard Hinnant · 12 years ago
  68. 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
  69. f619e23 Fix exception safety bug in vector::push_back by Howard Hinnant · 12 years ago
  70. 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
  71. 1dc6f7a Don't neglect to "return *this". by Argyrios Kyrtzidis · 12 years ago
  72. 4ae952a Consistently label __bit_array as a struct, not a class. by Howard Hinnant · 12 years ago
  73. 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
  74. 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
  75. 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
  76. b0bfd9b Implement a few optimizations for vector push_back and insert. Fixes r10828365. by Howard Hinnant · 13 years ago
  77. ec3773c Quash a whole bunch of warnings by Howard Hinnant · 13 years ago
  78. 9996844 Further macro protection by replacing _[A-Z] with _[A-Z]p by Howard Hinnant · 13 years ago
  79. 66c6f97 Add protection from min/max macros by Howard Hinnant · 13 years ago
  80. 78b6828 More windows port work by Ruben Van Boxem by Howard Hinnant · 13 years ago
  81. 08e1747 Windows support by Ruben Van Boxem. by Howard Hinnant · 13 years ago
  82. 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
  83. 0442b12 The vector test suite now passes for no-debug, debug-lite and debug-regular by Howard Hinnant · 13 years ago
  84. abe2628 Create multilevel debug mode by Howard Hinnant · 13 years ago
  85. 7a563db Initial checkin for debug mode (version 2) by Howard Hinnant · 13 years ago
  86. 9cbee43 Fix const correctness bug in __move_assign. Found and fixed by Ion Gaztañaga. by Howard Hinnant · 13 years ago
  87. e3e3291 Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574 by Howard Hinnant · 13 years ago
  88. 110b8bf Explicitly invoke the size_type specialization of max and min. This by Sean Hunt · 13 years ago
  89. 2bf1c08 Make vector<bool>::reference and const_reference public by Howard Hinnant · 13 years ago
  90. f03c3b4 http://llvm.org/bugs/show_bug.cgi?id=10248 by Howard Hinnant · 13 years ago
  91. 0949eed _STD -> _VSTD to avoid macro clash on windows by Howard Hinnant · 13 years ago
  92. d1d27a4 noexcept for <vector>. This also includes installing move_if_noexcept() into vector. by Howard Hinnant · 13 years ago
  93. 6cf5d8c Chris Jefferson noted many places where function calls needed to be qualified (thanks Chris). by Howard Hinnant · 14 years ago
  94. 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
  95. 2d72b1e Effort to reduce the number of exported symbols by Howard Hinnant · 14 years ago
  96. 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
  97. b64f8b0 license change by Howard Hinnant · 14 years ago
  98. ee6ccd0 visibility-decoration sweep completed. by Howard Hinnant · 14 years ago
  99. 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
  100. 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