diff options
author | David Blaikie <dblaikie@gmail.com> | 2017-02-06 20:19:02 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2017-02-06 20:19:02 +0000 |
commit | efc4eba816264a4e109b4ee49ffb38ba1ae1a1a8 (patch) | |
tree | 7d60a8b375d26e0682eea6a9e5b1c7525748b7f8 /llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | |
parent | 1b4eed4c1e11ea5f51b00ad18cbc45c4169ba8a4 (diff) | |
download | bcm5719-llvm-efc4eba816264a4e109b4ee49ffb38ba1ae1a1a8.tar.gz bcm5719-llvm-efc4eba816264a4e109b4ee49ffb38ba1ae1a1a8.zip |
Get function start line number from DWARF info
DWARF info contains info about the line number at which a function starts (DW_AT_decl_line).
This patch creates a function to look up the start line number for a function, and returns it in
DILineInfo when looking up debug info for a particular address.
Patch by Simon Que!
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D27962
llvm-svn: 294231
Diffstat (limited to 'llvm/lib/DebugInfo/DWARF/DWARFDie.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp index 9a05ae8d38a..6949366323b 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp @@ -291,6 +291,10 @@ DWARFDie::getName(DINameKind Kind) const { return nullptr; } +uint64_t DWARFDie::getDeclLine() const { + return toUnsigned(findRecursively(DW_AT_decl_line), 0); +} + void DWARFDie::getCallerFrame(uint32_t &CallFile, uint32_t &CallLine, uint32_t &CallColumn) const { CallFile = toUnsigned(find(DW_AT_call_file), 0); |