<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">