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

    <tr>
        <th>Summary</th>
        <td>
            Incorrect source range for explicit object calls when callee is pointer
        </td>
    </tr>

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

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

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

<pre>
    In Clang v20.1.7, the issue range for explicit object calls has been improved for `.` calls, but not for the `->` calls. As you can observe on [Compiler Explorer](https://godbolt.org/#z:OYLghAFBqd5TKALEBjA9gEwKYFFMCWALugE4A0BIEAZgQDbYB2AhgLbYgDkAjF%2BTXRMiAZVQtGIHgBYBQogFUAztgAKAD24AGfgCsp5eiyahUAUgBMAIUtXyKxqiIEh1ZpgDC6egFc2TA3cAGQImbAA5PwAjbFIpLXIAB3QlYhcmL19/A2TU5yEQsMi2GLieBIdsJ3SRIhZSIky/AJ57bEd8plr6okKI6NiDJTqGpuzW4Z6%2B4tKpAEp7dB9SVE4uYdIfJwBqXHVE%2BgJUYgAVJAIlbbMAdhstAEFt7YA3dAJMbY4S2Igic8u9gcjqd/tsMExhpYAGzbBw0OZmADMd3uNwAIkiUWYHq93tsiNhhjwIIDDsciGcLgAqbaJIgUXb7Mkgi7Q7akbA0ciMoHkymXZ4SOZXW7Yx60%2BkAWiRuC%2BpQgCOR2wA9MrtlZsMBQtsyNsPBJ6IDSOzjMBsNsLtt6CkiAA6MVPDk0W1yn6KqwqtUASTYiVI6Ge2A%2BpFN2AdLwkLuw31ICsxnu2Pr9AaDJpMYYe6LFXAW9G4AFZ%2BAEuDpyOhuB5bLZYUsVubLIi%2BOQiNocwsANbxBJ5rjSfhsEAWKG2ngATgs5VH0gAHOUodP8zxruRi6Xy1x%2BEoQAkWyWc%2BQ4LAUBhfQxYpRqCfEme4qgjCYx%2BUBAwCaQtxAoq3yFFQvUAJ7cE2P6sKQf4APJRLoVS7k2J4cMIYFMPQAF7uQOBRD4wD6vQ9Bbrw/A4GwpqSKhhActUgZ4aW2DqFUPgEoB/ChASPalocUQhqBXg4F%2B9IEAO%2BHkIGpBRCk2BotGxGhKAe4LDQRjAEoABqBDYAA7mBiTMIxcjCGIEicE%2BgjCMoaiaKh%2BitPephVtYhgEFEW6QAs6B0ukeGSsMmBImi5jWLYFiIvwKakKQ7yEvACyVNUrgQO4YwtOQwShP0MY5CkaRCAl6V5Ok0wDGUbQdDUIyNN4zRDO00ElVMKUzIMEyldljW1UUBXzIsyyrB1PaFiuX7rts6jTlCkpQtIYLWdsY4jraWjbCShAkMaDY8HM/C7joCwQCgLDDBeEBXje4TsGsw2jeNk2mtNo6zdRS1kO8BjGaI4iSEZ8imRoX6WUV1WxfF5XjElTCYPlaWtLkmUZEDiVQ504OzBMVUxV0TWw5VxVCN0DSIw19jo1kiWTLjdXtWtzYctgT1aLmBZFgN3D3MM2wqepsRDSNY0TXe10zTwc0LfgxC6qt3JeKejArYFa0ba2cwdl2hjcH25ADhY0hzdIUKNhrPCLtIi6jvm/Woeum7bs28sHogO1oOgkvnlQh0O9eUtoNZFhaEZL6xO%2Bn6ocB/46UHoEQVBTg6XBzBEIhyFfuhmHYbhOmEcRaylmR1WUV%2BNF0QxgnMe0X7sZxf7cRnG1hQJTbCaJKgSURJiHCY1vySwilsxpWnFk2L36e9CQvV95mlvoFiGKaaC2XY7FOQqZZuUIHleT5fk2NYgXBcJYU4PPUUo50big81INg2TENJBlnSn/DeUX0jf2ozjZVE5j/1o61qWPyTr8VS1pM2oQyirWbqFNeoMzNtwTmF0eZTS9ndIWD1paNnWlbWSB5dr7WdkdKWJ0ODcHOtzK6JhtgIIFvdEWu9nryAHoZIen0VDfQsoOJ%2BR84onwxq0ZKQDH53yylwq%2BuUCgP3xtFToL9T7iJqoA7%2BYjCb/wJl/eqZQFj0mwNTTA246ZcD6quYKTMWZdw5kQy6vNSHkMFotKhVwZbi1djeWxiILBoM2m2ZWvZ%2ByDk1tcKE%2Btrizi0IiAJOstBQlNmubgFsdzW0PMge2jsKA4Ice7cxwAAD69IfBMHbM%2Begr5/ZflDihICv4w6QWglHB28FY5IRQpnbAGEsIGjwk2NOzdK5oQIORZwOdUJ51QPRNYTYi6sX4KXf8FdeLVx0nXMSjcpKtwwe3Tuqlu7aUEv3N69DdKKCYaPPQIBEST1buvWw9lHKRUXp0FeRBvKIl8jPLeZYd7hX3mw9Ix9PCCJ4XIwq/CYZv0htfe%2BvCxGHxkX/YG0jsalTxoVX%2BUi4WiNUZ1OsPV6YRIMVwGBxC0kLSyTk4U1jlpONlugramCQB7SIAdXBsR8FnS5mYqavxNhEv4EGKhT1WhbIMvEXZI8fpHI%2BQDThQKz7wpytDW%2BIKRFgoRRC2FPQpFKs/rIlRQwFHQuRQqjq6jNHaI8XoxmXBmZEFZmskxzK4HXTZdk9sxLhakrFnqFJHMGyIlcfLHRqt1Ym30WWKJ9hLZuIVuQTshtbTSACdOa4jZpDe3GoiWQPYgpYqDRuCl%2B44m5pQIQGgXJnZ8sHoK/ZJckBbispWgtNAiB/i0iAachhK00XpCwVyR8s2kErawntSha31sbc2/tbaQyds%2BRuHRJqoFcDRAQQtlr2bGlMba0h/NBaeTuWvWwto90vEuKukhwAyFaEQVu%2B5jzrB7ttHLWSCwkDYBYDgOIC9Oz5k1vmCcPAhwLlHNORE%2BYoThJ7H6kA%2BYEiBvNiGmJGC80gFrQdEtOzh7ltQvQXtE8MMDoXXWhtnBm3YbHR2pexZ%2BD9pFf2wd%2BGm3kFHeodtE7XBTuNZAyJc7cNLrUta2Bx7T3ntXg89eN6D24pZXawljrtgXrXjeu9W0H1PpfdQX1XiIMZug1uWDCmI3gc/d%2B39%2BZ/2AeAx49NUHg1hp0RYNj2L5PuOEqkVw0ggA%3D%3D), the object is included in the range for the `.` calls, but for the `->` call:
```C++
struct ExplicitThis {
  void member(this ExplicitThis const& self);
};

void test1(ExplicitThis* ptr, ExplicitThis& ref, ExplicitThis val) {
  ptr->member(); // Begin or CallExpr range is lost.
  ref.member(); // Improved range
  val.member(); // Improved range
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMV1nTqsyu_jWsG-tbBc0kF-9FMykyKAgy3DG0zIPQCPjrT6lrf3s4teucKuql6eRJJ3nTMU88TWXeIfRDsCLByr_iGRf9-NOhFPe_kj7bfrRuJzVxl--egPxN_eYJIO1wgXblNM1oN8Zdjnb3ftyhdWjKtMS7PqlQindp3DTTroinXYJQtyvbYeyfKPvoEhz5m-DIr87bYDLjXdfjj_BtnODIvwha-Vvn9w5Ou62fd2nc7fpkQuMT7fpuR7Ci1LdD2aBxp6xD049oJFiZAPsC42EiaEgAlQBq3mdJ3-Df_Zh_NugXQcNzaOQFVMVHxro6NBSxgkKuLHqoqqbkQ2POFQaSoqbAKLflJBQBLHIjCXO5hpVKABaIbuCYJYxuNj5ox1wMRbvPVQ--cA51KAMGHu65NA0sKre48KCXiybUPBxs-vooNaWgoiGXJQ7lagpcSKfwYGttAiF7WWCVqNpgBBoUabsJi7Q1KIEAKgSux26KPZklOBglErVsOtFXRyuiq1Zvb40TyydKth-aketrXeOsUj65j8Mwv3wm4j6OM1gfoDLwmShcbwozh5l2Py3iIzjelI9CfvLCHN5OUGuSxIRZMWGoqJgPIZ3Bk5mEzBVoeZnuZyFPq0dGABVPprIWQwgPr0RcyHPUQtnM6NlaoFaXnh8eHwKNp9IqimrRNFme0vKQGjl8JPFJy70g4c06L3mbj-sEkmlp9sd6a4OIuZ6jwOfDlSM_vtXQL51Z-qwHO5fODligYI64iSZTtPG0WdNFPHGafD2_KlOcrMnAmJPqEkLOvF3kmvSpreP0x_LAHry6YXnTuAMC8GtStQDMjKU25oWmNGlauxlcRgHG8mkwwxBxhhpAXzgwUI0-CKjM8rCdi1lkEyMKvek2J4ZWfmRnu7T6dJmglaziiR2r672YFOjrB9Dl0M0n9nYkc3g8e3122b_WcXZKLtio9YNWehvW_uanny-bMaAnFnd7DQfnId2VFjGPvJLCr7InwkWKbbzC_kFvqmo_PXjiUwVcuEm37wy8nByjv135GpyY1NRC1bzYUOVn-yw6MrPI3NMWxGRc3kXEHJbhcdWLAqbYyyMm9oH8UL1LrvQiAVSpgNdL3PSpZxcPMciZ74UQNAWeP6tjrR0G0ZFqIPb4sB4KHSLGkG2ngkoPxYcohxDyrVi6pramlXTQlDL9U3uVZPZxGevF57PEFzQUNxwWuaIqPmfDiRPJuUaH62S2otaWbOUboVpqz0WPa93mN-UJpe1meWNun5lwwWd7uRYX0gxZqY4dCTbcjT3X5CIfvMTOZE_bLIt5OfKZJJXmZureSzOVrcmayqc8Twxe2rRto0hdYrWcA37EE1e5jVQPNtZCw8-mkKnG2K8S6VrA2ozlcH8031niq15abCk3ZFlEihhUiHGnw7SAClk1aLHVc6_MuVL1eS9Wh1hjyqsS7cvW6QPO926Uv95VNqiUxpXCSxP72KhbL1Lk8mazJHN-iebNW2-k6y_sbb1JFilftYUSqp6qS981qizAPn6FKc5dKjZaMVJzi5Zp0wTLAw2TI1-tkHQDRJEvd0lJ456vEvfA9AnpqIJjqMZkEoN0yRpQVOkRsFAuQrJ4ZZqnW8V4kQyslVz1bAmg-j2aWz6ZwH469vmZ6s95_ewauyDPAvJwb0VqESuRwa3fCum4Pn2XEsN5x16xb6Kbc4H4EhWt2NT7XLTHMCnOrZI68da0DuV7tw_OUkl7zTsTkQE_ReudT53uQBX2yU2k-KTnV885lUcppJ7bdSmbaR38Tq2BQXNIkOznTWDb5tmr5UGPYwkEIa-e7UcUzZ52bJDL3mtghXkgpqfQYy4Xz-tZMinzPaVZOXAV6yQ23bUjgCojLyCrO-hfVXRT2IoAKtVz1MO_bO64v12pwQS9vZWjnzxUC_Xmy8KL26okityr0GWaL1NDbHV-k_hXkc1G3s_qTPdP5FlOj2f80rlTgXNNU5-Z4s9CN27w2Eca6sibfLen_nz65MPZM323rA8y0m35yNLb1iyPj2T2pPxCr1h1e0Nw-fL06CH_kYSVlBBAXU4NAVT0iGy1ItvFcl0IGC5KZe4xh7pr-lG2sLW9cU_reqxNtcd6cVuipKSyCvlrqRlib4IWRP7z2wk3uaZwqn_vMR7LV0lqJTydJyzajdXOSa5O2csnL2aOQDXpkNFSxKfrAqHMCdpdNI-J-QGjfGQJoEb3Ri4LTXoyC2f7eXMUwV4NWc2xhy6BB2XSDtVSA-v8ynS2t7WzEy3nzDuxlH1xrNANS24KGD2479UMGbeV7ALzWqWDjpcF0e78aGY-9pQnbXGCnOm6FMaXi62JytWlkvnpL0Jz1B0vGEgVOeJT15p9dTFQFGZ8EdDtImircJGkExNo76SrUhg9yQLf0SeIp7QejmsdEEAND2Q1xY279rfg261Lxi8tL6LO0-XGhY5m3paDuEpkbVw3t2Y8qmqGs9XM-Ri3ki3yVw1mgTg5e7W7sm34iJ-rVShPRjnohUv5RaKZTyWItP19OGrf3wvZLWz9xS_DhmX_s6Xpjpr3jiMB9WIPqj4RQB21xrEX9WjPjv2oHlxlHWNtH_RrG4htpKhRO9XrS2eOgRtltTCtRhHXo9o91NPRPGxak96No_PAVNjSpO_rJ6Ewolm7zbY7FThxr1DKzjFTRYOM6ENf-vYlzIfwITuz1HzHEaZlB1uzD3lw6qJ3_9Df__tTWotJOQ1-ji1YvntFSZYwTotCJ8lgkJbb5uwnUCtjvHT4WsQ0NSUpeM8iSWxv2fS9H_PROT16NZUdaNu4GUFyaMwkJgsCqJYYI3f2n_6Ce4F8KrM-18UCNzVW7Nv8wbPVaxR5jI-Gf5WWWg7FUM7PmiScX2xNPVspvcBiMZqjdXa-hR_2bnHij1z9HShCpRSfVnloTwdpT-bqaGcKPr8KvsH20w6wsjdNuQ8Cv8Cd2NJhcnTAgNbvjZKFQb2DJft8HFq6Vo-oz7DCB6I7WxHcTimfWsbo4RiIK-_SHQ7yvYAsTgbMEAXx0lQjzoMxqNAs-OSRugz3zA6ooNTMaM6p2ZelVqPzlADq9xRa-LwiAqgAIrgyguUdc6oYSCe0KmCwl_msPOrbQub5O0Ja_vNH-Ac5-MMBymlXdmkzZyjbld1H8k_C8GfO_99E4L-QgPcwT0KCI7-PRADx_ZBwwuOc4s_8_yYgblFOO4J_S3a7Z19muxa1CRoJsMdv0b_ppX03YQJwuwk193cA9BtH8PKfBQk_FjCaMEWA_b9iCQB3Ax7fXv_7Nrcb0f0_t3fPuCGA8LdjAx7fwf3t2vfs3Zeu7ESUl92uH3dS3DTKOox_8lZOu6af8O-PiRHdf_8XvPYPtvWBfTMRN_9v7Xf8_5LqX9kPnQm0EP9CPxTPkjRgGJL7VfzcOZIH1J1P2QTxdBxz_J5KGHaf3lmUZnH8q_wBJGBJjhJIgaIB9zsR7iBJWCbmEUnTLEswJGrjsvndNM_2Tc9-fXjlD8Uwe5b71cQJaqYPOQWgQ8uXdRIAvLnq-PMG_ZXM-UQwZFNOePqnGVziBv1oXdqP47sUp34e0_-bry4F6j5L9En20JcdRuOveWx-_oNRlriYk99p_5583qf-ef01jP3b3rtXvX1999c_wTx_wP8EAAD__-uV-qM">