Skip to content

Commit 387ef59

Browse files
authored
[clang][TableGen] Change TypeNodesEmitter to use const RecordKeeper (#108476)
Change TypeNodesEmitter 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
1 parent 326287f commit 387ef59

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

clang/utils/TableGen/ClangTypeNodesEmitter.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,15 @@ using namespace clang::tblgen;
7474

7575
namespace {
7676
class TypeNodeEmitter {
77-
RecordKeeper &Records;
77+
const RecordKeeper &Records;
7878
raw_ostream &Out;
79-
const std::vector<Record*> Types;
79+
ArrayRef<const Record *> Types;
8080
std::vector<StringRef> MacrosToUndef;
8181

8282
public:
83-
TypeNodeEmitter(RecordKeeper &records, raw_ostream &out)
84-
: Records(records), Out(out),
85-
Types(Records.getAllDerivedDefinitions(TypeNodeClassName)) {
86-
}
83+
TypeNodeEmitter(const RecordKeeper &records, raw_ostream &out)
84+
: Records(records), Out(out),
85+
Types(Records.getAllDerivedDefinitions(TypeNodeClassName)) {}
8786

8887
void emit();
8988

@@ -203,6 +202,6 @@ void TypeNodeEmitter::emitUndefs() {
203202
}
204203
}
205204

206-
void clang::EmitClangTypeNodes(RecordKeeper &records, raw_ostream &out) {
205+
void clang::EmitClangTypeNodes(const RecordKeeper &records, raw_ostream &out) {
207206
TypeNodeEmitter(records, out).emit();
208207
}

clang/utils/TableGen/TableGenBackends.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ void EmitClangBasicReader(const llvm::RecordKeeper &Records,
3939
llvm::raw_ostream &OS);
4040
void EmitClangBasicWriter(const llvm::RecordKeeper &Records,
4141
llvm::raw_ostream &OS);
42-
void EmitClangTypeNodes(llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
42+
void EmitClangTypeNodes(const llvm::RecordKeeper &Records,
43+
llvm::raw_ostream &OS);
4344
void EmitClangTypeReader(const llvm::RecordKeeper &Records,
4445
llvm::raw_ostream &OS);
4546
void EmitClangTypeWriter(const llvm::RecordKeeper &Records,

0 commit comments

Comments
 (0)