<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63244>63244</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Clang frontend C++ crash on invalid code in template-parameter-list
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
brutalsavage
</td>
</tr>
</table>
<pre>
To quickly reproduce: https://gcc.godbolt.org/z/1jqzhEdTE
```cpp
template <class... T // invalid instantiation (note adding an "," removes the crash)
T... Args>
struct tuple;
template<auto... Vs,
T... Vs3>
auto foo() {
tuple a;
return a;
}
```
Compiling the above invalid code crashes clang `clang++ -x c++`, crashes locally using clang-17.0 (a10019a), also on trunk (see godbolt link)
Note: changing the first template to
```cpp
template <class... T, // add comma
T... Args>
struct tuple;
```
removes the crash
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU0FzszgM_TXioglj5IQkBw4JbY57yvRujAG3xqa2yWz763cc0jTtXr6PYYxHyE_vPckiBN1bpSrYHGHzlIk5Ds5XjZ-jMEFcRK-yxrUf1dnh-6zlm_lArybv2lkq4AccYpwC8APQCejUS5n3rm2cibnzPdDpE-hUvL5_Ds_t-RnYE7DDbS3Z8sppWiJRjZMRUSHwWhoRQp7neMYFGbW9CKNb1DZEYaMWUTuLQDvrokLRttr2KFKEgGogQq9Gd1EB46BQehEGoP1SCc8J-uD7APwZl1iIfpYR4zwZBfz4SPWLGPBazNGlsy8hFVnAEBe8l8CB3zSmPOycA9oB7RG2R_zOvtZAca-SYl7F2duHIGyffhn1SKl246RNkpzUicZd1N0h6dqbYBVQGmF7TDanDdAR6Iirf1Eu2wRL9T3bOCmM-cA5JOjrkVWxzVnyWRSMFXuRTKQahQkOncXoZ_uWfgel8NZ6NNq-3c1e1n9cvM6LHITtv3h32oeI975Hh383G4nIbTxEm4SPo3jweXn-uNc_ff7_9DyoydqKt3u-F5mqinJXrvluvy2zoSqbXVcyzjnfsI4XhZREG07djnZEjLWZrogRZ2XBiBdlUebb_Xaryq5r1qxdF9TAmqlRaJMbcxnTJcp0CLOqSk7rdWZEo0z4uq2-SkmrZu4DrJnRIYbvY1FHo6r62v_OOxuVbbG-TcBVUerfj6HR9t6M1SS8GFVUfpVws9mb6tdd13GYm1y6EeiUqt4-q8m7VyUj0OnKPACdruT_CwAA___muFGt">