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

    <tr>
        <th>Summary</th>
        <td>
            clang-cl auto mangling different from msvc
        </td>
    </tr>

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

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

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

<pre>
    from async_simple repo
```
async_simple::coro::detail::LazyPromiseBase::await_transform<`async_simple::coro::LazyTest::getValueWithCV<std::set<int,std::less<int>,std::allocator<int> > >'::`2'::ValueAwaiter>
```

msvc produce
```
??$await_transform@UValueAwaiter@?1???$getValueWithCV@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@LazyTest@coro@async_simple@@QEAA?AV?$Lazy@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@34@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@AEAVcondition_variable@7@AEA_NAEAHAEAVmutex@7@@Z@@LazyPromiseBase@detail@coro@async_simple@@QEAA?A_P$$QEAUValueAwaiter@?1???$getValueWithCV@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@LazyTest@23@QEAA?AV?$Lazy@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@23@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@AEAVcondition_variable@8@AEA_NAEAHAEAVmutex@8@@Z@@Z
```

clang-cl produce
```
??$await_transform@UValueAwaiter@?1???$getValueWithCV@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@LazyTest@coro@async_simple@@QEAA?AV?$Lazy@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@34@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@AEAVcondition_variable@7@AEA_NAEAHAEAVmutex@7@@Z@@LazyPromiseBase@detail@coro@async_simple@@QEAA?A?<auto>@@$$QEAUValueAwaiter@?1???$getValueWithCV@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@LazyTest@23@QEAA?AV?$Lazy@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@@23@V?$set@HU?$less@H@std@@V?$allocator@H@2@@std@@AEAVcondition_variable@9@AEA_NAEAHAEAVmutex@9@@Z@@Z
```

reduced
```
clang 
?<auto>@@ 
vs
msvc latest preview
_P
```

clang-cl version
```
C:\Github\async_simple\build4>clang-cl -v
clang version 16.0.0 (https://github.com/llvm/llvm-project.git ca3c58f0d119458d3361494ed8e92a9fca368b6a)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
```

cl version
```
C:\Github\async_simple\build4>cl -v
Microsoft (R) C/C++ Optimizing Compiler Version 19.35.32019 for x64
```

other auto mangling issues
#45314 
#43552
#51342
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztV9-PmzgQ_mvgBSUC2xB44CHNbq4nbX-d2pzUl8jgIfEJcGQ7yW7_-o6BJUmVrrZSu7qHlQzxMB_jmW9mjFMo8ZBXWjUBNw9tuTay2dUQaNgpL7zxwrmXhMPoxHOUR-c4SqVVPxNguaz7-R3_9vARzUoDb7gZoPzIpV1bzVtTKd14dIF2n7LorHwGY3tpA3bF6z38K-12scK3jRW9xgBCFrK1Hjk9rMGY4Sm9PVfwulYlt0qP2mC4PDLrIegXGYVu0bnzHbQDXeOlvzfmUAY7rcS-hOswunSDsB-pYOGXi2VYiLhogHdv_BA9C1f9cxc7C99-6aUuaBTxcvGimRF4CrvXk147wnCMfLOwSwK7zE6H-XQ7d2HMB6vulT_jDGV_wO78dr4qVSuklapdH7iWvOgim_XK9Xu8vXWoZm_hflDg-Hpi6LyuWThU_TMYW39EB3Gg_D9LNqEvmdhutRdLbPqzxKYXif36RFuXNW83k7J-be3X1r7OWJfKBd9b5T4QfZivvf7ivZ79LNPZs3tdg-twcRXR7QPBWbtfZnzQHMzZYaDmFmnHjQMOEo69Ar8Dz9hrDqANhncVunAHk3jxF1bMvsDJRWHGi2Iva8HQr9HY5HAewWA6iJJpOEW3Sbq1dmecUYL8Lzed3WmpGhTq-vD4M8H97z8o7RQBQclpGadVKKIoY3EqKE0iljEQKWSEZxXqk7RIuEeyfu3PXG_cOW0e3KfJOmGTXTk5ylaoo5k4rgbUVgMXQaMEuKNksFNG3veqv1tjsTRA3EjtVAML2LMbzZtgKbGkUL67W71zJMjr3D0S8ZsIHql9J0utjKqs4_MfjBr9I0u83uAIPuysbOQ3iewvVLNDV3WwekxDNqXxlJIwygL8YgT3CXvCc2W3-K4rvKDBZNbOpDRmD0PZeYSymEYsOIk0jskoxRFlxIc8SpJsFsUknfkipyKjGfettDXkY9VcLiJkVYGG1gbd_wWXMn-v6_zXagfFwVuyjDPCEn-bh1BAlvGIpiGUYkbQYS7SmGWlczLhfs0LqE3uxcglaeHYB4xzL77xZU5CQqKIZGHG0nA2LRJSQUkoiJAWVdea0OBGPnV-TJXe-DrvXCr2G7cF1dJYc1JyY-SmBeiWQ_vIwlbpvAHVbrobN8LvHMi7AL4DJELCOg">