================
@@ -456,7 +460,7 @@ ExtractLibcxxStringInfo(ValueObject &valobj) {
   if (!l)
     return {};
 
-  StringLayout layout = l->GetIndexOfChildWithName("__data_") == 0
+  StringLayout layout = l->GetIndexOfChildWithName("__data_").get() == 0
----------------
Michael137 wrote:

This would compare the underlying pointer value to `0`, aka it's now a nullptr 
check, which is not what we want. (I'd expect some test-failures...hopefully)

We should do something like this instead:
```
auto index_or_err = l->GetIndexOfChildWithName("__data_");
if (!index_or_err)
  return index_or_err.takeError();

StringLayout layout = *index_or_err == 0 ? StringLayout::DSC : 
StringLayout::CSD;
```

https://github.com/llvm/llvm-project/pull/136693
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to