[Lldb-commits] [PATCH] D47368: ManualDWARFIndex: Treat DW_TAG_subprogram and DW_TAG_inlined_subroutine the same way

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri May 25 05:16:15 PDT 2018


labath created this revision.
labath added reviewers: clayborg, JDevlieghere.
Herald added a subscriber: eraman.

We were treating subprograms and inlined subroutines differently when
building the index. The difference was in which indexes were individual
tags inserted (subprograms went to all indexes, where as inlined
subroutines only into the basename and full name indexes).

This seems like an error, because an inlined subroutine can still
represent an C++ or an ObjC method. I don't see anything in the
subprogram branch which should not apply to an inlined subroutine, so I
propose to just treat them identically. This makes searching for an
inlined method behave the same way as for the apple index.

I write an assembly-based test because I did not want to depend on
particular clang inlining behavior (and because I wanted to see how hard
would it be).


https://reviews.llvm.org/D47368

Files:
  lit/SymbolFile/DWARF/find-inline-method.s
  lit/SymbolFile/DWARF/lit.local.cfg
  source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47368.148589.patch
Type: text/x-patch
Size: 8098 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180525/715b721c/attachment.bin>


More information about the lldb-commits mailing list