<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/89723>89723</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
coroutine: generateAwaitSuspendWrapper doesn't generate a valid mangled name
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang,
c++20,
coroutines
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hokein
</td>
</tr>
</table>
<pre>
The function name generated by the `CodeGenFunction::generateAwaitSuspendWrapper` is not a valid mangled name, it can not be demangled.
E.g. the name generated for the `clang/test/CodeGenCoroutines/pr65054.cpp` is `__await_suspend_wrapper__Z6FooBarv_await`,
```
$ ./bin/llvm-cxxfilt __await_suspend_wrapper__Z6FooBarv_await
__await_suspend_wrapper__Z6FooBarv_await
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUktuumzwQhZ9muLF-5AxgkgsukuyfPkArVepNZOMB3Do2ss0-vH3FYR9UVVUrIaQZFp5vvJaM0QyOqIHqAtVDJuc0-tCM_gcZlymvX5ovI7F-dl0y3jEn78QGchRkIs3UC0sjMRD86jV9ItfuQijOUJxfhecnadLnOU7k9Ncgp4kCCM5MZM4nJtmjtEazu3SDJb3OALwyk1gn3SpRxDTt33PgD8DP2_v_fMhXhF_Aeh9eyTor3QDYJooJsN1Brz74ORlHEbCdgqh4VebdNO1cIPjtJhfsW9y4b08b-O32TbTeX2R43AQg-EL7kWppbc9WYslywFYZB9ha-3j_r3t-7o1N7K-HrAf9m_qNYmfLdFPoU3GSGTWH-lAcBVZCZGNDvKBK9TX2mncHVWsqa6GPNe97rrtKZaZBjiUvseDHSnCRC6H4gfdKdXWtD6cKSk53aWy-LJf7MGQmxpma46nGIrNSkY1rxBB3OxDwulSAF8AL8vfOB2NwiWRo1htT8xCh5NbEFN_HJJMsNW__QHFmfwgd056iA6zTm-q36cvmYJsxpSkuOcYWsB1MGmeVd_6-W_jq5BT8d-qWZK0rL3Fat_4ZAAD__0OeF6U">