Don't compute the address of element [0] of a vector when the vector
is empty, even if the address is not used.
Differential Revision: https://reviews.llvm.org/D143824
}
void TokenSequence::Emit(CookedSource &cooked) const {
- cooked.Put(&char_[0], char_.size());
- cooked.PutProvenanceMappings(provenances_);
+ if (auto n{char_.size()}) {
+ cooked.Put(&char_[0], n);
+ cooked.PutProvenanceMappings(provenances_);
+ }
}
llvm::raw_ostream &TokenSequence::Dump(llvm::raw_ostream &o) const {