Files
clang-p2996/clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
Rahul Joshi 07dc9b838e [clang][TableGen] Change DataCollector to use const RecordKeeper (#108203)
Change DataCollectors Emitter to use const RecordKeeper.

This is a part of effort to have better const correctness in TableGen
backends:


https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
2024-09-11 10:50:57 -07:00

18 lines
519 B
C++

#include "TableGenBackends.h"
#include "llvm/TableGen/Record.h"
#include "llvm/TableGen/TableGenBackend.h"
using namespace llvm;
void clang::EmitClangDataCollectors(const RecordKeeper &RK, raw_ostream &OS) {
const auto &Defs = RK.getClasses();
for (const auto &Entry : Defs) {
Record &R = *Entry.second;
OS << "DEF_ADD_DATA(" << R.getName() << ", {\n";
auto Code = R.getValue("Code")->getValue();
OS << Code->getAsUnquotedString() << "}\n)";
OS << "\n";
}
OS << "#undef DEF_ADD_DATA\n";
}