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

    <tr>
        <th>Summary</th>
        <td>
            Clang doesn't add thiscall calling convention to mangled template function names
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    Godbolt example: https://godbolt.org/z/WjG7sabd5

Real-world example: https://github.com/CookiePLMonster/SilentPatch/blob/50c3a47cd3c0c366c416dbec70151152e2ea80dd/SilentPatchSA/SilentPatchSA.cpp#L344

This (mis)behavior notably causes variable conflicts with two different variables (I can workaround this by using a more generic template and then doing a cast to the right type but that isn't the best solution)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8UsFu3CAQ_Rp8QVlhsL32wYdtKkeVUilqIvU8wKxNgsGC8W63X195N2rUHnIBwbx5M-_pQc5uDIg9q7-w-msBK00x9S8T3sd5WQnTw3rpmkJHe-kfotXRE8dfMC8emTrwiWjJTB2YHJgcxhtgF9PI5PCbyeHn68M-g7Y1EwcmDj8Q_N05Jm8_IXE0rXpn4szkcB_jm8Onx-8xZMLE5PDsPAZ6AjITk4P2UTM51MIoqPbGKiOMahpTlY3VaPairMuyligRWmHtv_3Ph__fO7MsTKpHVVW3hV8mlzmT7ewyk53GCU4uJh4igfYXbmDNmPkJkgPtkZsYjt4ZyvzsaOJ0jty64xETBvqLuhJ-4wYCP8f0BimuwXLaJukLX7MLIwc-x4R8xIDJGU44Lx4IOVyRGLiNN5iBTJzi9smTGyfidFmQ65U4TUDc5cDknq51jZl4jn4lFwOTXWF7ZTvVQYF9uVdKNKVo6mLqra1b0WqjW4322NRVDRa1VK1pVWtKUbheClmVUpSlqktR77TARnVdLZXYY9u1rBI4g_M770_zlofC5bxiX5atLFXhQaPP19BJaTyEkUm55S_1W8OdXsfMKuFdpvxBQY489vcbnNuI78rA3swz4D3fjs0YE8MJw6ZzM2eGMHq0HzYe12CuxQAz5mJNvv8khNsC79fdkuIrGmJyuArKTA7vmk69_BMAAP__JBwY-A">