1 #include "TableGenBackends.h" 2 #include "llvm/TableGen/Record.h" 3 #include "llvm/TableGen/TableGenBackend.h" 4 5 using namespace llvm; 6 7 void clang::EmitClangDataCollectors(RecordKeeper &RK, raw_ostream &OS) { 8 const auto &Defs = RK.getClasses(); 9 for (const auto &Entry : Defs) { 10 Record &R = *Entry.second; 11 OS << "DEF_ADD_DATA(" << R.getName() << ", {\n"; 12 auto Code = R.getValue("Code")->getValue(); 13 OS << Code->getAsUnquotedString() << "}\n)"; 14 OS << "\n"; 15 } 16 OS << "#undef DEF_ADD_DATA\n"; 17 } 18