aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaLookup.cpp
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2025-02-26 16:01:14 +0100
committerGitHub <noreply@github.com>2025-02-26 16:01:14 +0100
commit8dd8e5f7d692cc43f4322f04034f5c472381aa43 (patch)
tree410484b1a4eac639bb0cd92c78200f6a893de748 /clang/lib/Sema/SemaLookup.cpp
parentdefe43bbffb0d25ec468f0e54b20548ec192ff90 (diff)
downloadllvm-8dd8e5f7d692cc43f4322f04034f5c472381aa43.zip
llvm-8dd8e5f7d692cc43f4322f04034f5c472381aa43.tar.gz
llvm-8dd8e5f7d692cc43f4322f04034f5c472381aa43.tar.bz2
[Clang] Add BuiltinTemplates.td to generate code for builtin templates (#123736)
This makes it significantly easier to add new builtin templates, since you only have to modify two places instead of a dozen or so. The `BuiltinTemplates.td` could also be extended to generate documentation from it in the future.
Diffstat (limited to 'clang/lib/Sema/SemaLookup.cpp')
-rw-r--r--clang/lib/Sema/SemaLookup.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/clang/lib/Sema/SemaLookup.cpp b/clang/lib/Sema/SemaLookup.cpp
index 0f5b742..aecf8ed 100644
--- a/clang/lib/Sema/SemaLookup.cpp
+++ b/clang/lib/Sema/SemaLookup.cpp
@@ -924,18 +924,12 @@ bool Sema::LookupBuiltin(LookupResult &R) {
IdentifierInfo *II = R.getLookupName().getAsIdentifierInfo();
if (II) {
if (getLangOpts().CPlusPlus && NameKind == Sema::LookupOrdinaryName) {
- if (II == getASTContext().getMakeIntegerSeqName()) {
- R.addDecl(getASTContext().getMakeIntegerSeqDecl());
- return true;
- }
- if (II == getASTContext().getTypePackElementName()) {
- R.addDecl(getASTContext().getTypePackElementDecl());
- return true;
- }
- if (II == getASTContext().getBuiltinCommonTypeName()) {
- R.addDecl(getASTContext().getBuiltinCommonTypeDecl());
- return true;
- }
+#define BuiltinTemplate(BIName) \
+ if (II == getASTContext().get##BIName##Name()) { \
+ R.addDecl(getASTContext().get##BIName##Decl()); \
+ return true; \
+ }
+#include "clang/Basic/BuiltinTemplates.inc"
}
// Check if this is an OpenCL Builtin, and if so, insert its overloads.