Marshall Clow
14861507bc
Change string_view::at to make it work with gcc and VC++. Thanks to K-ballo for the bug report, and Jonathan Wakeley for the code review in the bar.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@230260 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-23 21:12:02 +00:00
Eric Fiselier
3f370b0a55
Enable testing with _LIBCPP_DEBUG and fix bad assertions in string_view.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@229698 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18 17:00:31 +00:00
Marshall Clow
f2e36ef093
Move the test for zero-length into the char_traits (from string_view). Add tests to char_traits specializations
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@228981 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-12 23:34:52 +00:00
Marshall Clow
7f59a88431
Fixed a problem that UBSAN found, where we were calling memcmp(null, p, 0) - which is undefined behavior
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@228952 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-12 19:58:06 +00:00
Marshall Clow
1cf810b81b
Replaced checking in string_view::remove_suffix/remove_prefix by _LIBCPP_ASSERT, since this is technically undefined behavior. Fixes PR#21496
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@221717 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-11 22:07:10 +00:00
Marshall Clow
26aa8c9254
Mark string_view::to_string as const. Fixes PR21428
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@221101 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-02 15:35:32 +00:00
Eric Fiselier
b9536101dc
NFC. Move definition of _LIBCPP_ASSERT into __debug header and remove external include guards.
...
Things done in this patch:
1. Make __debug include __config since it uses macros from it.
2. The current method of defining _LIBCPP_ASSERT is prone to redefinitions. Move
the null _LIBCPP_ASSERT definition into the __debug header to prevent this.
3. Remove external <__debug> include gaurds. <__debug> guards almost all of its
contents internally. There is no reason to be doing it externally.
This patch should not change any functionality.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215332 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-10 23:53:08 +00:00
Eric Fiselier
67740670f9
NFC. Remove trailing whitespace and tabs.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215326 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-10 20:56:31 +00:00
Marshall Clow
484728789e
string_view enhancements. Move to the correct namespace. Better constexpr support (thanks to Richard for the suggestions). Update the tests to match this. Add <experimental/__config for experimental macros/etc to live.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@212569 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-08 22:38:11 +00:00
Marshall Clow
3a61b30f3a
Minor cleanup for string_view; mostly from suggestions by Richard Smith. Also, make the tests pass under c++03
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@212185 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-02 15:45:57 +00:00
Marshall Clow
e4694b4129
Formatting improvements in the <string_view> synopsis suggested by RSmith. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@211191 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-18 17:44:04 +00:00
Marshall Clow
164b297099
Implement string_view from the library fundamentals TS (n4023). Also works in C++11 and 03, with reduced functionality (mostly in the area of constexpr)
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@210659 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-11 16:44:55 +00:00