JDevlieghere created this revision. JDevlieghere added reviewers: davide, teemperor. Herald added a subscriber: abidh. Herald added a project: LLDB.
We had a long discussion in D59911 <https://reviews.llvm.org/D59911> about lldb_assert and what it means. The result was the //assert manifesto// on lldb.llvm.org: > Soft assertions. LLDB provides lldb_assert() as a soft alternative to cover > the middle ground of situations that indicate a recoverable bug in LLDB. In a > Debug configuration lldb_assert() behaves like assert(). In a Release > configuration it will print a warning and encourage the user to file a bug > report, similar to LLVM’s crash handler, and then return execution. However, currently lldb_assert doesn't behave they way it's being described there: it doesn't abort in a debug/assert build. Repository: rLLDB LLDB https://reviews.llvm.org/D64267 Files: lldb/source/Utility/LLDBAssert.cpp Index: lldb/source/Utility/LLDBAssert.cpp =================================================================== --- lldb/source/Utility/LLDBAssert.cpp +++ lldb/source/Utility/LLDBAssert.cpp @@ -27,4 +27,7 @@ llvm::sys::PrintStackTrace(errs()); errs() << "please file a bug report against lldb reporting this failure " "log, and as many details as possible\n"; + + // In a build with assertions enabled we want this to abort. + assert(false && "lldb_assert failed"); }
Index: lldb/source/Utility/LLDBAssert.cpp =================================================================== --- lldb/source/Utility/LLDBAssert.cpp +++ lldb/source/Utility/LLDBAssert.cpp @@ -27,4 +27,7 @@ llvm::sys::PrintStackTrace(errs()); errs() << "please file a bug report against lldb reporting this failure " "log, and as many details as possible\n"; + + // In a build with assertions enabled we want this to abort. + assert(false && "lldb_assert failed"); }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits