Roger Ferrer Ibanez
3565c96d86
Change from "XFAIL: libcpp-no-exceptions" to "UNSUPPORTED: libcpp-no-exceptions" tests that only check exceptions and nothing else
...
This is a follow up of D24562.
These tests do not check anything but exceptions, so it makes sense to mark
them as UNSUPPORTED under a library built without exceptions.
Differential Revision: https://reviews.llvm.org/D26075
llvm-svn: 285550
2016-10-31 08:47:53 +00:00
Eric Fiselier
7ca76565e7
Fix _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY to always have default visibility.
...
This prevent the symbols from being both externally available and hidden, which
causes them to be linked incorrectly. This is only a problem when the address
of the function is explicitly taken since it will always be inlined otherwise.
This patch fixes the issues that caused r285456 to be reverted, and can
now be reapplied.
llvm-svn: 285531
2016-10-31 02:07:23 +00:00
Eric Fiselier
009fb08d14
Fix shadow warnings in string_view tests. Patch from STL@microsoft.com
...
llvm-svn: 285011
2016-10-24 20:10:00 +00:00
Marshall Clow
67be6ff839
Add another append test for basic_string
...
llvm-svn: 283331
2016-10-05 15:47:13 +00:00
Marshall Clow
a8fd1e4be0
Fix a few static_asserts that need extra parens on -03
...
llvm-svn: 282343
2016-09-24 23:52:21 +00:00
Marshall Clow
54f0981ebd
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)
...
llvm-svn: 282342
2016-09-24 22:45:42 +00:00
Marshall Clow
a77bb8ef34
Fix PR#30303 - no matching function for call to '__ptr_in_range'
...
llvm-svn: 280779
2016-09-07 03:32:06 +00:00
Marshall Clow
7e1a23001d
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.
...
llvm-svn: 280643
2016-09-05 01:54:30 +00:00
Marshall Clow
2a10c960fa
Support allocators with explicit conversion constructors. Fixes bug #29000
...
llvm-svn: 278904
2016-08-17 05:58:40 +00:00
Eric Fiselier
93b8e51ebb
Make dtor_noexcept.pass.cpp tests more portable. Patch from STL@microsoft.com
...
llvm-svn: 276595
2016-07-25 00:50:32 +00:00
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