diff --git a/libcxx/.clang-tidy b/libcxx/.clang-tidy --- a/libcxx/.clang-tidy +++ b/libcxx/.clang-tidy @@ -25,6 +25,7 @@ readability-redundant-control-flow, readability-redundant-function-ptr-dereference, readability-redundant-preprocessor, + readability-simplify-boolean-expr, readability-simplify-subscript-expr, readability-uniqueptr-delete-release, @@ -63,4 +64,4 @@ # readability-redundant-access-specifiers, # readability-redundant-declaration, # readability-redundant-member-init, -# readability-simplify-boolean-expr, +# diff --git a/libcxx/include/__format/unicode.h b/libcxx/include/__format/unicode.h --- a/libcxx/include/__format/unicode.h +++ b/libcxx/include/__format/unicode.h @@ -369,10 +369,7 @@ if (__prev == __property::__Regional_Indicator && __next == __property::__Regional_Indicator) { // GB12 + GB13 __ri_break_allowed = !__ri_break_allowed; - if (__ri_break_allowed) - return true; - - return false; + return __ri_break_allowed; } // *** Otherwise, break everywhere. *** diff --git a/libcxx/include/__locale b/libcxx/include/__locale --- a/libcxx/include/__locale +++ b/libcxx/include/__locale @@ -699,7 +699,7 @@ const char_type* scan_not(mask __m, const char_type* __low, const char_type* __high) const { for (; __low != __high; ++__low) - if (!(isascii(*__low) && (__tab_[static_cast(*__low)] & __m))) + if (!isascii(*__low) || !(__tab_[static_cast(*__low)] & __m)) break; return __low; } diff --git a/libcxx/include/charconv b/libcxx/include/charconv --- a/libcxx/include/charconv +++ b/libcxx/include/charconv @@ -250,7 +250,7 @@ int __i = digits; do { - if (!('0' <= *__p && *__p <= '9')) + if ('0' > *__p || *__p > '9') break; __cprod[--__i] = *__p++ - '0'; } while (__p != __ep && __i != 0); diff --git a/libcxx/include/fstream b/libcxx/include/fstream --- a/libcxx/include/fstream +++ b/libcxx/include/fstream @@ -751,7 +751,7 @@ } else { - _LIBCPP_ASSERT ( !(__extbufnext_ == NULL && (__extbufend_ != __extbufnext_)), "underflow moving from NULL" ); + _LIBCPP_ASSERT (__extbufnext_ != NULL || __extbufend_ == __extbufnext_, "underflow moving from NULL" ); if (__extbufend_ != __extbufnext_) _VSTD::memmove(__extbuf_, __extbufnext_, __extbufend_ - __extbufnext_); __extbufnext_ = __extbuf_ + (__extbufend_ - __extbufnext_); diff --git a/libcxx/include/locale b/libcxx/include/locale --- a/libcxx/include/locale +++ b/libcxx/include/locale @@ -4009,7 +4009,7 @@ } else { - _LIBCPP_ASSERT(!(__extbufnext_ == NULL && (__extbufend_ != __extbufnext_)), "underflow moving from NULL" ); + _LIBCPP_ASSERT(__extbufnext_ != NULL || __extbufend_ == __extbufnext_, "underflow moving from NULL" ); if (__extbufend_ != __extbufnext_) _VSTD::memmove(__extbuf_, __extbufnext_, __extbufend_ - __extbufnext_); __extbufnext_ = __extbuf_ + (__extbufend_ - __extbufnext_);