struct tuple; template

Clang frontend C++ crash on invalid code in template-parameter-list (original) (raw)

To quickly reproduce: https://gcc.godbolt.org/z/1jqzhEdTE

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

template <class... T, // add comma T... Args> struct tuple;

removes the crash