summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-02-06 20:19:02 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-02-06 20:19:02 +0000
commitefc4eba816264a4e109b4ee49ffb38ba1ae1a1a8 (patch)
tree7d60a8b375d26e0682eea6a9e5b1c7525748b7f8 /llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
parent1b4eed4c1e11ea5f51b00ad18cbc45c4169ba8a4 (diff)
downloadbcm5719-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.cpp4
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);
OpenPOWER on IntegriCloud