inline stmt attribute diagnosing in templates
authorErich Keane <erich.keane@intel.com>
Fri, 17 Mar 2023 16:54:39 +0000 (09:54 -0700)
committerErich Keane <erich.keane@intel.com>
Tue, 21 Mar 2023 15:16:52 +0000 (08:16 -0700)
commit514e4359a543ea778c7fee6908a9c6eb10d0ccd9
tree76ddc9969ec30ae263206ccc3f67dc6aabd47e2a
parentb33f5e7ed3cd04797b721e32b982b2cf6e06e192
inline stmt attribute diagnosing in templates

D146089's author discovered that our diagnostics for always/no inline
would null-dereference when used in a template. He fixed that by
skipping in the dependent case.

This patch makes sure we diagnose these after a template instantiation.
It also adds infrastructure for other statement attributes to add
checking/transformation.

Differential Revision: https://reviews.llvm.org/D146323
clang/docs/ReleaseNotes.rst
clang/include/clang/Sema/Sema.h
clang/lib/Sema/SemaStmtAttr.cpp
clang/lib/Sema/SemaTemplateInstantiate.cpp
clang/lib/Sema/TreeTransform.h
clang/test/Sema/attr-alwaysinline.cpp
clang/test/Sema/attr-noinline.cpp