Lines Matching full:os

28   IfDefScope(StringRef Name, raw_ostream &OS) : Name(Name), OS(OS) {  in IfDefScope()  argument
29 OS << "#ifdef " << Name << "\n" in IfDefScope()
33 ~IfDefScope() { OS << "\n#endif // " << Name << "\n\n"; } in ~IfDefScope()
37 raw_ostream &OS; member in __anone1137fab0111::IfDefScope
44 void GenerateEnumClass(const std::vector<Record *> &Records, raw_ostream &OS, in GenerateEnumClass() argument
47 OS << "\n"; in GenerateEnumClass()
48 OS << "enum class " << Enum << " {\n"; in GenerateEnumClass()
51 OS << " " << Prefix << Rec.getFormattedName() << ",\n"; in GenerateEnumClass()
53 OS << "};\n"; in GenerateEnumClass()
54 OS << "\n"; in GenerateEnumClass()
55 OS << "static constexpr std::size_t " << Enum in GenerateEnumClass()
64 OS << "\n"; in GenerateEnumClass()
67 OS << "constexpr auto " << Prefix << Rec.getFormattedName() << " = " in GenerateEnumClass()
77 raw_ostream &OS, const DirectiveLanguage &DirLang, in GenerateEnumClauseVal() argument
92 OS << "\n"; in GenerateEnumClauseVal()
93 OS << "enum class " << EnumName << " {\n"; in GenerateEnumClauseVal()
96 OS << " " << CV->getName() << "=" << CVal.getValue() << ",\n"; in GenerateEnumClauseVal()
98 OS << "};\n"; in GenerateEnumClauseVal()
101 OS << "\n"; in GenerateEnumClauseVal()
103 OS << "constexpr auto " << CV->getName() << " = " in GenerateEnumClauseVal()
178 void EmitDirectivesDecl(RecordKeeper &Records, raw_ostream &OS) { in EmitDirectivesDecl() argument
183 OS << "#ifndef LLVM_" << DirLang.getName() << "_INC\n"; in EmitDirectivesDecl()
184 OS << "#define LLVM_" << DirLang.getName() << "_INC\n"; in EmitDirectivesDecl()
187 OS << "\n#include \"llvm/ADT/BitmaskEnum.h\"\n"; in EmitDirectivesDecl()
189 OS << "\n"; in EmitDirectivesDecl()
190 OS << "namespace llvm {\n"; in EmitDirectivesDecl()
191 OS << "class StringRef;\n"; in EmitDirectivesDecl()
197 OS << "namespace " << Ns << " {\n"; in EmitDirectivesDecl()
200 OS << "\nLLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();\n"; in EmitDirectivesDecl()
203 GenerateEnumClass(DirLang.getDirectives(), OS, "Directive", in EmitDirectivesDecl()
207 GenerateEnumClass(DirLang.getClauses(), OS, "Clause", in EmitDirectivesDecl()
212 GenerateEnumClauseVal(DirLang.getClauses(), OS, DirLang, EnumHelperFuncs); in EmitDirectivesDecl()
215 OS << "\n"; in EmitDirectivesDecl()
216 OS << "// Enumeration helper functions\n"; in EmitDirectivesDecl()
217 OS << "Directive get" << DirLang.getName() in EmitDirectivesDecl()
219 OS << "\n"; in EmitDirectivesDecl()
220 OS << "llvm::StringRef get" << DirLang.getName() in EmitDirectivesDecl()
222 OS << "\n"; in EmitDirectivesDecl()
223 OS << "Clause get" << DirLang.getName() in EmitDirectivesDecl()
225 OS << "\n"; in EmitDirectivesDecl()
226 OS << "llvm::StringRef get" << DirLang.getName() << "ClauseName(Clause C);\n"; in EmitDirectivesDecl()
227 OS << "\n"; in EmitDirectivesDecl()
228 OS << "/// Return true if \\p C is a valid clause for \\p D in version \\p " in EmitDirectivesDecl()
230 OS << "bool isAllowedClauseForDirective(Directive D, " in EmitDirectivesDecl()
232 OS << "\n"; in EmitDirectivesDecl()
234 OS << EnumHelperFuncs; in EmitDirectivesDecl()
235 OS << "\n"; in EmitDirectivesDecl()
240 OS << "} // namespace " << Ns << "\n"; in EmitDirectivesDecl()
242 OS << "} // namespace llvm\n"; in EmitDirectivesDecl()
244 OS << "#endif // LLVM_" << DirLang.getName() << "_INC\n"; in EmitDirectivesDecl()
248 void GenerateGetName(const std::vector<Record *> &Records, raw_ostream &OS, in GenerateGetName() argument
251 OS << "\n"; in GenerateGetName()
252 OS << "llvm::StringRef llvm::" << DirLang.getCppNamespace() << "::get" in GenerateGetName()
254 OS << " switch (Kind) {\n"; in GenerateGetName()
257 OS << " case " << Prefix << Rec.getFormattedName() << ":\n"; in GenerateGetName()
258 OS << " return \""; in GenerateGetName()
260 OS << Rec.getName(); in GenerateGetName()
262 OS << Rec.getAlternativeName(); in GenerateGetName()
263 OS << "\";\n"; in GenerateGetName()
265 OS << " }\n"; // switch in GenerateGetName()
266 OS << " llvm_unreachable(\"Invalid " << DirLang.getName() << " " << Enum in GenerateGetName()
268 OS << "}\n"; in GenerateGetName()
272 void GenerateGetKind(const std::vector<Record *> &Records, raw_ostream &OS, in GenerateGetKind() argument
286 OS << "\n"; in GenerateGetKind()
287 OS << Enum << " llvm::" << DirLang.getCppNamespace() << "::get" in GenerateGetKind()
289 OS << " return llvm::StringSwitch<" << Enum << ">(Str)\n"; in GenerateGetKind()
294 OS << " .Case(\"" << Rec.getName() << "\"," << Prefix in GenerateGetKind()
297 OS << " .Case(\"" << Rec.getName() << "\"," << Prefix in GenerateGetKind()
301 OS << " .Default(" << Prefix << DefaultRec.getFormattedName() << ");\n"; in GenerateGetKind()
302 OS << "}\n"; in GenerateGetKind()
307 raw_ostream &OS) { in GenerateGetKindClauseVal() argument
332 OS << "\n"; in GenerateGetKindClauseVal()
333 OS << EnumName << " llvm::" << DirLang.getCppNamespace() << "::get" in GenerateGetKindClauseVal()
335 OS << " return llvm::StringSwitch<" << EnumName << ">(Str)\n"; in GenerateGetKindClauseVal()
338 OS << " .Case(\"" << CVal.getFormattedName() << "\"," << CV->getName() in GenerateGetKindClauseVal()
341 OS << " .Default(" << DefaultName << ");\n"; in GenerateGetKindClauseVal()
342 OS << "}\n"; in GenerateGetKindClauseVal()
344 OS << "\n"; in GenerateGetKindClauseVal()
345 OS << "llvm::StringRef llvm::" << DirLang.getCppNamespace() << "::get" in GenerateGetKindClauseVal()
349 OS << " switch (x) {\n"; in GenerateGetKindClauseVal()
352 OS << " case " << CV->getName() << ":\n"; in GenerateGetKindClauseVal()
353 OS << " return \"" << CVal.getFormattedName() << "\";\n"; in GenerateGetKindClauseVal()
355 OS << " }\n"; // switch in GenerateGetKindClauseVal()
356 OS << " llvm_unreachable(\"Invalid " << DirLang.getName() << " " in GenerateGetKindClauseVal()
358 OS << "}\n"; in GenerateGetKindClauseVal()
363 raw_ostream &OS, StringRef DirectiveName, in GenerateCaseForVersionedClauses() argument
372 OS << " case " << DirLang.getClausePrefix() << ClauseFormattedName in GenerateCaseForVersionedClauses()
374 OS << " return " << VerClause.getMinVersion() in GenerateCaseForVersionedClauses()
382 raw_ostream &OS) { in GenerateIsAllowedClause() argument
383 OS << "\n"; in GenerateIsAllowedClause()
384 OS << "bool llvm::" << DirLang.getCppNamespace() in GenerateIsAllowedClause()
387 OS << " assert(unsigned(D) <= llvm::" << DirLang.getCppNamespace() in GenerateIsAllowedClause()
389 OS << " assert(unsigned(C) <= llvm::" << DirLang.getCppNamespace() in GenerateIsAllowedClause()
392 OS << " switch (D) {\n"; in GenerateIsAllowedClause()
397 OS << " case " << DirLang.getDirectivePrefix() << Dir.getFormattedName() in GenerateIsAllowedClause()
403 OS << " return false;\n"; in GenerateIsAllowedClause()
405 OS << " switch (C) {\n"; in GenerateIsAllowedClause()
409 GenerateCaseForVersionedClauses(Dir.getAllowedClauses(), OS, in GenerateIsAllowedClause()
412 GenerateCaseForVersionedClauses(Dir.getAllowedOnceClauses(), OS, in GenerateIsAllowedClause()
415 GenerateCaseForVersionedClauses(Dir.getAllowedExclusiveClauses(), OS, in GenerateIsAllowedClause()
418 GenerateCaseForVersionedClauses(Dir.getRequiredClauses(), OS, in GenerateIsAllowedClause()
421 OS << " default:\n"; in GenerateIsAllowedClause()
422 OS << " return false;\n"; in GenerateIsAllowedClause()
423 OS << " }\n"; // End of clauses switch in GenerateIsAllowedClause()
425 OS << " break;\n"; in GenerateIsAllowedClause()
428 OS << " }\n"; // End of directives switch in GenerateIsAllowedClause()
429 OS << " llvm_unreachable(\"Invalid " << DirLang.getName() in GenerateIsAllowedClause()
431 OS << "}\n"; // End of function isAllowedClauseForDirective in GenerateIsAllowedClause()
435 void GenerateClauseSet(const std::vector<Record *> &Clauses, raw_ostream &OS, in GenerateClauseSet() argument
439 OS << "\n"; in GenerateClauseSet()
440 OS << " static " << DirLang.getClauseEnumSetClass() << " " << ClauseSetPrefix in GenerateClauseSet()
445 OS << " llvm::" << DirLang.getCppNamespace() in GenerateClauseSet()
449 OS << " };\n"; in GenerateClauseSet()
454 raw_ostream &OS) { in GenerateDirectiveClauseSets() argument
456 IfDefScope Scope("GEN_FLANG_DIRECTIVE_CLAUSE_SETS", OS); in GenerateDirectiveClauseSets()
458 OS << "\n"; in GenerateDirectiveClauseSets()
459 OS << "namespace llvm {\n"; in GenerateDirectiveClauseSets()
465 OS << "namespace " << Ns << " {\n"; in GenerateDirectiveClauseSets()
470 OS << "\n"; in GenerateDirectiveClauseSets()
471 OS << " // Sets for " << Dir.getName() << "\n"; in GenerateDirectiveClauseSets()
473 GenerateClauseSet(Dir.getAllowedClauses(), OS, "allowedClauses_", Dir, in GenerateDirectiveClauseSets()
475 GenerateClauseSet(Dir.getAllowedOnceClauses(), OS, "allowedOnceClauses_", in GenerateDirectiveClauseSets()
477 GenerateClauseSet(Dir.getAllowedExclusiveClauses(), OS, in GenerateDirectiveClauseSets()
479 GenerateClauseSet(Dir.getRequiredClauses(), OS, "requiredClauses_", Dir, in GenerateDirectiveClauseSets()
485 OS << "} // namespace " << Ns << "\n"; in GenerateDirectiveClauseSets()
487 OS << "} // namespace llvm\n"; in GenerateDirectiveClauseSets()
494 raw_ostream &OS) { in GenerateDirectiveClauseMap() argument
496 IfDefScope Scope("GEN_FLANG_DIRECTIVE_CLAUSE_MAP", OS); in GenerateDirectiveClauseMap()
498 OS << "\n"; in GenerateDirectiveClauseMap()
499 OS << "{\n"; in GenerateDirectiveClauseMap()
503 OS << " {llvm::" << DirLang.getCppNamespace() in GenerateDirectiveClauseMap()
506 OS << " {\n"; in GenerateDirectiveClauseMap()
507 OS << " llvm::" << DirLang.getCppNamespace() << "::allowedClauses_" in GenerateDirectiveClauseMap()
509 OS << " llvm::" << DirLang.getCppNamespace() << "::allowedOnceClauses_" in GenerateDirectiveClauseMap()
511 OS << " llvm::" << DirLang.getCppNamespace() in GenerateDirectiveClauseMap()
514 OS << " llvm::" << DirLang.getCppNamespace() << "::requiredClauses_" in GenerateDirectiveClauseMap()
516 OS << " }\n"; in GenerateDirectiveClauseMap()
517 OS << " },\n"; in GenerateDirectiveClauseMap()
520 OS << "}\n"; in GenerateDirectiveClauseMap()
529 raw_ostream &OS) { in GenerateFlangClauseParserClass() argument
531 IfDefScope Scope("GEN_FLANG_CLAUSE_PARSER_CLASSES", OS); in GenerateFlangClauseParserClass()
533 OS << "\n"; in GenerateFlangClauseParserClass()
538 OS << "WRAPPER_CLASS(" << Clause.getFormattedParserClassName() << ", "; in GenerateFlangClauseParserClass()
540 OS << "std::optional<std::list<" << Clause.getFlangClass() << ">>"; in GenerateFlangClauseParserClass()
542 OS << "std::optional<" << Clause.getFlangClass() << ">"; in GenerateFlangClauseParserClass()
544 OS << "std::list<" << Clause.getFlangClass() << ">"; in GenerateFlangClauseParserClass()
546 OS << Clause.getFlangClass(); in GenerateFlangClauseParserClass()
549 OS << "EMPTY_CLASS(" << Clause.getFormattedParserClassName(); in GenerateFlangClauseParserClass()
551 OS << ");\n"; in GenerateFlangClauseParserClass()
557 raw_ostream &OS) { in GenerateFlangClauseParserClassList() argument
559 IfDefScope Scope("GEN_FLANG_CLAUSE_PARSER_CLASSES_LIST", OS); in GenerateFlangClauseParserClassList()
561 OS << "\n"; in GenerateFlangClauseParserClassList()
562 llvm::interleaveComma(DirLang.getClauses(), OS, [&](Record *C) { in GenerateFlangClauseParserClassList()
564 OS << Clause.getFormattedParserClassName() << "\n"; in GenerateFlangClauseParserClassList()
570 raw_ostream &OS) { in GenerateFlangClauseDump() argument
572 IfDefScope Scope("GEN_FLANG_DUMP_PARSE_TREE_CLAUSES", OS); in GenerateFlangClauseDump()
574 OS << "\n"; in GenerateFlangClauseDump()
577 OS << "NODE(" << DirLang.getFlangClauseBaseClass() << ", " in GenerateFlangClauseDump()
585 raw_ostream &OS) { in GenerateFlangClauseUnparse() argument
587 IfDefScope Scope("GEN_FLANG_CLAUSE_UNPARSE", OS); in GenerateFlangClauseUnparse()
589 OS << "\n"; in GenerateFlangClauseUnparse()
595 OS << "void Unparse(const " << DirLang.getFlangClauseBaseClass() in GenerateFlangClauseUnparse()
597 OS << " Word(\"" << Clause.getName().upper() << "\");\n"; in GenerateFlangClauseUnparse()
599 OS << " Walk(\"(\", x.v, \")\");\n"; in GenerateFlangClauseUnparse()
600 OS << "}\n"; in GenerateFlangClauseUnparse()
602 OS << "void Unparse(const " << DirLang.getFlangClauseBaseClass() in GenerateFlangClauseUnparse()
604 OS << " Word(\"" << Clause.getName().upper() << "\");\n"; in GenerateFlangClauseUnparse()
605 OS << " Put(\"(\");\n"; in GenerateFlangClauseUnparse()
606 OS << " if (x.v.has_value())\n"; in GenerateFlangClauseUnparse()
608 OS << " Walk(x.v, \",\");\n"; in GenerateFlangClauseUnparse()
610 OS << " Walk(x.v);\n"; in GenerateFlangClauseUnparse()
611 OS << " else\n"; in GenerateFlangClauseUnparse()
612 OS << " Put(\"" << Clause.getDefaultValue() << "\");\n"; in GenerateFlangClauseUnparse()
613 OS << " Put(\")\");\n"; in GenerateFlangClauseUnparse()
614 OS << "}\n"; in GenerateFlangClauseUnparse()
616 OS << "void Unparse(const " << DirLang.getFlangClauseBaseClass() in GenerateFlangClauseUnparse()
618 OS << " Word(\"" << Clause.getName().upper() << "\");\n"; in GenerateFlangClauseUnparse()
619 OS << " Put(\"(\");\n"; in GenerateFlangClauseUnparse()
621 OS << " Walk(x.v, \",\");\n"; in GenerateFlangClauseUnparse()
623 OS << " Walk(x.v);\n"; in GenerateFlangClauseUnparse()
624 OS << " Put(\")\");\n"; in GenerateFlangClauseUnparse()
625 OS << "}\n"; in GenerateFlangClauseUnparse()
628 OS << "void Before(const " << DirLang.getFlangClauseBaseClass() in GenerateFlangClauseUnparse()
637 raw_ostream &OS) { in GenerateFlangClauseCheckPrototypes() argument
639 IfDefScope Scope("GEN_FLANG_CLAUSE_CHECK_ENTER", OS); in GenerateFlangClauseCheckPrototypes()
641 OS << "\n"; in GenerateFlangClauseCheckPrototypes()
644 OS << "void Enter(const parser::" << DirLang.getFlangClauseBaseClass() in GenerateFlangClauseCheckPrototypes()
652 raw_ostream &OS) { in GenerateFlangClauseParserKindMap() argument
654 IfDefScope Scope("GEN_FLANG_CLAUSE_PARSER_KIND_MAP", OS); in GenerateFlangClauseParserKindMap()
656 OS << "\n"; in GenerateFlangClauseParserKindMap()
659 OS << "if constexpr (std::is_same_v<A, parser::" in GenerateFlangClauseParserKindMap()
662 OS << ">)\n"; in GenerateFlangClauseParserKindMap()
663 OS << " return llvm::" << DirLang.getCppNamespace() in GenerateFlangClauseParserKindMap()
668 OS << "llvm_unreachable(\"Invalid " << DirLang.getName() in GenerateFlangClauseParserKindMap()
680 raw_ostream &OS) { in GenerateFlangClausesParser() argument
685 IfDefScope Scope("GEN_FLANG_CLAUSES_PARSER", OS); in GenerateFlangClausesParser()
686 OS << "\n"; in GenerateFlangClausesParser()
689 OS << "TYPE_PARSER(\n"; in GenerateFlangClausesParser()
693 OS << " \"" << Clause.getName() << "\""; in GenerateFlangClausesParser()
695 OS << " (" in GenerateFlangClausesParser()
698 OS << " || \"" << alias << "\"_tok"; in GenerateFlangClausesParser()
700 OS << ")"; in GenerateFlangClausesParser()
703 OS << " >> construct<" << DirLang.getFlangClauseBaseClass() in GenerateFlangClausesParser()
707 OS << "))"; in GenerateFlangClausesParser()
709 OS << " ||"; in GenerateFlangClausesParser()
710 OS << "\n"; in GenerateFlangClausesParser()
716 OS << "maybe("; in GenerateFlangClausesParser()
717 OS << "parenthesized("; in GenerateFlangClausesParser()
720 OS << "\"" << Clause.getPrefix() << ":\" >> "; in GenerateFlangClausesParser()
735 OS << Parser; in GenerateFlangClausesParser()
737 OS << " || " << Parser; in GenerateFlangClausesParser()
738 OS << ")"; // close parenthesized(. in GenerateFlangClausesParser()
741 OS << ")"; in GenerateFlangClausesParser()
742 OS << "))"; in GenerateFlangClausesParser()
744 OS << " ||"; in GenerateFlangClausesParser()
745 OS << "\n"; in GenerateFlangClausesParser()
748 OS << ")\n"; in GenerateFlangClausesParser()
754 raw_ostream &OS) { in EmitDirectivesFlangImpl() argument
756 GenerateDirectiveClauseSets(DirLang, OS); in EmitDirectivesFlangImpl()
758 GenerateDirectiveClauseMap(DirLang, OS); in EmitDirectivesFlangImpl()
760 GenerateFlangClauseParserClass(DirLang, OS); in EmitDirectivesFlangImpl()
762 GenerateFlangClauseParserClassList(DirLang, OS); in EmitDirectivesFlangImpl()
764 GenerateFlangClauseDump(DirLang, OS); in EmitDirectivesFlangImpl()
766 GenerateFlangClauseUnparse(DirLang, OS); in EmitDirectivesFlangImpl()
768 GenerateFlangClauseCheckPrototypes(DirLang, OS); in EmitDirectivesFlangImpl()
770 GenerateFlangClauseParserKindMap(DirLang, OS); in EmitDirectivesFlangImpl()
772 GenerateFlangClausesParser(DirLang, OS); in EmitDirectivesFlangImpl()
776 raw_ostream &OS) { in GenerateClauseClassMacro() argument
778 IfDefScope Scope("GEN_CLANG_CLAUSE_CLASS", OS); in GenerateClauseClassMacro()
780 OS << "\n"; in GenerateClauseClassMacro()
782 OS << "#ifndef CLAUSE\n"; in GenerateClauseClassMacro()
783 OS << "#define CLAUSE(Enum, Str, Implicit)\n"; in GenerateClauseClassMacro()
784 OS << "#endif\n"; in GenerateClauseClassMacro()
785 OS << "#ifndef CLAUSE_CLASS\n"; in GenerateClauseClassMacro()
786 OS << "#define CLAUSE_CLASS(Enum, Str, Class)\n"; in GenerateClauseClassMacro()
787 OS << "#endif\n"; in GenerateClauseClassMacro()
788 OS << "#ifndef CLAUSE_NO_CLASS\n"; in GenerateClauseClassMacro()
789 OS << "#define CLAUSE_NO_CLASS(Enum, Str)\n"; in GenerateClauseClassMacro()
790 OS << "#endif\n"; in GenerateClauseClassMacro()
791 OS << "\n"; in GenerateClauseClassMacro()
792 OS << "#define __CLAUSE(Name, Class) \\\n"; in GenerateClauseClassMacro()
793 OS << " CLAUSE(" << DirLang.getClausePrefix() in GenerateClauseClassMacro()
795 OS << " CLAUSE_CLASS(" << DirLang.getClausePrefix() in GenerateClauseClassMacro()
797 OS << "#define __CLAUSE_NO_CLASS(Name) \\\n"; in GenerateClauseClassMacro()
798 OS << " CLAUSE(" << DirLang.getClausePrefix() in GenerateClauseClassMacro()
800 OS << " CLAUSE_NO_CLASS(" << DirLang.getClausePrefix() << "##Name, #Name)\n"; in GenerateClauseClassMacro()
801 OS << "#define __IMPLICIT_CLAUSE_CLASS(Name, Str, Class) \\\n"; in GenerateClauseClassMacro()
802 OS << " CLAUSE(" << DirLang.getClausePrefix() in GenerateClauseClassMacro()
804 OS << " CLAUSE_CLASS(" << DirLang.getClausePrefix() in GenerateClauseClassMacro()
806 OS << "#define __IMPLICIT_CLAUSE_NO_CLASS(Name, Str) \\\n"; in GenerateClauseClassMacro()
807 OS << " CLAUSE(" << DirLang.getClausePrefix() in GenerateClauseClassMacro()
809 OS << " CLAUSE_NO_CLASS(" << DirLang.getClausePrefix() << "##Name, Str)\n"; in GenerateClauseClassMacro()
810 OS << "\n"; in GenerateClauseClassMacro()
816 OS << "__IMPLICIT_CLAUSE_NO_CLASS(" << C.getFormattedName() << ", \"" in GenerateClauseClassMacro()
819 OS << "__CLAUSE_NO_CLASS(" << C.getFormattedName() << ")\n"; in GenerateClauseClassMacro()
823 OS << "__IMPLICIT_CLAUSE_CLASS(" << C.getFormattedName() << ", \"" in GenerateClauseClassMacro()
826 OS << "__CLAUSE(" << C.getFormattedName() << ", " << C.getClangClass() in GenerateClauseClassMacro()
832 OS << "\n"; in GenerateClauseClassMacro()
833 OS << "#undef __IMPLICIT_CLAUSE_NO_CLASS\n"; in GenerateClauseClassMacro()
834 OS << "#undef __IMPLICIT_CLAUSE_CLASS\n"; in GenerateClauseClassMacro()
835 OS << "#undef __CLAUSE\n"; in GenerateClauseClassMacro()
836 OS << "#undef CLAUSE_NO_CLASS\n"; in GenerateClauseClassMacro()
837 OS << "#undef CLAUSE_CLASS\n"; in GenerateClauseClassMacro()
838 OS << "#undef CLAUSE\n"; in GenerateClauseClassMacro()
844 raw_ostream &OS) { in EmitDirectivesBasicImpl() argument
845 IfDefScope Scope("GEN_DIRECTIVES_IMPL", OS); in EmitDirectivesBasicImpl()
848 GenerateGetKind(DirLang.getDirectives(), OS, "Directive", DirLang, in EmitDirectivesBasicImpl()
852 GenerateGetName(DirLang.getDirectives(), OS, "Directive", DirLang, in EmitDirectivesBasicImpl()
856 GenerateGetKind(DirLang.getClauses(), OS, "Clause", DirLang, in EmitDirectivesBasicImpl()
861 GenerateGetName(DirLang.getClauses(), OS, "Clause", DirLang, in EmitDirectivesBasicImpl()
865 GenerateGetKindClauseVal(DirLang, OS); in EmitDirectivesBasicImpl()
868 GenerateIsAllowedClause(DirLang, OS); in EmitDirectivesBasicImpl()
873 void EmitDirectivesImpl(RecordKeeper &Records, raw_ostream &OS) { in EmitDirectivesImpl() argument
878 EmitDirectivesFlangImpl(DirLang, OS); in EmitDirectivesImpl()
880 GenerateClauseClassMacro(DirLang, OS); in EmitDirectivesImpl()
882 EmitDirectivesBasicImpl(DirLang, OS); in EmitDirectivesImpl()