[Lldb-commits] [PATCH] D49990: Use rich mangling information in Symtab::InitNameIndexes()
Stefan Gränitz via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 30 11:41:59 PDT 2018
sgraenitz added inline comments.
================
Comment at: source/Symbol/Symtab.cpp:274
+ case ItaniumPartialDemangler:
+ m_IPD_buf = m_IPD->getFunctionBaseName(m_IPD_buf, &m_IPD_size);
+ return m_IPD_buf;
----------------
erik.pilkington wrote:
> sgraenitz wrote:
> > @erik.pilkington Is it acceptable/good practice to pass `(nullptr, 0)` here? At the moment this safes some lines of initialization checks for `m_IPD_buf` and `m_IPD_size`.
> Sure, thats fine! Those parameters act the same way as `buf` and `size` in __cxa_demangle.
>
> `getFunctionBaseName` will return nullptr if the mangled name isn't a function. Is it a precondition of this function that m_IPD stores a function? If not, it looks like you'll leak the buffer.
Oh that is a very good note. I had it as a precondition in the client function in Symtab. When I removed that and started to just check the result for `nullptr`, I didn't think about the buffer. Gonna fix it, the generalized interface shouldn't have that precondition anyway. Thanks!
https://reviews.llvm.org/D49990
More information about the lldb-commits
mailing list