[PATCH] D116826: Initialize output parameters
Vitaly Buka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 7 11:00:50 PST 2022
vitalybuka created this revision.
vitalybuka added reviewers: kda, eugenis.
Herald added subscribers: dexonsmith, hiraditya.
vitalybuka requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
If the function returns true, it should
set all output paremeters, similar to Output::preflightElement, or we
have UB on code like:
void *SaveInfo;
if (io.preflightFlowElement(i, SaveInfo))
io.postflightFlowElement(SaveInfo);
It's going to be detected by msan with:
-Xclang -enable-noundef-analysis -mllvm -msan-eager-checks=1
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D116826
Files:
llvm/lib/Support/YAMLTraits.cpp
Index: llvm/lib/Support/YAMLTraits.cpp
===================================================================
--- llvm/lib/Support/YAMLTraits.cpp
+++ llvm/lib/Support/YAMLTraits.cpp
@@ -629,7 +629,7 @@
outputUpToEndOfLine(" ]");
}
-bool Output::preflightFlowElement(unsigned, void *&) {
+bool Output::preflightFlowElement(unsigned, void *&SaveInfo) {
if (NeedFlowSequenceComma)
output(", ");
if (WrapColumn && Column > WrapColumn) {
@@ -639,6 +639,7 @@
Column = ColumnAtFlowStart;
output(" ");
}
+ SaveInfo = nullptr;
return true;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116826.398197.patch
Type: text/x-patch
Size: 568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220107/fcefdeb7/attachment.bin>
More information about the llvm-commits
mailing list