diff options
Diffstat (limited to 'tools/diagtool')
-rw-r--r-- | tools/diagtool/DiagnosticNames.cpp | 4 | ||||
-rw-r--r-- | tools/diagtool/DiagnosticNames.h | 11 | ||||
-rw-r--r-- | tools/diagtool/TreeView.cpp | 3 |
3 files changed, 9 insertions, 9 deletions
diff --git a/tools/diagtool/DiagnosticNames.cpp b/tools/diagtool/DiagnosticNames.cpp index fa510eb6ec..34c3229c6e 100644 --- a/tools/diagtool/DiagnosticNames.cpp +++ b/tools/diagtool/DiagnosticNames.cpp @@ -73,6 +73,10 @@ static const GroupRecord OptionTable[] = { #undef GET_DIAG_TABLE }; +llvm::StringRef GroupRecord::getName() const { + return StringRef(DiagGroupNames + NameOffset + 1, DiagGroupNames[NameOffset]); +} + GroupRecord::subgroup_iterator GroupRecord::subgroup_begin() const { return DiagSubGroups + SubGroups; } diff --git a/tools/diagtool/DiagnosticNames.h b/tools/diagtool/DiagnosticNames.h index 957a1818e8..a3321fa681 100644 --- a/tools/diagtool/DiagnosticNames.h +++ b/tools/diagtool/DiagnosticNames.h @@ -35,14 +35,11 @@ namespace diagtool { struct GroupRecord { - const char *NameStr; - uint16_t NameLen; + uint16_t NameOffset; uint16_t Members; uint16_t SubGroups; - llvm::StringRef getName() const { - return llvm::StringRef(NameStr, NameLen); - } + llvm::StringRef getName() const; template<typename RecordType> class group_iterator { @@ -94,8 +91,8 @@ namespace diagtool { diagnostics_iterator diagnostics_begin() const; diagnostics_iterator diagnostics_end() const; - bool operator<(const GroupRecord &Other) const { - return getName() < Other.getName(); + bool operator<(llvm::StringRef Other) const { + return getName() < Other; } }; diff --git a/tools/diagtool/TreeView.cpp b/tools/diagtool/TreeView.cpp index 10809c1d8d..fd548ef011 100644 --- a/tools/diagtool/TreeView.cpp +++ b/tools/diagtool/TreeView.cpp @@ -99,9 +99,8 @@ static int showGroup(llvm::raw_ostream &out, StringRef RootGroup, return 1; } - GroupRecord Key = { RootGroup.data(), (uint16_t)RootGroup.size(), 0, 0 }; const GroupRecord *Found = - std::lower_bound(AllGroups.begin(), AllGroups.end(), Key); + std::lower_bound(AllGroups.begin(), AllGroups.end(), RootGroup); if (Found == AllGroups.end() || Found->getName() != RootGroup) { llvm::errs() << "No such diagnostic group exists\n"; |