]> granicus.if.org Git - llvm/commit
Turn local DWARFContext helpers getFileNameForUnit() and getFileLineInfoForCompileUni...
authorFrederic Riss <friss@apple.com>
Fri, 19 Sep 2014 15:11:51 +0000 (15:11 +0000)
committerFrederic Riss <friss@apple.com>
Fri, 19 Sep 2014 15:11:51 +0000 (15:11 +0000)
commitb9f4e7d6e937de7725095b61b24c69b9d323b18d
tree16fa4900a2de314cf0b2bcc0e106d005c28141c9
parentb845a6fe6d6ff09e935f6c9fe09e9b672b1290cd
Turn local DWARFContext helpers getFileNameForUnit() and getFileLineInfoForCompileUnit() into full-blowm DWARFDebugLine::LineTable methods.

Summary:
getFileNameForUnit() is basically a wrapper around LineTable::getFileNameByIndex().
Fold its additional functionality (adding the DWARFUnit compilation dir) into
LineTable::getFileNameByIndex().

getFileLineInfoForCompileUnit() is a wrapper around getFileNameForUnit(). As
a function to search the line information by address, it seems natural to put
it in the LineTable also.

Before this commit only the Context with its private helpers could do Linetable
lookups. This newly exposed feature will be used by the DIE dumping code to
get access to file information referenced in DIE attributes.

This commit has already been partly reviewed in D5192 and contained an
additional and a bit controversial 'realpath' call that is left out of this
patch. We can reinstate that realpath code later if it is desirable.

Test Plan:
The patch contains no tests as it should be functionally equivalent to the
previous code. As requested in the last review, I checked if the relative
path handling copied from the Context to LineTable::getFileNameByIndex()
was covered, and indeed the symbolizer tests fail if it is removed.

Reviewers: dblaikie, echristo, aprantl, samsonov

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D5354

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218125 91177308-0d34-0410-b5e6-96231b3b80d8
lib/DebugInfo/DWARFContext.cpp
lib/DebugInfo/DWARFDebugLine.cpp
lib/DebugInfo/DWARFDebugLine.h