llvm-symbolizer: Handle function definitions nested within other functions
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 1 May 2018 18:08:45 +0000 (18:08 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 1 May 2018 18:08:45 +0000 (18:08 +0000)
commitaa537da89f0b51e2a6c1b317da0b11fcedd5025e
treed15361c41953b83737962242a08977ec1041ae78
parentc708868cb15bbeaecc10ca9e92c7060fc3d3390a
llvm-symbolizer: Handle function definitions nested within other functions

LLVM always puts function definition DIEs at the top level, but under
some circumstances GCC does not (at least in this case with member
functions of a function-local type).

To ensure that doesn't appear as though the local type's member function
is unduly inlined within the outer function - ensure the inline
discovery DIE parent walk stops at the first DW_TAG_subprogram.

llvm-svn: 331291
llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
llvm/test/DebugInfo/Inputs/llvm-symbolizer-local-mem-func-gcc.elf-x86-64 [new file with mode: 0755]
llvm/test/DebugInfo/llvm-symbolizer.test