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

    <tr>
        <th>Summary</th>
        <td>
            [lldb] Expression evaluator can't access identifiers of LLDB namespace when stopped in Clang frame
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lldb
      </td>
    </tr>

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

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

<pre>
    Reproducer:

1. Take following C++ example:
```
int main() {
  int x = 0;
  return x;
}
```

2.
```
$ lldb -o "b clang::DeclContext::makeDeclVisibleInContextImpl" -- ./bin/lldb a.out -o "br se -p return -X main" -o run 
<— snipped —>
(lldb) run
Process 35728 launched: '/Users/michaelbuch/a.out' (arm64)
Process 35728 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000100003fa0 a.out`main at main.cpp:3:5
   1    int main() {
   2        int x = 0;
-> 3        return 0;
            ^
   4    }
(lldb) expr x
Process 35696 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
    frame #0: 0x0000000125d123cc liblldb.19.0.0git.dylib`clang::DeclContext::makeDeclVisibleInContextImpl(this=0x0000000114032430, D=0x0000000114033310, Internal=false) at DeclBase.cpp:2035:25
   2032
   2033 void DeclContext::makeDeclVisibleInContextImpl(NamedDecl *D, bool Internal) {
   2034   // Find or create the stored declaration map.
-> 2035   StoredDeclsMap *Map = LookupPtr;
   2036   if (!Map) {
   2037     ASTContext *C = &getParentASTContext();
   2038     Map = CreateStoredDeclsMap(*C);
Target 0: (lldb) stopped.
(lldb)  expr lldb_private::TypeSystemClang::GetASTContext(&D->getASTContext())
error: <user expression 0>:1:15: no member named 'TypeSystemClang' in namespace 'lldb_private'
    1 | lldb_private::TypeSystemClang::GetASTContext(&D->getASTContext())
      | ~~~~~~~~~~~~~~^
```

Observe how we stopped in Clang, but the expression evaluator fails to find `TypeSystemClang` inside `lldb_private`.

Bisect tells me it started happening after https://github.com/llvm/llvm-project/pull/74786

Not sure yet whether this is the same root-cause as https://github.com/llvm/llvm-project/issues/79668, but sounds plausible.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8Vs2O4zgOfhrlQsSQpcRODjmkksqige7exnbtYm8D2mZiTcmSR5Lr5zLPPpCcv6rKANMNzBiJDZMy-ZH8SAm9VwdDtGLzOzbfTnAIrXWrL6pukXQuy0llm9fVf6h3thlqckyuGd8yfrznGTzgI8Heam2flTnAhok7Ju6AXrDrNV3WF_z4S6_KBOhQGSYWTCyBlXejHCBqXoDJLXAmz1JHYXAGXs4iVm5vGh7vIrutFDPQuqlgaoEJUUGt0RwiRrneUq031gR6CaOgw0eKwv8prypNn8xR-6nrNRMCplPImNhVMYhdsoqZHcLJtgNPMO1PyKf_P8Yr4gI3GDhCkht2L9iCs-UMvFF9Tw2cJUzen5AvoouYKzeYUfbN2Zq8BzkvxQI0DqZuqWFyDUyUTOz-68l5JnbdWM1qqFsmdgkkEyUwsUDXFTMmlrfs-WAjlpP7NYTWETbAhMyZ2MBvAw2U6sREWdsuw77XlMUgp-PShGKTDIEj9Nak5ZUjfOxtrHOe5acCA-wddhTN8xgCf-Hjlceb3CMf08sKHl0AjvzJ6r5nci2ZXM_PpvJo7s8ZBgKO1y2uTZm8B3lacazeNRUvF5vfn4WzJDiT8lIueukdvLzPcLEs_pEMi7-SYTFvciHrGrSqIuwsX2Y84wcVsuZVq4oV_OcbZRFa5ZncXtzlMy7FTPIIfftBI2WeNJ9MIGdQM7ndo_YUc4kBoqM79HQsvOByHh-X4gsuxfWLhCerGvhR1F-xoybqgYn1NgKqrNUXVO8pxWVkABM7JnawU6YB66B2hIEgtBRr5KiBhmqNDoOyBjrssyvOxVAA4HtaGD37L9hH7-kht_DZ2seh_xbcNRkFl0Vk8h4S0fMv2N_AVia-rr8_HIOMZjdHahUHCt_QkQkX_dg07_wskpETmk2K7S3a9Nl6c_3pA7oDBeDjWDp3xZH72Yd2Gfslvv3SO_WEgcZyPbz29P3VB-o2Fyr-i95jLrYxl4cP8uV5ypFz1iU0cjN4cskheR8rwuO8les8_iOtwFjoqKvIgYl8iI34HogoQZmk9j3Wsb3KN-hFeWnAHFi5-TuDO86lcgO_v7nOk-rmbvnvypN7ImjtMzzTqTYxrGOIG6iGkGh8lSx6Qj1gsA72qLSHYGEfec8K_j6egoMyXjUUlW_CL3h2jeROeaoDBNLaQ0egAviALlADLfY9mXjEwH0gB20IvY-ZSi13UKEdqqy2XdqMn06Pae_sr1QHJnb9oDUTu3JWLoprn19tAD84glcK8NxSaMlBHFqg_Ni6cWo6a8O0xsEToP9x58r7geJmXC6LYnHKqLeDaTz0Goc0hLJJs5LNUi5xQqu8zHM-WxacT9oVr_icSsFxUWEpqmq2Lyhfir1AsS9ziRO1ElzEwZrnSykFz8qm5LKa13OOKGYo2YxTh0pnEVlm3WGSMK0WRb6YTTRWpH06Bgox9qKIB0K3SoFUw8GzGdfKB38xEFTQ6eiYPphv4f4WO2o0TJQBsE57n2rIBLVX5DzYPXz-vL276p7nlswHAo4b12RwevXziU9x_hEAAP__TT890Q">