[flang-commits] [flang] 9552693 - [flang] Fix new assertion failure
Peter Klausler via flang-commits
flang-commits at lists.llvm.org
Mon Feb 13 07:35:24 PST 2023
Author: Peter Klausler
Date: 2023-02-13T07:34:55-08:00
New Revision: 95526930da6c00f6f12816d1f99bdf99980c387f
URL: https://github.com/llvm/llvm-project/commit/95526930da6c00f6f12816d1f99bdf99980c387f
DIFF: https://github.com/llvm/llvm-project/commit/95526930da6c00f6f12816d1f99bdf99980c387f.diff
LOG: [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
Added:
Modified:
flang/lib/Parser/token-sequence.cpp
Removed:
################################################################################
diff --git a/flang/lib/Parser/token-sequence.cpp b/flang/lib/Parser/token-sequence.cpp
index 55217a95dfb9d..a3b97d32fa229 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 {
More information about the flang-commits
mailing list