[llvm-branch-commits] [lldb] [lldb] Add synthetic variable support to Get*VariableList. (PR #181501)

Med Ismail Bennani via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Apr 16 11:37:48 PDT 2026


================
@@ -439,17 +441,23 @@ may even involve JITing and running code in the target program.)");
     if (!var_sp)
       return llvm::StringRef();
 
-    switch (var_sp->GetScope()) {
+    auto vt = var_sp->GetScope();
+    bool is_synthetic = IsSyntheticValueType(vt);
+    // Clear the bit so the rest works correctly.
+    if (is_synthetic)
+      vt = GetBaseValueType(vt);
+
+    switch (vt) {
     case eValueTypeVariableGlobal:
-      return "GLOBAL: ";
+      return is_synthetic ? "(ext) GLOBAL: " : "GLOBAL: ";
     case eValueTypeVariableStatic:
-      return "STATIC: ";
+      return is_synthetic ? "(ext) STATIC: " : "STATIC: ";
     case eValueTypeVariableArgument:
-      return "ARG: ";
+      return is_synthetic ? "(ext) ARG: " : "ARG: ";
     case eValueTypeVariableLocal:
-      return "LOCAL: ";
+      return is_synthetic ? "(ext) LOCAL: " : "LOCAL: ";
     case eValueTypeVariableThreadLocal:
-      return "THREAD: ";
+      return is_synthetic ? "(ext) THREAD: " : "THREAD: ";
----------------
medismailben wrote:

```suggestion
      return is_synthetic ? "GLOBAL (synthetic): " : "GLOBAL: ";
case eValueTypeVariableStatic:
      return is_synthetic ? "STATIC (synthetic): " : "STATIC: ";
case eValueTypeVariableArgument:
      return is_synthetic ? "ARG (synthetic): " : "ARG: ";
case eValueTypeVariableLocal:
      return is_synthetic ? "LOCAL (synthetic): " : "LOCAL: ";
case eValueTypeVariableThreadLocal:
      return is_synthetic ? "THREAD (synthetic): " : "THREAD: ";
```

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


More information about the llvm-branch-commits mailing list