From 95526930da6c00f6f12816d1f99bdf99980c387f Mon Sep 17 00:00:00 2001 From: Peter Klausler Date: Wed, 8 Feb 2023 10:25:44 -0800 Subject: [flang] Fix new assertion failure 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 --- flang/lib/Parser/token-sequence.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'flang/lib/Parser/token-sequence.cpp') diff --git a/flang/lib/Parser/token-sequence.cpp b/flang/lib/Parser/token-sequence.cpp index 55217a9..a3b97d3 100644 --- a/flang/lib/Parser/token-sequence.cpp +++ b/flang/lib/Parser/token-sequence.cpp @@ -264,8 +264,10 @@ TokenSequence &TokenSequence::ClipComment(bool skipFirst) { } 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 { -- cgit v1.1