[PATCH] D65189: [MC] Support returning a structured rich disassembly output
Seiya Nuta via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 30 05:11:45 PDT 2019
seiya marked an inline comment as done.
seiya added inline comments.
================
Comment at: llvm/include/llvm/MC/MCInstPrinter.h:63
+ // InnerSpans contains one MarkupSpan which represents `<reg:%rip>`.
+ std::unique_ptr<std::vector<MarkupSpan>> InnerSpans;
+
----------------
jhenderson wrote:
> Why is this a unique_ptr? Can't you just have a std::vector here directly?
I think it should be a unique_ptr to prevent dangling pointer reference here:
```lang=cpp
auto *InnerSpans =
const_cast<std::vector<MarkupSpan> *>(Span.InnerSpans.get());
M.State.Spans.back()->push_back(std::move(Span));
// Span is now moved to the "M.State.Spans.back()" but InnerSpans is still valid
// since Span.InnerSpans is an unique_ptr.
M.State.Spans.push_back(InnerSpans);
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65189/new/
https://reviews.llvm.org/D65189
More information about the llvm-commits
mailing list