Skip to content

Commit 45be8ae

Browse files
committed
Simplified EmitClangAttrIsTypeDependent
1 parent a7ac571 commit 45be8ae

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

clang/utils/TableGen/ClangAttrEmitter.cpp

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5050,20 +5050,14 @@ void EmitClangAttrIsTypeDependent(const RecordKeeper &Records,
50505050
raw_ostream &OS) {
50515051
emitSourceFileHeader("Attribute is type dependent", OS, Records);
50525052

5053-
std::set<StringRef> Seen;
5054-
for (const auto *A : Records.getAllDerivedDefinitions("Attr")) {
5055-
const Record &Attr = *A;
5056-
if (Attr.getValueAsBit("IsTypeDependent")) {
5057-
Seen.insert(Attr.getName());
5058-
}
5059-
}
5060-
50615053
OS << "void checkAttrIsTypeDependent(Expr *E, Decl *D, const Attr *A) {\n";
50625054
OS << " switch (A->getKind()) {\n";
5063-
for (const StringRef &SeenAttr : Seen) {
5064-
OS << " case attr::" << SeenAttr << ":\n";
5065-
OS << " ActOn" << SeenAttr << "Attr(E, D, A);\n";
5066-
OS << " break;\n";
5055+
for (const auto *A : Records.getAllDerivedDefinitions("Attr")) {
5056+
if (A->getValueAsBit("IsTypeDependent")) {
5057+
OS << " case attr::" << A->getName() << ":\n";
5058+
OS << " ActOn" << A->getName() << "Attr(E, D, A);\n";
5059+
OS << " break;\n";
5060+
}
50675061
}
50685062
OS << " default:\n";
50695063
OS << " break;\n";

0 commit comments

Comments
 (0)