diff --git a/libcxx/include/__assert b/libcxx/include/__assert --- a/libcxx/include/__assert +++ b/libcxx/include/__assert @@ -37,7 +37,7 @@ (__builtin_expect(static_cast(expression), 1) \ ? (void)0 \ : _LIBCPP_VERBOSE_ABORT( \ - "%s:%d: assertion %s failed: %s", __builtin_FILE(), __builtin_LINE(), #expression, message)) + "%s:%d: assertion %s failed: %s\n", __builtin_FILE(), __builtin_LINE(), #expression, message)) #elif !defined(_LIBCPP_ASSERTIONS_DISABLE_ASSUME) && __has_builtin(__builtin_assume) # define _LIBCPP_ASSERT(expression, message) \ (_LIBCPP_DIAGNOSTIC_PUSH _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wassume") \ diff --git a/libcxx/test/support/check_assertion.h b/libcxx/test/support/check_assertion.h --- a/libcxx/test/support/check_assertion.h +++ b/libcxx/test/support/check_assertion.h @@ -249,6 +249,8 @@ char const* message = va_arg(list, char const*); va_end(list); + assert(format[__builtin_strlen(format) - 1] == '\n'); + if (GlobalMatcher().Matches(file, line, message)) { std::exit(DeathTest::RK_MatchFound); }