Eric Fiselier
2cd516e049
Make swap_noexcept.pass.cpp tests more portable. Patch from STL@microsoft.com.
...
See D21820 for more information (https://reviews.llvm.org/D21820 ).
llvm-svn: 276590
2016-07-25 00:15:29 +00:00
Marshall Clow
053d81ceeb
Implement std::string_view as described in http://wg21.link/P0254R1 . Reviewed as https://reviews.llvm.org/D21459
...
llvm-svn: 276238
2016-07-21 05:31:24 +00:00
Eric Fiselier
f2f2a6395f
Replace __cplusplus comparisons and dialect __has_feature checks with TEST_STD_VER.
...
This is a huge cleanup that helps make the libc++ test suite more portable.
Patch from STL@microsoft.com . Thanks STL!
llvm-svn: 272716
2016-06-14 21:31:42 +00:00
Eric Fiselier
d04c685168
Remove trailing whitespace in test suite. Approved by Marshall Clow.
...
llvm-svn: 271435
2016-06-01 21:35:39 +00:00
Asiri Rathnayake
6edc12c886
[libcxx] Improve tests to use the UNSUPPORTED lit directive
...
Quite a few libcxx tests seem to follow the format:
#if _LIBCPP_STD_VER > X
// Do test.
#else
// Empty test.
#endif
We should instead use the UNSUPPORTED lit directive to exclude the test on
earlier C++ standards. This gives us a more accurate number of test passes
for those standards and avoids unnecessary conflicts with other lit
directives on the same tests.
Reviewers: bcraig, ericwf, mclow.lists
Differential revision: http://reviews.llvm.org/D20730
llvm-svn: 271108
2016-05-28 08:57:35 +00:00
Eric Fiselier
1f4231f8cf
Guard libc++ specific c.__invariants() tests in LIBCPP_ASSERT macros
...
llvm-svn: 267947
2016-04-28 22:28:23 +00:00
Marshall Clow
89685ed0da
Recommit r263036 with additional inlining, so that it will continue to work with existing system dylibs. Implements LWG#2583
...
llvm-svn: 265706
2016-04-07 18:13:41 +00:00
Nico Weber
47c3a4743e
Revert r263036, it's ABI-breaking.
...
llvm-svn: 263246
2016-03-11 15:26:06 +00:00
Marshall Clow
ffc888bc09
Implement LWG#2579: Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assign
...
llvm-svn: 263042
2016-03-09 18:08:29 +00:00
Marshall Clow
e96f8b52d9
Implement LWG#2583: There is no way to supply an allocator for basic_string(str, pos)
...
llvm-svn: 263036
2016-03-09 17:51:43 +00:00
Marshall Clow
49738fe10b
Remove a couple tabs that crept in
...
llvm-svn: 262932
2016-03-08 15:45:06 +00:00
Marshall Clow
dd1729fe8a
Implement P0272R1: Give 'std::string' a non-const '.data()' member function
...
llvm-svn: 262931
2016-03-08 15:44:30 +00:00
Marshall Clow
e612a8877a
More string fixes for noexcept cases. Apparently I didn't get them all in r258281.
...
llvm-svn: 258291
2016-01-20 05:41:24 +00:00
Marshall Clow
9d10d27c67
Fix up the tests I added for string exceptions to be skipped when exceptions are disabled
...
llvm-svn: 258279
2016-01-20 03:19:15 +00:00
Marshall Clow
76b4afc040
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
...
llvm-svn: 257682
2016-01-13 21:54:34 +00:00
Marshall Clow
94f89aeec5
Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this.
...
llvm-svn: 254119
2015-11-26 01:24:04 +00:00
Asiri Rathnayake
f520c1445f
Make it possible to build a no-exceptions variant of libcxx.
...
Fixes a small omission in libcxx that prevents libcxx being built when
-DLIBCXX_ENABLE_EXCEPTIONS=0 is specified.
This patch adds XFAILS to all those tests that are currently failing
on the new -fno-exceptions library variant. Follow-up patches will
update the tests (progressively) to cope with the new library variant.
Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a
llvm-svn: 252598
2015-11-10 11:41:22 +00:00
Marshall Clow
8428a9d5b6
Implement LWG#2063, and update the issues links to point to the github generated pages
...
llvm-svn: 249325
2015-10-05 16:17:34 +00:00
Marshall Clow
1378a5aec3
implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations
...
llvm-svn: 245330
2015-08-18 18:57:00 +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
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
cbf166a2b9
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.
...
llvm-svn: 238957
2015-06-03 19:56:43 +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
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
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
Eric Fiselier
5a83710e37
Move test into test/std subdirectory.
...
llvm-svn: 224658
2014-12-20 01:40:03 +00:00