Skip to content

Commit d73ce74

Browse files
committed
Simplified EmitClangAttrIsTypeDependent
1 parent ac93544 commit d73ce74

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
@@ -5066,20 +5066,14 @@ void EmitClangAttrIsTypeDependent(const RecordKeeper &Records,
50665066
raw_ostream &OS) {
50675067
emitSourceFileHeader("Attribute is type dependent", OS, Records);
50685068

5069-
std::set<StringRef> Seen;
5070-
for (const auto *A : Records.getAllDerivedDefinitions("Attr")) {
5071-
const Record &Attr = *A;
5072-
if (Attr.getValueAsBit("IsTypeDependent")) {
5073-
Seen.insert(Attr.getName());
5074-
}
5075-
}
5076-
50775069
OS << "void checkAttrIsTypeDependent(Expr *E, Decl *D, const Attr *A) {\n";
50785070
OS << " switch (A->getKind()) {\n";
5079-
for (const StringRef &SeenAttr : Seen) {
5080-
OS << " case attr::" << SeenAttr << ":\n";
5081-
OS << " ActOn" << SeenAttr << "Attr(E, D, A);\n";
5082-
OS << " break;\n";
5071+
for (const auto *A : Records.getAllDerivedDefinitions("Attr")) {
5072+
if (A->getValueAsBit("IsTypeDependent")) {
5073+
OS << " case attr::" << A->getName() << ":\n";
5074+
OS << " ActOn" << A->getName() << "Attr(E, D, A);\n";
5075+
OS << " break;\n";
5076+
}
50835077
}
50845078
OS << " default:\n";
50855079
OS << " break;\n";

0 commit comments

Comments
 (0)