PR52139: Properly handle more kinds of declaration when checking for
authorRichard Smith <richard@metafoo.co.uk>
Mon, 11 Oct 2021 23:16:32 +0000 (16:16 -0700)
committerRichard Smith <richard@metafoo.co.uk>
Mon, 11 Oct 2021 23:37:39 +0000 (16:37 -0700)
commit25b3370ff25f7a21f71e0dc6c4d7624d52cab604
tree7bbe3309ef4e7b0499ef4df62b57c2ecf92458d4
parent627224c9ef732271ca06716393654bbb8e03da7d
PR52139: Properly handle more kinds of declaration when checking for
usage of an abstract class type within itself.

We were missing handling for deduction guides (which would assert),
friend declarations, and variable templates. We were mishandling inline
variables and other variables defined inside the class definition.

These diagnostics should be downgraded to warnings, or perhaps removed
entirely, once we implement P0929R2.
clang/lib/Sema/SemaDeclCXX.cpp
clang/test/SemaCXX/abstract.cpp
clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp