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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits