[Lldb-commits] [lldb] [lldb] Update dwim-print for DIL simple mode (NFC) (PR #192567)

Ilia Kuklin via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 17 07:14:19 PDT 2026


================
@@ -155,17 +155,15 @@ void CommandObjectDWIMPrint::DoExecute(StringRef command,
     result.SetStatus(eReturnStatusSuccessFinishResult);
   };
 
-  // First, try `expr` as a _limited_ frame variable expression path: only the
-  // dot operator (`.`) is permitted for this case.
+  // First, try `expr` as a _limited_ frame variable expression path with
+  // eDILModeSimple. This permits only the dot operator (`.`).
   //
-  // This is limited to support only unambiguous expression paths. Of note,
-  // expression paths are not attempted if the expression contain either the
-  // arrow operator (`->`) or the subscript operator (`[]`). This is because
-  // both operators can be overloaded in C++, and could result in ambiguity in
-  // how the expression is handled. Additionally, `*` and `&` are not supported.
-  const bool try_variable_path =
-      expr.find_first_of("*&->[]") == StringRef::npos;
-  if (frame && try_variable_path) {
----------------
kuilpd wrote:

This check is still here in case someone uses the legacy `frame var`, which doesn't check for DIL modes. DIL is now enabled by default, which is why all the tests pass after removing this. Until we fully remove the legacy `frame var`, this check kind of has to stay.

https://github.com/llvm/llvm-project/pull/192567


More information about the lldb-commits mailing list