LLVM Programmer’s Manual strongly discourages the use of std::vector<bool> and suggests llvm::BitVector as a possible replacement.
This patch replaces std::vector<bool> with llvm::BitVector in the Format library and replaces range-based for loop with regular for loop. This is necessary due to llvm::BitVector not having begin() and end() (D117116).