[Lldb-commits] [lldb] 7ea5f19 - [lldb] Rename lldb_assert -> _lldb_assert (NFC) (#123225)

via lldb-commits lldb-commits at lists.llvm.org
Thu Jan 16 13:31:40 PST 2025


Author: Jonas Devlieghere
Date: 2025-01-16T13:31:35-08:00
New Revision: 7ea5f195039ba357285076043ad381ed22e3842e

URL: https://github.com/llvm/llvm-project/commit/7ea5f195039ba357285076043ad381ed22e3842e
DIFF: https://github.com/llvm/llvm-project/commit/7ea5f195039ba357285076043ad381ed22e3842e.diff

LOG: [lldb] Rename lldb_assert -> _lldb_assert (NFC) (#123225)

Rename `lldb_assert` to `_lldb_assert` to make it more obvious that you
shouldn't be using this function directly. Instead, you should use the
`lldbassert` macro which becomes a regular assert in a debug/asserts
build.

Added: 
    

Modified: 
    lldb/include/lldb/Utility/LLDBAssert.h
    lldb/source/Utility/LLDBAssert.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/include/lldb/Utility/LLDBAssert.h b/lldb/include/lldb/Utility/LLDBAssert.h
index aeef3e51e20a87..21dbdb3b3202d4 100644
--- a/lldb/include/lldb/Utility/LLDBAssert.h
+++ b/lldb/include/lldb/Utility/LLDBAssert.h
@@ -19,24 +19,30 @@
 // __FILE__ but only renders the last path component (the filename) instead of
 // an invocation dependent full path to that file.
 #define lldbassert(x)                                                          \
-  lldb_private::lldb_assert(static_cast<bool>(x), #x, __FUNCTION__,            \
-                            __FILE_NAME__, __LINE__)
+  lldb_private::_lldb_assert(static_cast<bool>(x), #x, __FUNCTION__,           \
+                             __FILE_NAME__, __LINE__)
 #else
 #define lldbassert(x)                                                          \
-  lldb_private::lldb_assert(static_cast<bool>(x), #x, __FUNCTION__, __FILE__,  \
-                            __LINE__)
+  lldb_private::_lldb_assert(static_cast<bool>(x), #x, __FUNCTION__, __FILE__, \
+                             __LINE__)
 #endif
 #endif
 
 namespace lldb_private {
-void lldb_assert(bool expression, const char *expr_text, const char *func,
-                 const char *file, unsigned int line);
 
+/// Don't use _lldb_assert directly. Use the lldbassert macro instead so that
+/// LLDB asserts become regular asserts in NDEBUG builds.
+void _lldb_assert(bool expression, const char *expr_text, const char *func,
+                  const char *file, unsigned int line);
+
+/// The default LLDB assert callback, which prints to stderr.
 typedef void (*LLDBAssertCallback)(llvm::StringRef message,
                                    llvm::StringRef backtrace,
                                    llvm::StringRef prompt);
 
+/// Replace the LLDB assert callback.
 void SetLLDBAssertCallback(LLDBAssertCallback callback);
+
 } // namespace lldb_private
 
 #endif // LLDB_UTILITY_LLDBASSERT_H

diff  --git a/lldb/source/Utility/LLDBAssert.cpp b/lldb/source/Utility/LLDBAssert.cpp
index b0c39a284910b1..3a1874ac2a9dc4 100644
--- a/lldb/source/Utility/LLDBAssert.cpp
+++ b/lldb/source/Utility/LLDBAssert.cpp
@@ -20,6 +20,7 @@
 
 namespace lldb_private {
 
+/// The default callback prints to stderr.
 static void DefaultAssertCallback(llvm::StringRef message,
                                   llvm::StringRef backtrace,
                                   llvm::StringRef prompt) {
@@ -31,8 +32,8 @@ static void DefaultAssertCallback(llvm::StringRef message,
 static std::atomic<LLDBAssertCallback> g_lldb_assert_callback =
     &DefaultAssertCallback;
 
-void lldb_assert(bool expression, const char *expr_text, const char *func,
-                 const char *file, unsigned int line) {
+void _lldb_assert(bool expression, const char *expr_text, const char *func,
+                  const char *file, unsigned int line) {
   if (LLVM_LIKELY(expression))
     return;
 
@@ -44,8 +45,6 @@ void lldb_assert(bool expression, const char *expr_text, const char *func,
   }
 #endif
 
-  // Print a warning and encourage the user to file a bug report, similar to
-  // LLVM’s crash handler, and then return execution.
   std::string buffer;
   llvm::raw_string_ostream backtrace(buffer);
   llvm::sys::PrintStackTrace(backtrace);
@@ -54,7 +53,7 @@ void lldb_assert(bool expression, const char *expr_text, const char *func,
       llvm::formatv("Assertion failed: ({0}), function {1}, file {2}, line {3}",
                     expr_text, func, file, line)
           .str(),
-      buffer,
+      backtrace.str(),
       "Please file a bug report against lldb reporting this failure log, and "
       "as many details as possible");
 }


        


More information about the lldb-commits mailing list