<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54937>54937</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Crash on valid `shared_locks_required` with auto lambda and variadic template
</td>
</tr>
<tr>
<th>Labels</th>
<td>
crash-on-valid
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dwblaikie
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/Wa1oefazG
```
void l(int...) {
}
template < typename h, int... i >
void j(h k) {
l(k(i)...);
}
void w() {
int *storage;
auto lambda = [](auto) __attribute__((shared_locks_required(storage))){ return 1; };
j<decltype(lambda), 1>(lambda);
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtUsmS2jAQ_Rr5osIl5AV88IFlkk_I0dWyGiwQFpFkqJmvT9seMgNJlVxWb--97pZy-r3uYrwGlm2Y_EHn6LRyNqbOH8n6oO8XLB0e4OMnE3smNqwUn2cyb85obplcmz6macpkxdlq-5m62s-XiJerhYicZTse36_YwwV5x-SOz2XcUOjtG-KJEDt-foLjE8955CL_TMayV65vIHdKfUEgOs7kJkTn4Yh_qzmHITpu4aI0kJQ9Z8WWFXsCGAMjSNNAjN6oIWLTTMDr0IFH3VjXnkPj8fdgyBz9n-gkbz6rLfcYB9_zJVHyUesX84mGorG141yoeNYwFe7G9Lcn37_tPtaR6DrTVVZBEk20WO88hI67nt_A0iwo4_9yS8HvJnZPA4BeU5k3oE3LH8tLBm9fHwsVDipt3YUMa2-P3-Lq3QnbSKYJYcBAlyKvslXS1WWlSw2FysrlQQAqVEWxagvI8yqXB6wSCwptqMcFSNmOXSxcv5i6IActJTG1FFKKfFkKmYsiS8vy0GoU7RoLvcyUYrnACxibjmLGp5z4etKlhmOgoDUhhq8ghGCOPWI9Lz2hUXTO1_quLJizwWRqop46-AO7qvMk">