From 1711064e1fd91529f357c1dd0135e4e0d548c5a1 Mon Sep 17 00:00:00 2001 From: Frederic Riss Date: Thu, 4 Sep 2014 06:14:40 +0000 Subject: [PATCH] Rename DWARFContext::getLineTableForCompileUnit to getLineTableForUnit. All DWARFUnits can have line information. Rename and change arguments' type accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217130 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/DebugInfo/DWARFContext.cpp | 34 +++++++++++++++++----------------- lib/DebugInfo/DWARFContext.h | 3 +-- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/lib/DebugInfo/DWARFContext.cpp b/lib/DebugInfo/DWARFContext.cpp index 4a57613e425..404a1e0dfd3 100644 --- a/lib/DebugInfo/DWARFContext.cpp +++ b/lib/DebugInfo/DWARFContext.cpp @@ -291,7 +291,7 @@ const DWARFDebugFrame *DWARFContext::getDebugFrame() { } const DWARFLineTable * -DWARFContext::getLineTableForCompileUnit(DWARFCompileUnit *cu) { +DWARFContext::getLineTableForUnit(DWARFUnit *cu) { if (!Line) Line.reset(new DWARFDebugLine(&getLineSection().Relocs)); @@ -425,18 +425,18 @@ DWARFCompileUnit *DWARFContext::getCompileUnitForAddress(uint64_t Address) { return getCompileUnitForOffset(CUOffset); } -static bool getFileNameForCompileUnit(DWARFCompileUnit *CU, - const DWARFLineTable *LineTable, - uint64_t FileIndex, FileLineInfoKind Kind, - std::string &FileName) { - if (!CU || !LineTable || Kind == FileLineInfoKind::None || +static bool getFileNameForUnit(DWARFCompileUnit *U, + const DWARFLineTable *LineTable, + uint64_t FileIndex, FileLineInfoKind Kind, + std::string &FileName) { + if (!U || !LineTable || Kind == FileLineInfoKind::None || !LineTable->getFileNameByIndex(FileIndex, Kind, FileName)) return false; if (Kind == FileLineInfoKind::AbsoluteFilePath && sys::path::is_relative(FileName)) { // We may still need to append compilation directory of compile unit. SmallString<16> AbsolutePath; - if (const char *CompilationDir = CU->getCompilationDir()) { + if (const char *CompilationDir = U->getCompilationDir()) { sys::path::append(AbsolutePath, CompilationDir); } sys::path::append(AbsolutePath, FileName); @@ -458,8 +458,8 @@ static bool getFileLineInfoForCompileUnit(DWARFCompileUnit *CU, return false; // Take file number and line/column from the row. const DWARFDebugLine::Row &Row = LineTable->Rows[RowIndex]; - if (!getFileNameForCompileUnit(CU, LineTable, Row.File, Kind, - Result.FileName)) + if (!getFileNameForUnit(CU, LineTable, Row.File, Kind, + Result.FileName)) return false; Result.Line = Row.Line; Result.Column = Row.Column; @@ -496,7 +496,7 @@ DILineInfo DWARFContext::getLineInfoForAddress(uint64_t Address, return Result; getFunctionNameForAddress(CU, Address, Spec.FNKind, Result.FunctionName); if (Spec.FLIKind != FileLineInfoKind::None) { - const DWARFLineTable *LineTable = getLineTableForCompileUnit(CU); + const DWARFLineTable *LineTable = getLineTableForUnit(CU); getFileLineInfoForCompileUnit(CU, LineTable, Address, Spec.FLIKind, Result); } return Result; @@ -522,7 +522,7 @@ DWARFContext::getLineInfoForAddressRange(uint64_t Address, uint64_t Size, return Lines; } - const DWARFLineTable *LineTable = getLineTableForCompileUnit(CU); + const DWARFLineTable *LineTable = getLineTableForUnit(CU); // Get the index of row we're looking for in the line table. std::vector RowVector; @@ -533,8 +533,8 @@ DWARFContext::getLineInfoForAddressRange(uint64_t Address, uint64_t Size, // Take file number and line/column from the row. const DWARFDebugLine::Row &Row = LineTable->Rows[RowIndex]; DILineInfo Result; - getFileNameForCompileUnit(CU, LineTable, Row.File, Spec.FLIKind, - Result.FileName); + getFileNameForUnit(CU, LineTable, Row.File, Spec.FLIKind, + Result.FileName); Result.FunctionName = FunctionName; Result.Line = Row.Line; Result.Column = Row.Column; @@ -561,7 +561,7 @@ DWARFContext::getInliningInfoForAddress(uint64_t Address, // try to at least get file/line info from symbol table. if (Spec.FLIKind != FileLineInfoKind::None) { DILineInfo Frame; - LineTable = getLineTableForCompileUnit(CU); + LineTable = getLineTableForUnit(CU); if (getFileLineInfoForCompileUnit(CU, LineTable, Address, Spec.FLIKind, Frame)) { InliningInfo.addFrame(Frame); @@ -582,15 +582,15 @@ DWARFContext::getInliningInfoForAddress(uint64_t Address, if (i == 0) { // For the topmost frame, initialize the line table of this // compile unit and fetch file/line info from it. - LineTable = getLineTableForCompileUnit(CU); + LineTable = getLineTableForUnit(CU); // For the topmost routine, get file/line info from line table. getFileLineInfoForCompileUnit(CU, LineTable, Address, Spec.FLIKind, Frame); } else { // Otherwise, use call file, call line and call column from // previous DIE in inlined chain. - getFileNameForCompileUnit(CU, LineTable, CallFile, Spec.FLIKind, - Frame.FileName); + getFileNameForUnit(CU, LineTable, CallFile, Spec.FLIKind, + Frame.FileName); Frame.Line = CallLine; Frame.Column = CallColumn; } diff --git a/lib/DebugInfo/DWARFContext.h b/lib/DebugInfo/DWARFContext.h index f4c05c7d573..b72c119d253 100644 --- a/lib/DebugInfo/DWARFContext.h +++ b/lib/DebugInfo/DWARFContext.h @@ -159,8 +159,7 @@ public: const DWARFDebugFrame *getDebugFrame(); /// Get a pointer to a parsed line table corresponding to a compile unit. - const DWARFDebugLine::LineTable * - getLineTableForCompileUnit(DWARFCompileUnit *cu); + const DWARFDebugLine::LineTable *getLineTableForUnit(DWARFUnit *cu); DILineInfo getLineInfoForAddress(uint64_t Address, DILineInfoSpecifier Specifier = DILineInfoSpecifier()) override; -- 2.34.1