labath added a comment.

In D67589#1672686 <https://reviews.llvm.org/D67589#1672686>, @jankratochvil 
wrote:

> In D67589#1670966 <https://reviews.llvm.org/D67589#1670966>, @labath wrote:
>
> > I agree that this approach isn't nice, but probably there isn't a nice 
> > approach to this at this point. One possibility you could consider is 
> > storing a shared_ptr<CommandRO> inside SBCommandRO and encoding the 
> > ownership into the deleter of the shared_ptr (regular deleter => owned, 
> > noop deleter => unowned).
>
>
> Maybe also possibly cheaper `llvm::PointerIntPair` representing an associated 
> `bool` for the deletion.


We couldn't use PointerIntPair due to the our abi stability promise 
(http://lldb.llvm.org/resources/sbapi.html). One could try to implement 
something like that by hand, but I don't think it's worth the trouble.



================
Comment at: 
lldb/packages/Python/lldbsuite/test/api/command-return-object/main.cpp:18
+    result = subcommand(dbg, "help");
+    result = result;
+    if (!result.Succeeded())
----------------
jankratochvil wrote:
> jankratochvil wrote:
> > labath wrote:
> > > Is that intentional? If so, why?
> > It has no purpose there for this bugfix but when already writing a testcase 
> > I wanted to test this generally fragile functionality.
> > 
> If you mean the line:
> ```
> +     if (!result.Succeeded())
> ```
> That is not really needed for this testcase but I think this is how a real 
> world implementation should behave so why not here, just 2 lines of code.
> 
Nope, I meant the "result = result" line. Testing self-assignment is fine, but 
you may want to call that out explicitly, as otherwise someone may just come 
along and delete the "obviously useless" code.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67589/new/

https://reviews.llvm.org/D67589



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to