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

    <tr>
        <th>Summary</th>
        <td>
            [lldb] std::unordered_map const pointer presentation is different from non-const pointer
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          nd-work
      </td>
    </tr>
</table>

<pre>
    This is similar to #145847 but for pointers.

To reproduce, debug the program:

```
#include <unordered_map>

int main() {
  std::unordered_map<int, int> m;
  m[1] = 2;
  std::unordered_map<int, int> *ptr = &m;
  const std::unordered_map<int, int> *const_ptr = &m;
  return 0; //break
}
```

Once the breakpoint is reached print `ptr` and `const_ptr`.

Expected: they are shown in the same way.

Actual: they are shown differently:

```
> lldb a.out
(lldb) target create "a.out"
Current executable set to '/path/to/a.out' (arm64).
(lldb) version
lldb version 21.0.0git (git@github.com:llvm/llvm-project.git revision 8f71650baaeec599aae9443fbe2c3cd6b5611844)
  clang revision 8f71650baaeec599aae9443fbe2c3cd6b5611844
  llvm revision 8f71650baaeec599aae9443fbe2c3cd6b5611844
(lldb) b main.cpp:8
Breakpoint 1: where = a.out`main + 88 at main.cpp:8:3, address = 0x0000000100000540
(lldb) run
Process 40225 launched: '/path/to/a.out' (arm64)
Process 40225 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000100000540 a.out`main at main.cpp:8:3
 5        m[1] = 2;
   6      std::unordered_map<int, int> *ptr = &m;
   7      const std::unordered_map<int, int> *const_ptr = &m;
-> 8           return 0; //break
   9    }
(lldb) frame var ptr -P 1
(std::unordered_map<int, int> *) ptr = 0x000000016fdff040 size=1 {
  [0] = (first = 1, second = 2)
}
(lldb) frame var const_ptr -P 1
(const std::unordered_map<int, int> *) const_ptr = 0x000000016fdff040 size=1 {
  [0] = {
    __cc_ = (first = 1, second = 2)
  }
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVk1z4zYM_TXwBWMNRerLBx_kOL52D3vPUCJksyuJKkklm_76Dillvc4mnWTbTMYaisAj8PAISDqnzyPRHvID5MeNnP3F2P2otk_Gfts0Rj3vv160Q-3Q6UH30qI3CFykWV5lJTazx85YnIwePVmXAKuB1V8NWpqsUXNLwO9QUTOf0V8IJ2vOVg4g6sUSCrb-sxq40GPbz4oQxN08GqvIknoY5ATifrHXo8dB6hF4BXyHUB6A1YjOqwAp6lded3r0IYDwEPc4gFjsB8gPKeRHBHFE_vL2gyjA68nb6Aq8-IHZmtH5T2BE-4e3kCz52Y7IQBwQ-An4qbEkvwUGyuNr0lj9x9hSJDdaxVKEglmS7YUUTja8gIJN3kLBUI4qrH4cDwVby3b_faLWU0gg4D2jtITuYp5G1GM8wcmB8Ek-rw5162fZv2GudNeRpdH3z2-XWtxj36sGZWJmH2tfhXWoqZf2TB5bS9ITAueLDefA6rvZBlSk79TOXjY9oSO_aLIEfpqkvwA_eQP8tLqVCLySdigy4Lvk9qhHsk6bEVgdg1mXyNOEJeysfXA9aw9ZWFzmJmlNkG7fPw7AT-Gxnaz5k1qfBGtLjzoCVF2ZFjlrpCRq891OStplmega4q1oVdHkRZpWWYhokU4vx_NvuAffEMVvuf7EQxPvVNJOE4i6AlYfrkpKQ3mfLmQp6nRhtWDBAYEfsKpQ-lt_UYsgdamUJeeiG_vOlr80_uYZu43AzqEKX6xpg0fGOM-xl_MYFBwC-Fh5f4Fw3kwTqXhWEKklqWL7CvH9NdNM6-UrWzMkcpp6SkIq28U0nnoXUcJ1cmaM5j_dszRJYxUQOxvuBnDBQry_5nvL3FuUsRpzRAS2e69BYfGy_99aFZYLyv_VsrZhv3qJ7f32hYi7xWptZFcBLPQ9SosBfvsF02X_48EFlJfQrvQXneo6ljF0-m8CcUx_zAzID-yFYeBVp63zcRHF4ag1oVFG-qOy_iXkKy_XwD_LbUC85ffTSazvEB8e2vbhw4khrqndDpeN2gu1Ezu5oX1a5ilLRc755rLvqFRUZmlDnNqClOA7ymUquciUynm10XvOeM4KXrJKVBlPMiaylO0KJZngolKQMRqk7pPQvBJjzxvt3Ez7NCtYxja9bKh38aOE85GeMO6GCZAfN3Yf-24znx1krNfOuyuM176PXzOxRvnxHf5X4a9fLThZcjR66UMH1e46vbCzZsDRjNsbh81s-_3F-8kF7Kjwn-bDMhhezQfgp5iEA35as3zc838CAAD__7n3y1g">