diff --git a/llvm/utils/TableGen/Basic/SequenceToOffsetTable.h b/llvm/utils/TableGen/Basic/SequenceToOffsetTable.h index 09100b39650d81..497e74afc18ec9 100644 --- a/llvm/utils/TableGen/Basic/SequenceToOffsetTable.h +++ b/llvm/utils/TableGen/Basic/SequenceToOffsetTable.h @@ -15,20 +15,20 @@ #ifndef LLVM_UTILS_TABLEGEN_BASIC_SEQUENCETOOFFSETTABLE_H #define LLVM_UTILS_TABLEGEN_BASIC_SEQUENCETOOFFSETTABLE_H +#include "llvm/ADT/StringExtras.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/raw_ostream.h" #include #include -#include #include #include namespace llvm { -extern llvm::cl::opt EmitLongStrLiterals; +extern cl::opt EmitLongStrLiterals; -static inline void printChar(raw_ostream &OS, char C) { +inline void printChar(raw_ostream &OS, char C) { unsigned char UC(C); - if (isalnum(UC) || ispunct(UC)) { + if (isAlnum(UC) || isPunct(UC)) { OS << '\''; if (C == '\\' || C == '\'') OS << '\\'; @@ -126,7 +126,7 @@ class SequenceToOffsetTable { /// initializer, where each element is a C string literal terminated by /// `\0`. Falls back to emitting a comma-separated integer list if /// `EmitLongStrLiterals` is false - void emitStringLiteralDef(raw_ostream &OS, const llvm::Twine &Decl) const { + void emitStringLiteralDef(raw_ostream &OS, const Twine &Decl) const { assert(Entries && "Call layout() before emitStringLiteralDef()"); if (!EmitLongStrLiterals) { OS << Decl << " = {\n"; @@ -140,9 +140,9 @@ class SequenceToOffsetTable { << "#pragma GCC diagnostic ignored \"-Woverlength-strings\"\n" << "#endif\n" << Decl << " = {\n"; - for (auto I : Seqs) { - OS << " /* " << I.second << " */ \""; - OS.write_escaped(I.first); + for (const auto &[Seq, Offset] : Seqs) { + OS << " /* " << Offset << " */ \""; + OS.write_escaped(Seq); OS << "\\0\"\n"; } OS << "};\n" @@ -156,13 +156,10 @@ class SequenceToOffsetTable { void emit(raw_ostream &OS, void (*Print)(raw_ostream &, ElemT), const char *Term = "0") const { assert((empty() || Entries) && "Call layout() before emit()"); - for (typename SeqMap::const_iterator I = Seqs.begin(), E = Seqs.end(); - I != E; ++I) { - OS << " /* " << I->second << " */ "; - for (typename SeqT::const_iterator SI = I->first.begin(), - SE = I->first.end(); - SI != SE; ++SI) { - Print(OS, *SI); + for (const auto &[Seq, Offset] : Seqs) { + OS << " /* " << Offset << " */ "; + for (const ElemT &Element : Seq) { + Print(OS, Element); OS << ", "; } OS << Term << ",\n";