[Lldb-commits] [PATCH] D50478: Add support for artificial tail call frames
Vedant Kumar via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Aug 24 10:39:57 PDT 2018
vsk added inline comments.
================
Comment at: lldb/include/lldb/Symbol/Function.h:331
+ /// \ref resolved.
+ union {
+ const char *mangled_name;
----------------
aprantl wrote:
> `llvm::PointerUnion` ?
It's not possible to use PointerUnion here because `const char *` has 1-byte alignment. There's no space in the pointer to store a discriminator bit.
================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:3757
+ // For now, assume that all entries are nested directly under the subprogram
+ // (this is the kind of DWARF LLVM produces) and parse them eagerly.
+ std::vector<CallEdge> call_edges;
----------------
sgraenitz wrote:
> Does any of the tests fail in case LLVM DWARFs change? Or is it very unlikely?
Yes, the tests in this patch would fail if TAG_call_site entries were nested within the nearest enclosing lexical block (as specified by DWARF 5). We would have a heads-up about such a breaking change. That said, it's unlikely to catch us by surprise, because we control the LLVM DWARF producer (see https://reviews.llvm.org/D49887).
https://reviews.llvm.org/D50478
More information about the lldb-commits
mailing list