Marshall Clow
088e6015b2
Fix PR#31454 - 'basic_string<T>::push_back() crashes if sizeof(T)>sizeof(long long)'. We were mishandling the small-string optimization calculations for very large 'characters'. This may be an ABI change (change the size of) strings of very large 'characters', but since they never worked, I'm not too concerned.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@324531 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-07 21:30:17 +00:00
Marshall Clow
cd64646026
Ooops. I checked in a test for a bug I haven't fixed yet. Temporrarily commented it out.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319693 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04 20:46:38 +00:00
Marshall Clow
46b4ad5400
Implement P0457R2: 'String Prefix and Suffix Checking' for c++2a
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@319687 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-04 20:11:38 +00:00
Stephan T. Lavavej
a686caad20
[libcxx] [test] Untabify, NFC.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@309464 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-29 00:55:10 +00:00
Eric Fiselier
622c7d5846
Fix PR32642 - string::insert and string::append don't work with move_iterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300397 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-15 06:49:02 +00:00
Stephan T. Lavavej
e33c0b01f8
[libcxx] [test] D27027: Strip trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287829 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-23 22:03:28 +00:00
Roger Ferrer Ibanez
c09116009c
Protect exceptional paths under libcpp-no-exceptions
...
These tests are of the form
try {
action-that-may-throw
assert(!exceptional-condition)
assert(some-other-facts)
} catch (relevant-exception) {
assert(exceptional-condition)
}
Under libcpp-no-exceptions there is still value in verifying
some-other-facts while avoiding the exceptional case. So for these tests
just conditionally check some-other-facts if exceptional-condition is
false. When exception are supported make sure that a true
exceptional-condition throws an exception
Differential Revision: https://reviews.llvm.org/D26136
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@285697 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-01 15:46:16 +00:00
Eric Fiselier
44543930e4
Fix shadow warnings in string_view tests. Patch from STL@microsoft.com
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@285011 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-24 20:10:00 +00:00
Marshall Clow
6f5d5948ef
Add another append test for basic_string
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@283331 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-05 15:47:13 +00:00
Marshall Clow
6ac8de0976
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)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@282342 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-24 22:45:42 +00:00
Marshall Clow
ac655ef742
Fix PR#30303 - no matching function for call to '__ptr_in_range'
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@280779 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-07 03:32:06 +00:00
Marshall Clow
d979eed766
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@280643 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-05 01:54:30 +00:00
Marshall Clow
1e00d6db31
Implement std::string_view as described in http://wg21.link/P0254R1 . Reviewed as https://reviews.llvm.org/D21459
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276238 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21 05:31:24 +00:00
Eric Fiselier
375e2f669c
Guard libc++ specific c.__invariants() tests in LIBCPP_ASSERT macros
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267947 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-28 22:28:23 +00:00
Marshall Clow
f90978aa1a
More string fixes for noexcept cases. Apparently I didn't get them all in r258281.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258291 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-20 05:41:24 +00:00
Marshall Clow
85d4c2a93f
Fix up the tests I added for string exceptions to be skipped when exceptions are disabled
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258279 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-20 03:19:15 +00:00
Marshall Clow
df9db31c27
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
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@257682 91177308-0d34-0410-b5e6-96231b3b80d8
2016-01-13 21:54:34 +00:00
Asiri Rathnayake
cc2e93cff0
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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@252598 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-10 11:41:22 +00:00
Eric Fiselier
a90c6dd460
Move test into test/std subdirectory.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224658 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-20 01:40:03 +00:00