[clangd][clang-tidy] Remove uses of `std::vector<bool>`

LLVM Programmer’s Manual strongly discourages the use of `std::vector<bool>` and suggests `llvm::BitVector` as a possible replacement.

This patch does just that for clangd and clang-tidy.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D117119
This commit is contained in:
Jan Svoboda 2022-01-18 17:58:57 +01:00
parent fa596fb077
commit c6fb636667
2 changed files with 4 additions and 2 deletions

View File

@ -29,6 +29,7 @@
#include "clang/Lex/Lexer.h"
#include "clang/Tooling/Core/Diagnostic.h"
#include "clang/Tooling/Core/Replacement.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringMap.h"
@ -863,7 +864,7 @@ void ClangTidyDiagnosticConsumer::removeIncompatibleErrors() {
}
}
std::vector<bool> Apply(ErrorFixes.size(), true);
llvm::BitVector Apply(ErrorFixes.size(), true);
for (auto &FileAndEvents : FileEvents) {
std::vector<Event> &Events = FileAndEvents.second;
// Sweep.

View File

@ -24,6 +24,7 @@
#include "clang/Basic/TokenKinds.h"
#include "clang/Lex/Lexer.h"
#include "clang/Tooling/Syntax/Tokens.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/Casting.h"
@ -260,7 +261,7 @@ public:
});
auto Sel = llvm::makeArrayRef(SelFirst, SelLimit);
// Find which of these are preprocessed to nothing and should be ignored.
std::vector<bool> PPIgnored(Sel.size(), false);
llvm::BitVector PPIgnored(Sel.size(), false);
for (const syntax::TokenBuffer::Expansion &X :
Buf.expansionsOverlapping(Sel)) {
if (X.Expanded.empty()) {