diff options
author | Peter Klausler <pklausler@nvidia.com> | 2023-02-08 10:25:44 -0800 |
---|---|---|
committer | Peter Klausler <pklausler@nvidia.com> | 2023-02-13 07:34:55 -0800 |
commit | 95526930da6c00f6f12816d1f99bdf99980c387f (patch) | |
tree | 84220dce7b688e825810ed09f0b0773f22ce9f62 /flang/lib/Parser/token-sequence.cpp | |
parent | bbff77a14ef2e36a7fda9e0bda3c256be503865a (diff) | |
download | llvm-95526930da6c00f6f12816d1f99bdf99980c387f.zip llvm-95526930da6c00f6f12816d1f99bdf99980c387f.tar.gz llvm-95526930da6c00f6f12816d1f99bdf99980c387f.tar.bz2 |
[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
Diffstat (limited to 'flang/lib/Parser/token-sequence.cpp')
-rw-r--r-- | flang/lib/Parser/token-sequence.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
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 { |