1. ffbb91b Address "always inline function is not always inlinable" warning with GCC. by Eric Fiselier · 6 years ago
  2. 64c10d0 Implement LWG 2946, 3075 and 3076. Reviewed as https://reviews.llvm.org/D48616 by Marshall Clow · 6 years ago
  3. ab343bb Mark __clear_and_shrink() as noexcept. This prevents the generation of a catch block and call to terminate in string's move assignment. Thanks to Howard for the 'catch'. by Marshall Clow · 6 years ago
  4. 256f187 Implement LWG3034: P0767R1 breaks previously-standard-layout types by Marshall Clow · 7 years ago
  5. 2b588cb Low-hanging fruit optimization in string::__move_assign(). by Vedant Kumar · 7 years ago
  6. 5b1e87e Implement deduction guide for basic_string as described in P0433 by Marshall Clow · 7 years ago
  7. 088e601 Fix PR#31454 - 'basic_string<T>::push_back() crashes if sizeof(T)>sizeof(long long)'. We were mishandling the small-string optimization calculations for very large 'characters'. This may be an ABI change (change the size of) strings of very large 'characters', but since they never worked, I'm not too concerned. by Marshall Clow · 7 years ago
  8. 46ea17e Change a static_assert to check for is_trivial instead of is_pod, as is mandated by P0767. by Marshall Clow · 7 years ago
  9. 46b4ad5 Implement P0457R2: 'String Prefix and Suffix Checking' for c++2a by Marshall Clow · 7 years ago
  10. 10bebe2 Fix std::string::data() symbol during library build. by Eric Fiselier · 7 years ago
  11. f1729d9 More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in string, string_view, and the free function std::empty(). Removed tabs from <string_view>, which is why the diff is so big. by Marshall Clow · 7 years ago
  12. 5ccf043 Refactor _LIBCPP_<LITTLE|BIG>_ENDIAN by Eric Fiselier · 7 years ago
  13. 0b9db07 Add even more string_view tests. These found some bugs in the default parameter value for rfind/find_last_of/find_last_not_of by Marshall Clow · 7 years ago
  14. 487562f [libc++] Hoist extern template above first use by Shoaib Meenai · 7 years ago
  15. 0d6a92e [libc++] Clean up cl warning 4231 disabling by Shoaib Meenai · 7 years ago
  16. cd75b28 [libc++] Mark string operator+ _LIBCPP_FUNC_VIS by Shoaib Meenai · 7 years ago
  17. de79ab6 Fix unrepresentable enum for clang-cl unstable ABI by Ben Craig · 7 years ago
  18. 6850670 [libc++] Hoist explicit instantiation above implicit. NFC by Shoaib Meenai · 7 years ago
  19. 59e24fe Fix more unreserved names by Eric Fiselier · 7 years ago
  20. 018a3d5 [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows by Eric Fiselier · 7 years ago
  21. 3e92897 Cleanup _LIBCPP_HAS_NO_<c++11-feature> in the string library. by Eric Fiselier · 7 years ago
  22. 622c7d5 Fix PR32642 - string::insert and string::append don't work with move_iterator. by Eric Fiselier · 7 years ago
  23. db14bcc [libcxx] Fix __compressed_pair so it doesn't copy the argument multiple times, and add constexpr. by Eric Fiselier · 7 years ago
  24. ed3c0e6 string: Remove always_inline from basic_string::__init by Duncan P. N. Exon Smith · 8 years ago
  25. 2d4c3fa Implement LWG#2761: 'basic_string should require that charT match traits::char_type'. Tests for string_view, too by Marshall Clow · 8 years ago
  26. 3b7c134 Disable unsigned integer sanitizer for basic_string::replace(). Patch from tomcherry@google.com by Eric Fiselier · 8 years ago
  27. 24e8dbd [libc++] Make _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS export members by Shoaib Meenai · 8 years ago
  28. f9aeac6 Mark a couple for basic_string member templates as inline. no ABI change this time. by Eric Fiselier · 8 years ago
  29. 25380e4 Remove more basic_string member function templates from the dylib exports by Eric Fiselier · 8 years ago
  30. 0eaf2e8 [libc++] Fix PR 31938 - std::basic_string constructors use non-deductible parameter types. by Eric Fiselier · 8 years ago
  31. 9e6abfa Mark basic_string::assign templates as inline to improve ABI stability. by Eric Fiselier · 8 years ago
  32. 9247fd2 Fix PR#31779: basic_string::operator= isn't exception safe. by Marshall Clow · 8 years ago
  33. f472d6c Fix GCC C++03 build by hiding default template argument in C++03 by Eric Fiselier · 8 years ago
  34. 37b2be9 Fix std::string assignment ambiguity from braced initializer lists. by Eric Fiselier · 8 years ago
  35. c3589a8 [NFC] Rename _LIBCPP_TYPE_VIS_ONLY to _LIBCPP_TEMPLATE_VIS by Eric Fiselier · 8 years ago
  36. 47257c4 Add tests for unordered container tests and std::string by Eric Fiselier · 8 years ago
  37. 0e5ebbc Fix unused parameters and variables by Eric Fiselier · 8 years ago
  38. db7fa11 Fixes for LWG 2598, 2686, 2739, 2742, 2747, and 2759, which were adopted last week in Issaquah by Marshall Clow · 8 years ago
  39. 51eb1d5 Add 'inline' but not 'always_inline' to std::strings destructor. by Eric Fiselier · 8 years ago
  40. d5b0db5 Remove additional function template definitions from the dylib by Eric Fiselier · 8 years ago
  41. 026d38e Optimize filesystem::path by providing weaker exception guarantees. by Eric Fiselier · 8 years ago
  42. ff8cce4 Revert "Added 'inline' attribute to basic_string's destructor" by Mehdi Amini · 8 years ago
  43. c715f55 Added 'inline' attribute to basic_string's destructor by Aditya Kumar · 8 years ago
  44. 9dbc053 Remove two ABI symbols added after the 3.9 release by Eric Fiselier · 8 years ago
  45. 42a87db Change a couple of 'template <typename's to 'template <class' which is what we use in the rest of the library. by Marshall Clow · 8 years ago
  46. 6ac8de0 Implement proposed resolution for LWG#2758. Reviewed as D24446. Normally, I would wait for these to be voted upon at a committee meeting (November), but the current draft standard is broken, and this should fix it. (And if it doesn't, we want to know about it soonest) by Marshall Clow · 8 years ago
  47. 6dbed46 [libc++] Add _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY to support GCC ABI compatibility by Eric Fiselier · 8 years ago
  48. 833d644 [libc++] Fix and document visibility attributes for Clang, GCC and Windows. by Eric Fiselier · 8 years ago
  49. d940dca Revert r280944 - Added 'inline' attribute to basic_string's destructor by Eric Fiselier · 8 years ago
  50. b9e6e89 Added 'inline' attribute to basic_string's destructor by Aditya Kumar · 8 years ago
  51. ac655ef Fix PR#30303 - no matching function for call to '__ptr_in_range' by Marshall Clow · 8 years ago
  52. d979eed Fix Bug 30240 - std::string: append(first, last) error when aliasing. Add test cases for append/insert/assign/replace while we're at it, and fix a similar bug in insert. by Marshall Clow · 8 years ago
  53. 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
  54. bb11bc4 Add 'inline' attribute to __init to inline the basic_string's constructor by Sebastian Pop · 8 years ago
  55. 1e00d6d Implement std::string_view as described in http://wg21.link/P0254R1. Reviewed as https://reviews.llvm.org/D21459 by Marshall Clow · 8 years ago
  56. 566bcb4 Fix most GCC attribute ignored warnings by Eric Fiselier · 8 years ago
  57. f4f7d8f Recommit r263036 with additional inlining, so that it will continue to work with existing system dylibs. Implements LWG#2583 by Marshall Clow · 9 years ago
  58. fadd1db Revert r263036, it's ABI-breaking. by Nico Weber · 9 years ago
  59. f40ec90 Implement LWG#2579: Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assign by Marshall Clow · 9 years ago
  60. ff0b9f5 Implement LWG#2583: There is no way to supply an allocator for basic_string(str, pos) by Marshall Clow · 9 years ago
  61. f532a70 Implement P0272R1: Give 'std::string' a non-const '.data()' member function by Marshall Clow · 9 years ago
  62. f6d6b51 Implement P0253R1: Fixing a design mistake in the searchers interface. by Marshall Clow · 9 years ago
  63. df9db31 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 · 9 years ago
  64. a3b25f8 Cleanup: move visibility/linkage attributes to the first declaration. by Evgeniy Stepanov · 9 years ago
  65. 4f01aa8 ABI versioning macros for libc++. by Evgeniy Stepanov · 9 years ago
  66. 7ed093b Implement LWG#2063, and update the issues links to point to the github generated pages by Marshall Clow · 9 years ago
  67. e2d4892 Fix most GCC warnings during build. Only -Wattribute left. by Eric Fiselier · 9 years ago
  68. 4f24182 [libcxx] Optimize away unneeded length calculation in basic_string::compare(const char*) by Eric Fiselier · 9 years ago
  69. 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
  70. 9a3c689 Change char_traits<char16_t>::eof() to return 0xFFFF instead of 0xDFFF. Fixes PR#24342 by Marshall Clow · 9 years ago
  71. 692177d Enable and fix warnings during the build. by Eric Fiselier · 9 years ago
  72. 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
  73. c912c0c While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard by Marshall Clow · 9 years ago
  74. 7b193f7 More of N4258 implementation. Mark all of our test_allocators as noexcept constructible. Make the constructors for basic_string noexcept all the time (under C++14). Update tests to reflect the new world order. More to come. by Marshall Clow · 9 years ago
  75. 6bcbced Rooting out more undefined behavior in char_traits. by Marshall Clow · 10 years ago
  76. f2e36ef Move the test for zero-length into the char_traits (from string_view). Add tests to char_traits specializations by Marshall Clow · 10 years ago
  77. b991975 [libcxx] Fix use of operator comma where the types can be user defined by Eric Fiselier · 10 years ago
  78. 6d9505a Fix char_traits functions for GCC compatibility. by Dan Albert · 10 years ago
  79. b953610 NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards. by Eric Fiselier · 10 years ago
  80. d5549cc Fix bug #20335 - memory leak when move-constructing a string with unequal allocator. Thanks to Thomas Koeppe for the report by Marshall Clow · 10 years ago
  81. 37025e1 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 · 10 years ago
  82. 360f319 Preparation for <string_view>. More helper functions that can be shared between <string> and <string_view>. No functionality change by Marshall Clow · 10 years ago
  83. ec34c48 Fix typos by Alp Toker · 10 years ago
  84. a93b5e2 Implement LWG #2268: Setting a default argument in the declaration of a member function assign of std::basic_string. by Marshall Clow · 11 years ago
  85. 8eb5acc Remove tabs that crept in during an earlier refactoring. No functionality change by Marshall Clow · 11 years ago
  86. b671fc9 Refactor some of the operations in <string> so that they can be reused; no functionality change by Marshall Clow · 11 years ago
  87. ecc8d7b Fix an off-by-one error in basic_string::__grow_by, where it would incorrectly throw length_error (instead of bad_alloc) when attempting to resize the string to 'max_size()'. Add tests for resizing to max_size +/-1 by Marshall Clow · 11 years ago
  88. 09f8550 Fixes PR17148 by Marshall Clow · 11 years ago
  89. 8d9dd7a Mark namespaces for user defined literals as 'inline' by Marshall Clow · 11 years ago
  90. 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
  91. 499cea1 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 · 11 years ago
  92. 7f76450 Xing Xue: port to IBM XLC++/AIX. by Howard Hinnant · 11 years ago
  93. 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
  94. ab61b2c War on tabs by Howard Hinnant · 11 years ago
  95. e9df0a5 Nico Rieck: Currently _MSC_VER and _WIN32 are used to guard code which is by Howard Hinnant · 11 years ago
  96. 1523432 Implement string suffixes from N3642 by Marshall Clow · 11 years ago
  97. 9dcdcde Implement full support for non-pointer pointers in custom allocators for string. This completes the custom pointer support for the entire library. by Howard Hinnant · 11 years ago
  98. 1546718 This patch introduces an alternative layout for basic_string which when the string is short, the data pointer will be word-aligned. It can be activated with -D_LIBCPP_ALTERNATE_STRING_LAYOUT. These two different layouts (the default and _LIBCPP_ALTERNATE_STRING_LAYOUT) are not ABI compatible with each other. Once one is chosen for a given platform, it is disruptive to change it. by Howard Hinnant · 11 years ago
  99. 08dd253 Modest performance improvement for std::string's operator==. by Howard Hinnant · 11 years ago
  100. 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