Eric Fiselier
ca345e0032
Fix warnings in unordered_map
...
llvm-svn: 242634
2015-07-19 03:16:47 +00:00
Eric Fiselier
3e572598d3
Fix warnings in forwardlist
...
llvm-svn: 242633
2015-07-19 00:38:37 +00:00
Eric Fiselier
c45b673d5d
Fix warnings in deque tests
...
llvm-svn: 242632
2015-07-19 00:31:54 +00:00
Eric Fiselier
80fe6bd142
Commit file missing from r242629
...
llvm-svn: 242630
2015-07-19 00:11:50 +00:00
Eric Fiselier
2decfad7c5
Fix warnings in array and assoc containers
...
llvm-svn: 242629
2015-07-18 23:56:04 +00:00
Eric Fiselier
980eda3fc2
Add missing instrumentation in vector::insert - Patch from Anna Zaks
...
This patch was reviewed as D10859. http://reviews.llvm.org/D10859
llvm-svn: 242617
2015-07-18 18:22:12 +00:00
Marshall Clow
71ff7c3f0f
Move bits from N4258. Mark vector's move-constructor unconditionally noexcept in C++1z
...
llvm-svn: 242148
2015-07-14 14:46:32 +00:00
Marshall Clow
e3fbe1433b
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.
...
llvm-svn: 242056
2015-07-13 20:04:56 +00:00
Marshall Clow
bc4c89a977
The rest of N4279 and LWG#2464 - for unordered_map
...
llvm-svn: 241555
2015-07-07 05:45:35 +00:00
Marshall Clow
8aaf517db7
Implement N4279 and LWG#2664 for <map>. Reviewed as http://reviews.llvm.org/D10669
...
llvm-svn: 241539
2015-07-07 03:37:33 +00:00
Marshall Clow
f8457a0735
Add tests for LWG#2299. While doing so, I noticed that the tests we have for the transparent comparators don't actually call them. Fix those tests, too. Now one of them is failing, due to a missing const in <map>. Add that (twice). Next step is to do the same for <unordered_map>
...
llvm-svn: 241091
2015-06-30 18:15:41 +00:00
Marshall Clow
b41e76bb0b
Fix PR#23767. Add tests for iterator invalidation for deque::erase/pop_front/pop_back
...
llvm-svn: 239196
2015-06-05 22:34:19 +00:00
Marshall Clow
979550f221
While applying N4258, I forgot about LWG#2455, which modified the modifications. Correct those - h/t: Howard
...
llvm-svn: 239004
2015-06-04 02:05:41 +00:00
Marshall Clow
a8ae392718
More N4258 changes. This time vector's constructors
...
llvm-svn: 238990
2015-06-04 00:10:20 +00:00
Marshall Clow
cd6f7f9d80
Fix broken test I just added
...
llvm-svn: 238234
2015-05-26 19:17:09 +00:00
Marshall Clow
c5c29006dc
Add tests to ensure that string/vector/array have contiguous iterators - which they did. Mark N4284 as complete
...
llvm-svn: 238233
2015-05-26 18:57:27 +00:00
Marshall Clow
fd30fb22c2
Fix test that was failing on C++03 b/c it was using initializer lists
...
llvm-svn: 237527
2015-05-16 17:10:49 +00:00
Marshall Clow
ec39296875
Fix for LWG Issue 2059: C++0x ambiguity problem with map::erase
...
llvm-svn: 236950
2015-05-10 13:35:00 +00:00
Marshall Clow
cd26846fc5
Remove some debugging printout lines. No functionality change.
...
llvm-svn: 236949
2015-05-10 13:26:57 +00:00
Marshall Clow
4c30259879
Make the new tests better; make sure that we're testing the case where no reallocation has to happen
...
llvm-svn: 233641
2015-03-30 23:26:16 +00:00
Marshall Clow
21471e0906
While testing Erik's code coverage scripts, I found a hole in the test suite - vector::assign where a reallocation was not required had no tests. Add some
...
llvm-svn: 233557
2015-03-30 16:07:11 +00:00
Eric Fiselier
57f00f2f9c
[libcxx] Move tuple_size and tuple_element overloads for pair and array out of !defined(_LIBCPP_HAS_NO_VARIADICS) block.
...
Summary:
There is no reason to guard `tuple_size`, `tuple_element` and `get<I>(...)` for pair and array inside of `<__tuple>` so that they are only available when we have variadic templates.
This requires there be redundant declarations and definitions. It also makes it easy to get things wrong.
For example the following code should compile (and does in c++11).
```
#define _LIBCPP_HAS_NO_VARIADICS
#include <array>
int main()
{
static_assert((std::tuple_size<std::array<int, 10> volatile>::value == 10), "");
}
```
This patch lifts the non-variadic parts of `tuple_size`, `tuple_types`, and `get<I>(...)` to the top of `<__tuple>` where they don't require variadic templates. This patch also removes `<__tuple_03>` because there is no longer a need for it.
Reviewers: danalbert, K-ballo, mclow.lists
Reviewed By: mclow.lists
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7774
llvm-svn: 232492
2015-03-17 15:08:03 +00:00
Eric Fiselier
4b7533a1dd
Use generic feature name for sanitizers that replace new and delete
...
llvm-svn: 231841
2015-03-10 20:46:04 +00:00
Eric Fiselier
21d7ffa233
[libcxx] Fix __RAII_IncreaseAnnotator for increases >= 1
...
Summary: Fix suggested by @mclow.lists on D8109. Store the size of the un-poisoned vector upon construction instead of calculating it later.
Reviewers: titus, mclow.lists, kcc, EricWF
Reviewed By: EricWF
Subscribers: mclow.lists, cfe-commits
Differential Revision: http://reviews.llvm.org/D8172
llvm-svn: 231729
2015-03-10 00:25:20 +00:00
Eric Fiselier
764d030840
Move test to use correct suffix
...
llvm-svn: 231704
2015-03-09 21:30:48 +00:00
Marshall Clow
f4903afd93
Fix an exception-safety bug in <deque>. Reference: PR#22650. Not closing the bug because there's more work to do here
...
llvm-svn: 231672
2015-03-09 17:08:51 +00:00
Marshall Clow
b844b1a0ff
Move the <dynarray> tests out of the std/ hierarchy, since it's not really part of the standard any more.
...
llvm-svn: 231311
2015-03-04 23:09:15 +00:00
Eric Fiselier
b3be398c67
Allow declaration of map and multimap iterator with incomplete mapped type. Patch from eugenis
...
llvm-svn: 231119
2015-03-03 20:10:01 +00:00
Eric Fiselier
861d0ea2aa
Fix more issues exposed by -pedantic-errors in c++03 mode
...
llvm-svn: 228711
2015-02-10 17:20:18 +00:00
Eric Fiselier
8f55e62990
Remove use of zero length arrays in tests. Get tests passing with -pedantic-errors
...
llvm-svn: 228706
2015-02-10 16:51:29 +00:00
Marshall Clow
949389c395
We had two identical files named 'MoveOnly.h' in the test suite. Move one to support/, remove the other, and update all the tests that included them. No functionality change.
...
llvm-svn: 227370
2015-01-28 21:22:53 +00:00
Marshall Clow
d5f461ca03
Fix PR22366. When move-constructing an associative container and explicitly passing an allocator that compares different, we were not calling the destructor of the elements in the moved-from container.
...
llvm-svn: 227359
2015-01-28 19:54:25 +00:00
Marshall Clow
00f792e19e
Added test for incomplete type support in vector/list/forward_list. References PR#17980
...
llvm-svn: 227131
2015-01-26 20:06:52 +00:00
Marshall Clow
f15d7a5882
Fix PR#22284. Add a new overload to deque::insert to handle forward iterators. Update tests to exercise this case.
...
llvm-svn: 226847
2015-01-22 18:33:29 +00:00
Marshall Clow
e21582e742
Walter Brown sent a list of tests which needed 'additional includes' to match what was in the standard. Added these includes to the tests. No changes to the library or test results.
...
llvm-svn: 225541
2015-01-09 20:25:52 +00:00
Marshall Clow
d95510ebba
libc++ implements its' hash objects as deriving from std::unary_function, and the tests test for that. STL @ MS pointed out that the standard doesn't requie these objects to derive from unary_function, and so the tests should not require that either. Change the tests to check for the embedded typedefs - which ARE required. No change to the library.
...
llvm-svn: 225403
2015-01-07 21:53:23 +00:00
Eric Fiselier
5a83710e37
Move test into test/std subdirectory.
...
llvm-svn: 224658
2014-12-20 01:40:03 +00:00