llvm-project/clang/test/CXX
Haojian Wu 6ba1b9075d Reland "[AST] Add a new TemplateKind for template decls found via a using decl.""
This is the template version of https://reviews.llvm.org/D114251.

This patch introduces a new template name kind (UsingTemplateName). The
UsingTemplateName stores the found using-shadow decl (and underlying
template can be retrieved from the using-shadow decl). With the new
template name, we can be able to find the using decl that a template
typeloc (e.g. TemplateSpecializationTypeLoc) found its underlying template,
which is useful for tooling use cases (include cleaner etc).

This patch merely focuses on adding the node to the AST.

Next steps:
- support using-decl in qualified template name;
- update the clangd and other tools to use this new node;
- add ast matchers for matching different kinds of template names;

Differential Revision: https://reviews.llvm.org/D123127
2022-04-14 11:04:55 +02:00
..
basic [NFC] Use %clang_cc instead of %clang in c++20 module tests 2021-12-22 11:50:47 +08:00
class [clang] p2085 out-of-class comparison operator defaulting 2021-12-20 08:47:54 -08:00
class.access [clang] Implement P0692R1 from C++20 (access checking on specializations and instantiations) 2021-08-10 19:20:50 +04:00
class.derived
conv
cpp [clang][WebAssemmbly] Call TargetInfo::adjust in derived method. 2022-02-10 16:04:06 -08:00
dcl [clang] fix transformation of template arguments of 'auto' type constraints 2021-09-08 03:22:34 +02:00
dcl.dcl [Clang] Add a compatibiliy warning for non-literals in constexpr. 2022-03-30 19:18:53 +02:00
dcl.decl [Clang] CWG 1394: Incomplete types as parameters of deleted functions 2022-04-12 11:10:10 +08:00
drs [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
except [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
expr Revert "[clang] Implement Change scope of lambda trailing-return-type" 2022-04-13 21:34:08 -07:00
lex Add type information to integral template argument if required. 2021-05-12 19:00:08 +00:00
module [C++20][Modules] Adjust handling of exports of namespaces and using-decls. 2022-04-08 08:57:37 +01:00
modules-ts [clang][ABI] New C++20 module mangling scheme 2022-03-30 08:51:27 -07:00
over [clang] retain type sugar in auto / template argument deduction 2021-11-15 23:07:45 +01:00
special [OpaquePtrs][Clang] Add -no-opaque-pointers to tests (NFC) 2022-04-07 12:09:47 +02:00
stmt.stmt Do not check if we are in a discared context in non-immediate contexts 2021-12-07 12:13:35 -05:00
temp Reland "[AST] Add a new TemplateKind for template decls found via a using decl."" 2022-04-14 11:04:55 +02:00