[clang] [Clang][Sema] Abbreviated function templates do not append invented parameters to empty template parameter lists (PR #80864)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 8 10:46:52 PST 2024


erichkeane wrote:

> Looks like there is a test (`clang-tools-extra/test/clang-tidy/infrastructure/diagnostic.cpp`) that contains the following:
> 
> ```c++
> #ifdef PR64602 // Should not crash
> template <class T = void>
> struct S
> {
>     auto foo(auto);
> };
> 
> template <>
> auto S<>::foo(auto)
> {
>     return 1;
> }
> // CHECK8: error: template parameter list matching the non-templated nested type 'S<>' should be empty ('template<>') [clang-diagnostic-error]
> #endif
> ```
> 
> Which is failing because we now (correctly) accept this. Can I open a PR that addresses this single test, or would I need to revert and reapply the patch @erichkeane ?



> This breaks check-clang-tools: http://45.33.8.238/linux/130320/step_8.txt
> 
> Please take a look and revert for now if it takes a while to fix.

@nico  see the conversation right above your post, he's already noticed it and is preparing a fix.

https://github.com/llvm/llvm-project/pull/80864


More information about the cfe-commits mailing list