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
This commit is contained in:
parent
89465dce7c
commit
3f370b0a55
@ -313,7 +313,7 @@ _LIBCPP_BEGIN_NAMESPACE_LFTS
|
|||||||
_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
|
||||||
void remove_prefix(size_type __n) _NOEXCEPT
|
void remove_prefix(size_type __n) _NOEXCEPT
|
||||||
{
|
{
|
||||||
_LIBCPP_ASSERT(n <= size(), "remove_prefix() can't remove more than size()");
|
_LIBCPP_ASSERT(__n <= size(), "remove_prefix() can't remove more than size()");
|
||||||
__data += __n;
|
__data += __n;
|
||||||
__size -= __n;
|
__size -= __n;
|
||||||
}
|
}
|
||||||
@ -321,7 +321,7 @@ _LIBCPP_BEGIN_NAMESPACE_LFTS
|
|||||||
_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY
|
||||||
void remove_suffix(size_type __n) _NOEXCEPT
|
void remove_suffix(size_type __n) _NOEXCEPT
|
||||||
{
|
{
|
||||||
_LIBCPP_ASSERT(n <= size(), "remove_suffix() can't remove more than size()");
|
_LIBCPP_ASSERT(__n <= size(), "remove_suffix() can't remove more than size()");
|
||||||
__size -= __n;
|
__size -= __n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,6 +91,7 @@ class Configuration(object):
|
|||||||
self.configure_env()
|
self.configure_env()
|
||||||
self.configure_compile_flags()
|
self.configure_compile_flags()
|
||||||
self.configure_link_flags()
|
self.configure_link_flags()
|
||||||
|
self.configure_debug_mode()
|
||||||
self.configure_warnings()
|
self.configure_warnings()
|
||||||
self.configure_sanitizer()
|
self.configure_sanitizer()
|
||||||
self.configure_substitutions()
|
self.configure_substitutions()
|
||||||
@ -468,6 +469,15 @@ class Configuration(object):
|
|||||||
else:
|
else:
|
||||||
self.lit_config.fatal("unrecognized system: %r" % target_platform)
|
self.lit_config.fatal("unrecognized system: %r" % target_platform)
|
||||||
|
|
||||||
|
def configure_debug_mode(self):
|
||||||
|
debug_level = self.get_lit_conf('debug_level', None)
|
||||||
|
if not debug_level:
|
||||||
|
return
|
||||||
|
if debug_level not in ['0', '1']:
|
||||||
|
self.lit_config.fatal('Invalid value for debug_level "%s".'
|
||||||
|
% debug_level)
|
||||||
|
self.cxx.compile_flags += ['-D_LIBCPP_DEBUG=%s' % debug_level]
|
||||||
|
|
||||||
def configure_warnings(self):
|
def configure_warnings(self):
|
||||||
enable_warnings = self.get_lit_bool('enable_warnings', False)
|
enable_warnings = self.get_lit_bool('enable_warnings', False)
|
||||||
if enable_warnings:
|
if enable_warnings:
|
||||||
|
@ -174,6 +174,15 @@ Change the standard version used when building the tests.
|
|||||||
</blockquote>
|
</blockquote>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<h3 class="lit-option">debug_level=<level></h3>
|
||||||
|
<blockquote class="lit-option-desc">
|
||||||
|
<b>Values: </b><code>0, 1</code></br>
|
||||||
|
Enable the use of debug mode. Level 0 enables assertions and level 1 enables
|
||||||
|
assertions and debugging of iterator misuse.
|
||||||
|
</blockquote>
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<h3 class="lit-option">use_sanitizer=<sanitizer name></h3>
|
<h3 class="lit-option">use_sanitizer=<sanitizer name></h3>
|
||||||
<blockquote class="lit-option-desc">
|
<blockquote class="lit-option-desc">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user