Marshall Clow
0fc8cec796
Followon to r279744. Find the other exception types and make __throw_XXX routines (and call them). Remove the generic __libcpp_throw routine, since no one uses it anymore.
...
llvm-svn: 279763
2016-08-25 17:47:09 +00:00
Marshall Clow
d437fa5c8c
Add an _LIBCPP_NORETURN inline function named __throw_XXX for each exception type we define. They either construct and throw the exception, or abort() (if exceptions are disabled). Use these functions everywhere instead of assert()ing when exceptions are disabled. WARNING: This is a behavior change - but only with exceptions disabled. Reviewed as: https://reviews.llvm.org/D23855 .
...
llvm-svn: 279744
2016-08-25 15:09:01 +00:00
Eric Fiselier
af4a5a7f33
Make string_view work with -fno-exceptions and get tests passing.
...
llvm-svn: 271237
2016-05-30 23:53:19 +00:00
Marshall Clow
96051a4efc
Fixed some spelling errors in assert messages. No functional change. Thanks to giffunip@yahoo.com for the report.
...
llvm-svn: 268510
2016-05-04 15:35:50 +00:00
Marshall Clow
0168d34e23
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.
...
llvm-svn: 230260
2015-02-23 21:12:02 +00:00
Eric Fiselier
938d957d2e
Enable testing with _LIBCPP_DEBUG and fix bad assertions in string_view.
...
llvm-svn: 229698
2015-02-18 17:00:31 +00:00
Marshall Clow
f3e0e3acda
Move the test for zero-length into the char_traits (from string_view). Add tests to char_traits specializations
...
llvm-svn: 228981
2015-02-12 23:34:52 +00:00
Marshall Clow
8037b8ec6e
Fixed a problem that UBSAN found, where we were calling memcmp(null, p, 0) - which is undefined behavior
...
llvm-svn: 228952
2015-02-12 19:58:06 +00:00
Marshall Clow
eb63c5e28c
Replaced checking in string_view::remove_suffix/remove_prefix by _LIBCPP_ASSERT, since this is technically undefined behavior. Fixes PR#21496
...
llvm-svn: 221717
2014-11-11 22:07:10 +00:00
Marshall Clow
8ba95b7b4d
Mark string_view::to_string as const. Fixes PR21428
...
llvm-svn: 221101
2014-11-02 15:35:32 +00:00
Eric Fiselier
c1bd9197eb
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.
llvm-svn: 215332
2014-08-10 23:53:08 +00:00
Eric Fiselier
04c39ece80
NFC. Remove trailing whitespace and tabs.
...
llvm-svn: 215326
2014-08-10 20:56:31 +00:00
Marshall Clow
926731b1e5
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.
...
llvm-svn: 212569
2014-07-08 22:38:11 +00:00
Marshall Clow
35af19ab1f
Minor cleanup for string_view; mostly from suggestions by Richard Smith. Also, make the tests pass under c++03
...
llvm-svn: 212185
2014-07-02 15:45:57 +00:00
Marshall Clow
2f4bfdecb3
Formatting improvements in the <string_view> synopsis suggested by RSmith. No functionality change.
...
llvm-svn: 211191
2014-06-18 17:44:04 +00:00
Marshall Clow
5aa8fa250d
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)
...
llvm-svn: 210659
2014-06-11 16:44:55 +00:00