]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / contrib / llvm-project / clang / utils / TableGen / ClangDataCollectorsEmitter.cpp
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 }