summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp')
-rw-r--r--llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp20
1 files changed, 3 insertions, 17 deletions
diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
index 6ad06a8553e..53420187773 100644
--- a/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
+++ b/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
@@ -1017,28 +1017,14 @@ bool DWARFDebugLine::LineTable::lookupAddressRangeImpl(
}
bool DWARFDebugLine::LineTable::hasFileAtIndex(uint64_t FileIndex) const {
- uint16_t DwarfVersion = Prologue.getVersion();
- assert(DwarfVersion != 0 && "LineTable has no dwarf version information");
- if (DwarfVersion >= 5)
- return FileIndex < Prologue.FileNames.size();
- else
- return FileIndex != 0 && FileIndex <= Prologue.FileNames.size();
-}
-const llvm::DWARFDebugLine::FileNameEntry &
-DWARFDebugLine::LineTable::getFileNameEntry(uint64_t Index) const {
- uint16_t DwarfVersion = Prologue.getVersion();
- assert(DwarfVersion != 0 && "LineTable has no dwarf version information");
- if (DwarfVersion >= 5)
- return Prologue.FileNames[Index];
- else
- return Prologue.FileNames[Index - 1];
+ return FileIndex != 0 && FileIndex <= Prologue.FileNames.size();
}
Optional<StringRef> DWARFDebugLine::LineTable::getSourceByIndex(uint64_t FileIndex,
FileLineInfoKind Kind) const {
if (Kind == FileLineInfoKind::None || !hasFileAtIndex(FileIndex))
return None;
- const FileNameEntry &Entry = getFileNameEntry(FileIndex);
+ const FileNameEntry &Entry = Prologue.FileNames[FileIndex - 1];
if (Optional<const char *> source = Entry.Source.getAsCString())
return StringRef(*source);
return None;
@@ -1058,7 +1044,7 @@ bool DWARFDebugLine::LineTable::getFileNameByIndex(uint64_t FileIndex,
std::string &Result) const {
if (Kind == FileLineInfoKind::None || !hasFileAtIndex(FileIndex))
return false;
- const FileNameEntry &Entry = getFileNameEntry(FileIndex);
+ const FileNameEntry &Entry = Prologue.FileNames[FileIndex - 1];
StringRef FileName = Entry.Name.getAsCString().getValue();
if (Kind != FileLineInfoKind::AbsoluteFilePath ||
isPathAbsoluteOnWindowsOrPosix(FileName)) {
OpenPOWER on IntegriCloud