HomePhabricator

ManualDWARFIndex: Treat DW_TAG_subprogram and DW_TAG_inlined_subroutine the…

Description

ManualDWARFIndex: Treat DW_TAG_subprogram and DW_TAG_inlined_subroutine the same way

Summary:
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).

Reviewers: clayborg, JDevlieghere

Subscribers: eraman, lldb-commits

Differential Revision: https://reviews.llvm.org/D47368

Details

Committed
labathMay 29 2018, 1:16 AM
Differential Revision
D47368: ManualDWARFIndex: Treat DW_TAG_subprogram and DW_TAG_inlined_subroutine the same way
Branches
Unknown
Tags
Unknown