1. 6f56ab7 Adds a basic test wrapper for Android by Dan Albert · 10 years ago
  2. d384925 Patch from Steve MacKenzie to make the libc++ tests play nicely with MSVC's STL. Add '#include <functional>' to four of the priority queue tests. by Marshall Clow · 10 years ago
  3. 6dbaaa9 Add tests for LWG issue #2356. Stability of erasure in unordered associative containers. Libc++ already does this, but now we have tests for it. by Marshall Clow · 10 years ago
  4. 179e945 More tests for LWG Issue #2263; this time to the associative and unordered containers. Still no changes to libc++ by Marshall Clow · 10 years ago
  5. 9863083 Added tests to the sequence containers for for LWG Issue #2263. Comparing iterators and allocator pointers with different const-character. No changes to libc++ by Marshall Clow · 10 years ago
  6. 48c7470 Implement LWG 2193. Default constructors for standard library containers are explicit. Note that libc++ already did this for string/deque/forward_list/list/vector and the unordered containers; implement it for set/multiset/map/multimap. Add tests for all the containers. Two drive-by fixes as well: add a missing explicit in <deque>, and remove a tab that snuck into a container test. This issue is also LLVM bug 15724, and resolves it. by Marshall Clow · 10 years ago
  7. cbb9305 LWG issue #2252: Add more tests for exception safety. No changes needed in the library by Marshall Clow · 10 years ago
  8. d2060f0 Add a test to make sure that vector supports incomplete types by Marshall Clow · 10 years ago
  9. ebfc50e Fix for PR18735 - self-assignment for map/multimap gives incorrect results in C++03 by Marshall Clow · 10 years ago
  10. a3dc8f3 Support forward_list<Incomplete Type>. Patch by Zhihao Yuan! by Peter Collingbourne · 10 years ago
  11. 98760c1 Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch. by Marshall Clow · 10 years ago
  12. 1b92188 Found six (nmostly) identical files named 'test_allocator.h' in the libcxx test suite. Moved one to /support, made it a superset, and removed all but one of the others, and iupdated all the includes. Left the odd one (thread/futures/test_allocator.h) for later. by Marshall Clow · 11 years ago
  13. e27dbcf Found two identical files named 'DefaultOnly.h' in the libcxx test suite. Moved one to /support, removed the other, and iupdated all the includes. No functionality change by Marshall Clow · 11 years ago
  14. 6daf534 Fix for PRPR17934; based on a fix suggested by Peter Sommerlad by Marshall Clow · 11 years ago
  15. 061d0cc There were two identical files named 'min_allocator.h'. Move one of them to /support and delete the other. Then adjust all the tests that used them to include the moved one. No functionality change. by Marshall Clow · 11 years ago
  16. 6b7c2ae Move <dynarray> into include/experimental, and into the std::experimental namespace, since it's not part of C++14, but of an upcoming TS by Marshall Clow · 11 years ago
  17. bd444af Part 8 of LWG Issue 2210' unordered_set and unordered multiset; this got missed when I went on vacation by Marshall Clow · 11 years ago
  18. ff7546e SCARY/N2913 iterator support between the multi and non-multi versions of the associative and unordered containers. I beleive lack of support for this was accidentally recently introduced (by me) and this is fixing a regression. This time tests are put in to prevent such a regression in the future. by Howard Hinnant · 11 years ago
  19. de589f2 Peter Collingbourne: If a pointer is passed as the third argument of the (iterator, by Howard Hinnant · 11 years ago
  20. a49a2c9 LWG Issue 2210 (Part #7): vector and vector<bool> by Marshall Clow · 11 years ago
  21. 27a1c25 Initial implementation of <dynarray>. No allocator support pending resolution of LWG #2235; no stack allocation pending compiler support by Marshall Clow · 11 years ago
  22. 6dff618 LWG Issue 2210 (Part #6): unordered_map and unordered_multimap by Marshall Clow · 11 years ago
  23. f9d2680 A collection of minor type-o fixes. The first two aren't testable, but all tests pass with them. I stumbled across them while experimenting with a std::move that checks its argument for non-const. The third corrects a test that is currently failing. by Howard Hinnant · 11 years ago
  24. 49d596d LWG Issue #2210 Part 5 - map/multimap; no, really - the last one was set/multiset. THIS is map/multimap by Marshall Clow · 11 years ago
  25. 24a7e33 LWG Issue #2210 Part 4 - map/multimap by Marshall Clow · 11 years ago
  26. 6398343 Remove a tab that snuck in by Marshall Clow · 11 years ago
  27. ac04e1f Fix minor type-o in tests. by Howard Hinnant · 11 years ago
  28. 955f2c8 LWG Issue 2210 (Part #2 & #3): list and forward_list by Marshall Clow · 11 years ago
  29. ab04aad LWG Issue 2210 (Part #1): deque by Marshall Clow · 11 years ago
  30. 5e57142 Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG. by Howard Hinnant · 11 years ago
  31. 198a2a5 Implement LWG Issue #2187 (emplace_back and emplace for vector<bool>) by Marshall Clow · 11 years ago
  32. 5cfc6ab Second half (map/multimap) of N3657 by Marshall Clow · 11 years ago
  33. 4a0a981 First half of support for N3657; heterogenous lookups for set/multiset by Marshall Clow · 11 years ago
  34. 051c848 N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests by Marshall Clow · 11 years ago
  35. 193ef03 N3644 support for <unordered_set> and <unordered_map> by Marshall Clow · 11 years ago
  36. 52ad482 N3644 support for vector<bool> by Marshall Clow · 11 years ago
  37. 0f164c9 N3644 support for <string> and <vector> by Marshall Clow · 11 years ago
  38. 36ba399 Correct logic bug in find optimization for vector<bool>. This fixes http://llvm.org/bugs/show_bug.cgi?id=16816 by Howard Hinnant · 11 years ago
  39. ab61b2c War on tabs by Howard Hinnant · 11 years ago
  40. f9c29e1 Implement tests for NULL iterators for <array> re: N3644 by Marshall Clow · 11 years ago
  41. 5a11f94 Implement NULL iterators for <forward_list> and <deque> re: N3644 by Marshall Clow · 11 years ago
  42. 65d2e6a Implement NULL iterators for <list> re: N3644 by Marshall Clow · 11 years ago
  43. 824c199 debug mode for unordered_map. Also picked up a missing check and test in unordered_multimap. This wraps up debug mode for the unordered containers. by Howard Hinnant · 11 years ago
  44. 8b00e6c Ok, 3 major changes for debug mode in one commit: by Howard Hinnant · 11 years ago
  45. f890d9b Debug mode for unordered_multimap. Some mods were done for unordered_map as well to keep all the tests passing. However unordered_map is at the very least still missing tests, if not functionality (if it isn't tested, it probably isn't working). by Howard Hinnant · 11 years ago
  46. 0bb0a7c Debug mode for unordered_multiset. The exercise spotted a few places I had missed on unordered_set, so I picked those up as well. by Howard Hinnant · 11 years ago
  47. 3921364 Debug mode for unordered_set. I believe this to be fairly complete for by Howard Hinnant · 11 years ago
  48. 8fc4f5a Make std::get constexpr by Marshall Clow · 11 years ago
  49. 171771a War on tabs. by Howard Hinnant · 11 years ago
  50. 9b128e0 Remove implicit conversion from __value_type to value_type in [unordered_][multi]map. This fixes http://llvm.org/bugs/show_bug.cgi?id=16549 by Howard Hinnant · 11 years ago
  51. b66e1c3 Removed extension in [unordered_][multi]map which allowed one to emplace using just an argument for the key, as opposed to using piecewise_construct. However a bug report exposed that this created an unfortunate ambiguity. People who are currently using the extension will be notified the next time they compile, and will have to change to using piecewise_construct. There are no ABI issues with the removal of this extension. This fixes http://llvm.org/bugs/show_bug.cgi?id=16542 by Howard Hinnant · 11 years ago
  52. e008d4e Simplify comparators of [unordered_][multi]map. This fixes http://llvm.org/bugs/show_bug.cgi?id=16538 by Howard Hinnant · 11 years ago
  53. 2c39cbe Implement full support for non-pointer pointers in custom allocators for vector. by Howard Hinnant · 11 years ago
  54. 29f7432 Implement full support for non-pointer pointers in custom allocators for list. by Howard Hinnant · 11 years ago
  55. 81381a9 Implement full support for non-pointer pointers in custom allocators for forward_list. by Howard Hinnant · 11 years ago
  56. fcd8db7 Implement full support for non-pointer pointers in custom allocators for deque. by Howard Hinnant · 11 years ago
  57. 7a6b7ce Implement full support for non-pointer types in custom allocators. This is for the unordered containers only. This work still needs to be done on the sequence containers. by Howard Hinnant · 11 years ago
  58. 70342b9 Implement full support for non-pointer types in custom allocators. This is for the associative containers only. This work still needs to be done on the unordered and sequence containers. Fixes http://llvm.org/bugs/show_bug.cgi?id=15978 by Howard Hinnant · 11 years ago
  59. ee749a4 Test case for r183481. 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 · 11 years ago
  61. 2062f37 I believe this finishes up debug mode for list. The testing is a little weak, but I believe all of the functionality is there. Certainly enough for people to checkout and start beating up on. by Howard Hinnant · 11 years ago
  62. 6dcaf3e Fix bug in __libcpp_db::__iterator_copy. Add debug test for swaping lists. by Howard Hinnant · 11 years ago
  63. e1e96cb More list debug mode tests. by Howard Hinnant · 11 years ago
  64. 79a3557 More work on debug mode for list. by Howard Hinnant · 11 years ago
  65. d4c96a6 Some debug test cases for list. by Howard Hinnant · 11 years ago
  66. 8b25c00 The 3rd test in shrink_to_fit.pass.cpp can't possibly pass if exceptions are disabled, so #ifdef'ing out the test. by Howard Hinnant · 11 years ago
  67. 34d36f3 Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM by Daniel Dunbar · 11 years ago
  68. 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 · 11 years ago
  69. 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 · 11 years ago
  70. d1c0082 More vector debug tests. by Howard Hinnant · 11 years ago
  71. 3fbd1df Simply debug mode tests per Dmitri Gribenko's suggestion. by Howard Hinnant · 11 years ago
  72. d9cdb2d Need one more swap overload for swapping two lvalue vector<bool>::reference's. by Howard Hinnant · 11 years ago
  73. 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 · 11 years ago
  74. c1ca2e1 Remove some erroneous code I was using to debug debug mode. by Howard Hinnant · 11 years ago
  75. 295891f Debug mode tests for vector::front and back. by Howard Hinnant · 11 years ago
  76. 0d01eb5 More vector::iterator debug mode tests. Run by adding to OPTIONS -D_LIBCPP_DEBUG2=1. by Howard Hinnant · 11 years ago
  77. f5f4684 Debug mode: learning to crawl. I need to set up some tests that actually test that the debug mode is working, but that won't cause problems when debug mode isn't on. This is my first prototype of such a test. It should call std::terminate() because it's comparing iterators from different containers. And std::terminate() is rigged up to exit normally. If debug mode fails, and doesn't call terminate, then the program asserts. The test is a no-op if _LIBCPP_DEBUG2 is not defined or is defined to be 0. by Howard Hinnant · 11 years ago
  78. 9976b55 This is a start at making the libc++ test suite friendlier to the -fnoexceptions flag. Although this is not a complete solution, it does reduce the number of test failures on OS X from 467 to 128 on OS X when -fno-exceptions is enabled, and does not impact the number of failures at all when -fno-exceptions is not enabled. The bulk of this code was donated anonymously. by Howard Hinnant · 11 years ago
  79. f619e23 Fix exception safety bug in vector::push_back by Howard Hinnant · 12 years ago
  80. 83e2c4d Move common header files into a 'support' directory; make 'testit' include -I to that directory; rename 'iterators.h' to 'iterator_test.h'; remove hard-coded paths to include files from more than 350 source files by Marshall Clow · 12 years ago
  81. ba1920f Removed several more different 'iterators.h' files in libcxx/test by Marshall Clow · 12 years ago
  82. a46482e Added static_assert to std::get<N>(std::array) calls to catch "out of bounds" calls by Marshall Clow · 12 years ago
  83. 08bce17 constexpr applied to <array>. by Howard Hinnant · 12 years ago
  84. d586248 Add test for self-referencing emplace test. by Howard Hinnant · 12 years ago
  85. 7a44515 This commit establishes a new bucket_count policy in the unordered containers: The policy now allows a power-of-2 number of buckets to be requested (and that request honored) by the client. And if the number of buckets is set to a power of 2, then the constraint of the hash to the number of buckets uses & instead of %. If the client does not specify a number of buckets, then the policy remains unchanged: a prime number of buckets is selected. The growth policy is that the number of buckets is roughly doubled when needed. While growing, either the prime, or the power-of-2 strategy will be preserved. There is a small run time cost for putting in this switch. For very cheap hash functions, e.g. identity for int, the cost can be as high as 18%. However with more typical use cases, e.g. strings, the cost is in the noise level. I've measured cases with very cheap hash functions (int) that using a power-of-2 number of buckets can make look up about twice as fast. However I've also noted that a power-of-2 number of buckets is more susceptible to accidental catastrophic collisions. Though I've also noted that accidental catastrophic collisions are also possible when using a prime number of buckets (but seems far less likely). In short, this patch adds an extra tuning knob for those clients trying to get the last bit of performance squeezed out of their hash containers. Casual users of the hash containers will not notice the introduction of this tuning knob. Those clients who swear by power-of-2 hash containers can now opt-in to that strategy. Clients who prefer a prime number of buckets can continue as they have. by Howard Hinnant · 12 years ago
  86. 635ce1d The rules for emplace in map, multimap, unordered_map and unordered_multimap changed a while back and I'm just now updating to these new rules. In a nutshell, you've got to know you're emplacing to a pair and use one of pair's constructors. I made one extension: If you want to emplace the key and default construct the mapped_type, you can just emplace(key), as opposed to emplace(piecewise_construct, forward_as_tuple(key), forward_as_tuple()). by Howard Hinnant · 12 years ago
  87. f836d53 unord test fixes by Edward Meewis by Howard Hinnant · 13 years ago
  88. 1c3ec6d Another installment on debug mode. This addresses list. However this should be considered a temporary state. The API of the debug database and how vector and list use it, is unsatisfactory at the moment. It is both inefficient and overly verbose. I wanted to get this functionality checked in though. In the next day or so I'll refactor what is there in an attempt to streamline things. by Howard Hinnant · 13 years ago
  89. 0442b12 The vector test suite now passes for no-debug, debug-lite and debug-regular by Howard Hinnant · 13 years ago
  90. e3e3291 Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574 by Howard Hinnant · 13 years ago
  91. 58cd823 noexcept for <stack>. This completes noexcept for Chapter 23 [containers]. by Howard Hinnant · 13 years ago
  92. 6a09441 noexcept for <queue>. by Howard Hinnant · 13 years ago
  93. 04dae1d noexcept for <unordered_set>. by Howard Hinnant · 13 years ago
  94. 5f2f14c noexcept for <unordered_map>. by Howard Hinnant · 13 years ago
  95. b2e2a8f noexcept for <set>. Plus a few fixes to noexcept for <map>. by Howard Hinnant · 13 years ago
  96. 7686add noexcept for <map>. by Howard Hinnant · 13 years ago
  97. d1d27a4 noexcept for <vector>. This also includes installing move_if_noexcept() into vector. by Howard Hinnant · 13 years ago
  98. c560727 noexcept for <list>. by Howard Hinnant · 13 years ago
  99. b965fed noexcept for <forward_list>. by Howard Hinnant · 13 years ago
  100. 009b2c4 After sleeping on it I've decided that all special members that can be noexcept, should be declared so. The client has the traits to detect and branch on this information, and it is often an important optimization. Give deque() a noexcept. Add test for deque default constructor and deque destructor. by Howard Hinnant · 13 years ago