<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54576>54576</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            LLDB cannot print STL container variables
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          zzh1010016195
      </td>
    </tr>
</table>

<pre>
    LLDB cannot print the variable when compiler is g++ and  a container instantiates another.
System: Ubuntu 20.04
Complier: g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
```
#include <string>
#include <vector>

struct bar {
  int var1;
};

struct foo {
  int var1;
  bar* my_bar_pointer;
  bar my_bar_object;
  foo* next_foo;
};

int fun(std::vector<std::string> var) {
  return var.size(); // breakpoint 1
}

int main(int argc, char const *argv[]) {
  int var1 = 0;
  int var2 = 1;
  std::string str1 = "a";
  std::string str2 = "b";
  std::vector<std::string> vec;
  fun(vec);
  bar bar1 = {2};
  bar* bar2 = &bar1; 
  foo foo1 = {3,&bar1, bar1, NULL};
  return 0; // breakpoint 2
}
```
Below is the result of `p var`.
```
* thread #1, name = 'test', stop reason = breakpoint 1.1
    frame #0: 0x00005555555552d9 test`fun(var=size=0) at test.cpp:16:18
   13   };
   14   
   15   int fun(std::vector<std::string> var) {
-> 16          return var.size(); // breakpoint 1
   17   }
   18   
   19   int main(int argc, char const *argv[]) {
(lldb) p var
error: expression failed to parse:
error: <lldb wrapper prefix>:45:31: no member named 'var' in namespace '$__lldb_local_vars'
    using $__lldb_local_vars::var;
          ~~~~~~~~~~~~~~~~~~~~^
error: <user expression 0>:1:1: use of undeclared identifier 'var'
var
^
(lldb)
```
The source is a test case for LLDB, `lldb/test/API/tools/lldb-vscode/completions/main.cpp`.  I found that a few test cases failed when the test compiler was gcc.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJylVkuPozgQ_jXkYjUyJgnhkEO605FGaq1WmplzZMAk7BKMbNOvX79fmUDoTLoPvYiX6-Wqr6psZ7p4Wz89be9ZLptGO9aaqnHMHRV7lqaSWa3Yy1E1LNentqqVYZVlh0Dc42ayKRiTYDVOVg3xGutk4yrplAVXw4wJA74N-Obnm3XqFMQb9jvrGtcxwUM-73kPsF1XyhB3sB2I1VkwDeOQ30VJ54dRkDz2qiLtWb2NYMnPdz8UcdXkdVcoFsQP1iGqQxA_3mI-q9xpc2H6NzS63LFMGhYk9z2NMYIGsERBfCYFyfbyP1Ustf5SkZHpQGzY6W2Pv32rIUIITPkDU2f_wMcJD9ZJt1Gvbk__n7tDE5ddAzStK4Av7iHeh5EywkM-Eq4Tz41ynWmIEdrqXcEQBDAJErTDzTKj5L_eexZdnLjy4ITygCb9SnPIA_HA8iPiQ-VYB0sbUJ-DxX2w2F5NPwCHRG0Zn0BwZgjPmOJ6FRXGZ-1ACInna1ExiGafiH6JnsqnSfKwE80DNs1rNkSESMU0aWNZZHJ0ZZn1hcMm2adntBADz0EMyA7fv34_PX20fc4lv50-cZ2-jx11r2r9Qt1Pa4NRtqsd0yUDv_Vls-ThJ524gQqmKTBn7D1r5Emdg0uwUjh8iGydbmFZWt147rS0wmgIAvEbry9iTgsGf-W4FsMlipR5m0t-TgB8i7e-duMtp_KSzkuEedvCQLSk12o0H8UMSKcfkWPRvKeO44Uf_8_2uiNitPSmvtNq5EgyujuSVle-pqOv321E6NR1kRGtz7anKmO0X7TVa4uKsBUSV0rsEgVzmrXSWEUIfJQFMmSKvRjZttgzoFlWr7T8xpv5Ai_UCMQazU7qlEGAqoVqJ_HoJeh8T7KtzKkKUDrz_Z5M7mudy3oPMUvksV46S819U6zPmJyuu8OFfeb79-Lxz6g7i2AmSPE-5uj8wE1FDdU1hcpraRBzVShspiV2xkv4vd0xBeNMlwzd7MJfaFqrOwPI0MLSNwC2fExZasPoAEC1APHeyK5vy93m7x800LoGpDvi3T3bXBcozh2dCGrlEArxqLJ8R2EdYOwHzCIQND6aTbJSvVxmtEON-HMFrSY9azhgvEicMPI8nBXruEjjVM5c5Wp145Ty89fT5PAxnFfsrDP1-uhc6_Pre-dQuWOXhZjDh_E8fO5ao_3eKnaVtZ2iSBbzRbKcHderJM55tkr4HCtNksisEDLOi2XKVZmuomhWy0zVdk3tIkSjaHGECdo3FttZtRZcCB4L0k9xYlHxKs2SSKoy53mZJsGcK4BWh-RHqM1hZtbepaw7WDDryjp7YUoUzaFRat1350x27qjN-v39GPGI82gZpYuZd2DtA_gP7evPdg">