================ @@ -66,20 +67,34 @@ static void emitEnumClass(const Record &enumDef, StringRef enumName, os << "};\n\n"; } -static void emitParserPrinter(const EnumAttr &enumAttr, StringRef qualName, +static void emitParserPrinter(const EnumInfo &enumInfo, StringRef qualName, StringRef cppNamespace, raw_ostream &os) { - if (enumAttr.getUnderlyingType().empty() || - enumAttr.getConstBuilderTemplate().empty()) + std::optional<Attribute> enumAttrInfo = enumInfo.asEnumAttr(); + if (enumInfo.getUnderlyingType().empty() || + (enumAttrInfo && enumAttrInfo->getConstBuilderTemplate().empty())) return; - auto cases = enumAttr.getAllCases(); + auto cases = enumInfo.getAllCases(); // Check which cases shouldn't be printed using a keyword. llvm::BitVector nonKeywordCases(cases.size()); - for (auto [index, caseVal] : llvm::enumerate(cases)) - if (!mlir::tblgen::canFormatStringAsKeyword(caseVal.getStr())) + std::string casesList; + llvm::raw_string_ostream caseListOs(casesList); + caseListOs << "["; + for (auto [index, caseVal] : llvm::enumerate(cases)) { + if (index != 0) ---------------- krzysz00 wrote:
Looks like I can, yeah https://github.com/llvm/llvm-project/pull/132148 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits