<div><br><div class="gmail_quote"><div dir="auto">On Fri, Sep 8, 2017 at 6:11 PM Jim Ingham via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I know there is debate about this one side and another but for lldb this is a settled issue.  Unless you really are in a state where the world is about to come crashing down around you, you can't raise a fatal error in lldb.  And in this case, the world is only very minorly strange, so it is certainly not appropriate.</blockquote><div dir="auto"><br></div><div dir="auto">I don't agree that this is a settled issue in LLDB.  </div><div dir="auto"><br></div><div dir="auto">For starters, clang already does this, and LLDB links against libclang.</div><div dir="auto"><br></div><div dir="auto">Second, a year or so ago, i recall Greg saying that LLDB now runs out of process in Xcode, which should make this a non issue.</div><div dir="auto"><br></div><div dir="auto">Finally, by allowing inconsistent state to propagate through the code you are only hurting yourself, as you're ultimately not preventing any crashes.  It'll just crash later when you de reference a null pointer or read some corrupt memory.  Furthermore, it actually increases the likelihood of introducing bugs, due to the added complexity and technical debt introduced by untested code paths</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div>