Howard Hinnant
|
2c39cbe020
|
Implement full support for non-pointer pointers in custom allocators for vector.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185093 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-27 19:35:32 +00:00 |
|
Howard Hinnant
|
29f7432ff3
|
Implement full support for non-pointer pointers in custom allocators for list.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@184859 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-25 16:08:47 +00:00 |
|
Howard Hinnant
|
81381a932f
|
Implement full support for non-pointer pointers in custom allocators for forward_list.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@184759 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-24 17:17:28 +00:00 |
|
Howard Hinnant
|
fcd8db7133
|
Implement full support for non-pointer pointers in custom allocators for deque.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@184673 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-23 21:17:24 +00:00 |
|
Howard Hinnant
|
ee749a403c
|
Test case for r183481.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@183522 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-06-07 14:24:18 +00:00 |
|
Howard Hinnant
|
b4e67cfd42
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@179760 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-04-18 15:02:57 +00:00 |
|
Howard Hinnant
|
2062f37772
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@179632 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-04-16 21:42:36 +00:00 |
|
Howard Hinnant
|
6dcaf3ee1a
|
Fix bug in __libcpp_db::__iterator_copy. Add debug test for swaping lists.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178892 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-04-05 17:58:52 +00:00 |
|
Howard Hinnant
|
e1e96cb840
|
More list debug mode tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178873 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-04-05 15:04:10 +00:00 |
|
Howard Hinnant
|
79a35570a5
|
More work on debug mode for list.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178819 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-04-05 00:18:49 +00:00 |
|
Howard Hinnant
|
d4c96a6c89
|
Some debug test cases for list.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178565 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-04-02 19:53:32 +00:00 |
|
Howard Hinnant
|
8b25c00ef1
|
The 3rd test in shrink_to_fit.pass.cpp can't possibly pass if exceptions are disabled, so #ifdef'ing out the test.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178350 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-29 17:20:04 +00:00 |
|
Daniel Dunbar
|
34d36f39b0
|
Revert r178075, "Tighten up the iterator requirements ...", it breaks LLVM
bootstrap with libc++.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178116 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-27 04:10:25 +00:00 |
|
Howard Hinnant
|
32d40f5f44
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178075 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-26 21:40:54 +00:00 |
|
Howard Hinnant
|
02d5e18917
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178064 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-26 19:04:56 +00:00 |
|
Howard Hinnant
|
d1c0082675
|
More vector debug tests.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178033 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-26 15:45:56 +00:00 |
|
Howard Hinnant
|
3fbd1dfb24
|
Simply debug mode tests per Dmitri Gribenko's suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178026 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-26 14:28:25 +00:00 |
|
Howard Hinnant
|
d9cdb2dcfd
|
Need one more swap overload for swapping two lvalue vector<bool>::reference's.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@178016 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-26 13:48:57 +00:00 |
|
Howard Hinnant
|
782da33d1c
|
Added debug tests for indexing, pop_back and both forms of erase. Added an improved error message for erasing a single element with end().
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177929 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-25 22:12:26 +00:00 |
|
Howard Hinnant
|
c1ca2e1e8b
|
Remove some erroneous code I was using to debug debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177908 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-25 20:46:07 +00:00 |
|
Howard Hinnant
|
295891fdc2
|
Debug mode tests for vector::front and back.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177904 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-25 20:31:25 +00:00 |
|
Howard Hinnant
|
0d01eb54e7
|
More vector::iterator debug mode tests. Run by adding to OPTIONS -D_LIBCPP_DEBUG2=1.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177897 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-25 20:03:19 +00:00 |
|
Howard Hinnant
|
f5f4684e71
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177892 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-03-25 19:29:35 +00:00 |
|
Howard Hinnant
|
f619e230cc
|
Fix exception safety bug in vector::push_back
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@172250 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-01-11 20:36:59 +00:00 |
|
Marshall Clow
|
83e2c4d877
|
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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@171594 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-01-05 03:21:01 +00:00 |
|
Marshall Clow
|
ba1920fe4b
|
Removed several more different 'iterators.h' files in libcxx/test
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@171452 91177308-0d34-0410-b5e6-96231b3b80d8
|
2013-01-03 02:29:29 +00:00 |
|
Marshall Clow
|
a46482e8bb
|
Added static_assert to std::get<N>(std::array) calls to catch "out of bounds" calls
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@170435 91177308-0d34-0410-b5e6-96231b3b80d8
|
2012-12-18 16:46:30 +00:00 |
|
Howard Hinnant
|
08bce1754d
|
constexpr applied to <array>.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@160564 91177308-0d34-0410-b5e6-96231b3b80d8
|
2012-07-20 19:20:49 +00:00 |
|
Howard Hinnant
|
d586248597
|
Add test for self-referencing emplace test.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@159921 91177308-0d34-0410-b5e6-96231b3b80d8
|
2012-07-09 02:47:43 +00:00 |
|
Howard Hinnant
|
1c3ec6d480
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@140660 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-27 23:55:03 +00:00 |
|
Howard Hinnant
|
0442b12591
|
The vector test suite now passes for no-debug, debug-lite and debug-regular
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@139930 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-09-16 18:41:29 +00:00 |
|
Howard Hinnant
|
e3e3291f3a
|
Fixed PR10574: http://llvm.org/bugs/show_bug.cgi?id=10574
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@137522 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-08-12 21:56:02 +00:00 |
|
Howard Hinnant
|
d1d27a4afa
|
noexcept for <vector>. This also includes installing move_if_noexcept() into vector.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132577 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-06-03 19:40:40 +00:00 |
|
Howard Hinnant
|
c560727d5e
|
noexcept for <list>.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132562 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-06-03 17:30:28 +00:00 |
|
Howard Hinnant
|
b965fed10b
|
noexcept for <forward_list>.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132553 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-06-03 16:20:53 +00:00 |
|
Howard Hinnant
|
009b2c4583
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132549 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-06-03 15:16:49 +00:00 |
|
Howard Hinnant
|
93f2764b16
|
Add noexcept tests for deque.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@132523 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-06-03 01:46:22 +00:00 |
|
Howard Hinnant
|
211f0ee1be
|
Bug 9096 - list::iterator not default constructible
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@124508 91177308-0d34-0410-b5e6-96231b3b80d8
|
2011-01-28 23:46:28 +00:00 |
|
Howard Hinnant
|
cd2254b454
|
LWG 1191
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119545 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-17 19:52:17 +00:00 |
|
Howard Hinnant
|
b64f8b07c1
|
license change
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-16 22:09:02 +00:00 |
|
Howard Hinnant
|
0d5dff1897
|
Fix two test bugs
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116515 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-10-14 21:08:32 +00:00 |
|
Howard Hinnant
|
3991b553df
|
sync with N3126
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113101 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-05 01:14:30 +00:00 |
|
Howard Hinnant
|
73d21a4f07
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113086 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-09-04 23:28:19 +00:00 |
|
Howard Hinnant
|
6046aced82
|
Fixing whitespace problems
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111755 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-22 00:15:28 +00:00 |
|
Howard Hinnant
|
7a2523b201
|
US 117
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111745 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-21 20:58:44 +00:00 |
|
Howard Hinnant
|
ba590bdc97
|
LWG 1278
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111532 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-08-19 17:40:04 +00:00 |
|
Howard Hinnant
|
f5256e16df
|
Wiped out some non-ascii characters that snuck into the copyright.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103516 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-05-11 21:36:01 +00:00 |
|
Howard Hinnant
|
bc8d3f97eb
|
libcxx initial import
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-05-11 19:42:16 +00:00 |
|