summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2016-05-23 22:38:06 +0000
committerDavid Blaikie <dblaikie@gmail.com>2016-05-23 22:38:06 +0000
commit632d568d2e0e97683ba869c62ecff67fbf76082e (patch)
treebfb9daf04cc3b7e8151e777d34a69f9372816951
parent7bac6e862988a8866667b0e454a97e2da3782653 (diff)
llvm-dwp: Reduce indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@270507 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/llvm-dwp/llvm-dwp.cpp95
1 files changed, 47 insertions, 48 deletions
diff --git a/tools/llvm-dwp/llvm-dwp.cpp b/tools/llvm-dwp/llvm-dwp.cpp
index c1304484faa..941083f5c3f 100644
--- a/tools/llvm-dwp/llvm-dwp.cpp
+++ b/tools/llvm-dwp/llvm-dwp.cpp
@@ -521,53 +521,10 @@ static Error write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
if (InfoSection.empty())
continue;
- if (!CurCUIndexSection.empty()) {
- DWARFUnitIndex CUIndex(DW_SECT_INFO);
- DataExtractor CUIndexData(CurCUIndexSection, Obj.isLittleEndian(), 0);
- if (!CUIndex.parse(CUIndexData))
- return make_error<DWPError>("Failed to parse cu_index");
-
- for (const DWARFUnitIndex::Entry &E : CUIndex.getRows()) {
- auto *I = E.getOffsets();
- if (!I)
- continue;
- auto P =
- IndexEntries.insert(std::make_pair(E.getSignature(), CurEntry));
- Expected<CompileUnitIdentifiers> EID = getCUIdentifiers(
- getSubsection(AbbrevSection, E, DW_SECT_ABBREV),
- getSubsection(InfoSection, E, DW_SECT_INFO),
- getSubsection(CurStrOffsetSection, E, DW_SECT_STR_OFFSETS),
- CurStrSection);
- if (!EID)
- return EID.takeError();
- const auto &ID = *EID;
- if (!P.second)
- return buildDuplicateError(*P.first, ID, Input);
- auto &NewEntry = P.first->second;
- NewEntry.Name = ID.Name;
- NewEntry.DWOName = ID.DWOName;
- NewEntry.DWPName = Input;
- for (auto Kind : CUIndex.getColumnKinds()) {
- auto &C = NewEntry.Contributions[Kind - DW_SECT_INFO];
- C.Offset += I->Offset;
- C.Length = I->Length;
- ++I;
- }
- }
+ writeStringsAndOffsets(Out, Strings, StrOffsetSection, CurStrSection,
+ CurStrOffsetSection);
- if (!CurTypesSection.empty()) {
- if (CurTypesSection.size() != 1)
- return make_error<DWPError>(
- "multiple type unit sections in .dwp file");
- DWARFUnitIndex TUIndex(DW_SECT_TYPES);
- DataExtractor TUIndexData(CurTUIndexSection, Obj.isLittleEndian(), 0);
- if (!TUIndex.parse(TUIndexData))
- return make_error<DWPError>("Failed to parse tu_index");
- addAllTypesFromDWP(Out, TypeIndexEntries, TUIndex, TypesSection,
- CurTypesSection.front(), CurEntry,
- ContributionOffsets[DW_SECT_TYPES - DW_SECT_INFO]);
- }
- } else {
+ if (CurCUIndexSection.empty()) {
Expected<CompileUnitIdentifiers> EID = getCUIdentifiers(
AbbrevSection, InfoSection, CurStrOffsetSection, CurStrSection);
if (!EID)
@@ -580,10 +537,52 @@ static Error write(MCStreamer &Out, ArrayRef<std::string> Inputs) {
P.first->second.DWOName = ID.DWOName;
addAllTypes(Out, TypeIndexEntries, TypesSection, CurTypesSection,
CurEntry, ContributionOffsets[DW_SECT_TYPES - DW_SECT_INFO]);
+ continue;
}
- writeStringsAndOffsets(Out, Strings, StrOffsetSection, CurStrSection,
- CurStrOffsetSection);
+ DWARFUnitIndex CUIndex(DW_SECT_INFO);
+ DataExtractor CUIndexData(CurCUIndexSection, Obj.isLittleEndian(), 0);
+ if (!CUIndex.parse(CUIndexData))
+ return make_error<DWPError>("Failed to parse cu_index");
+
+ for (const DWARFUnitIndex::Entry &E : CUIndex.getRows()) {
+ auto *I = E.getOffsets();
+ if (!I)
+ continue;
+ auto P = IndexEntries.insert(std::make_pair(E.getSignature(), CurEntry));
+ Expected<CompileUnitIdentifiers> EID = getCUIdentifiers(
+ getSubsection(AbbrevSection, E, DW_SECT_ABBREV),
+ getSubsection(InfoSection, E, DW_SECT_INFO),
+ getSubsection(CurStrOffsetSection, E, DW_SECT_STR_OFFSETS),
+ CurStrSection);
+ if (!EID)
+ return EID.takeError();
+ const auto &ID = *EID;
+ if (!P.second)
+ return buildDuplicateError(*P.first, ID, Input);
+ auto &NewEntry = P.first->second;
+ NewEntry.Name = ID.Name;
+ NewEntry.DWOName = ID.DWOName;
+ NewEntry.DWPName = Input;
+ for (auto Kind : CUIndex.getColumnKinds()) {
+ auto &C = NewEntry.Contributions[Kind - DW_SECT_INFO];
+ C.Offset += I->Offset;
+ C.Length = I->Length;
+ ++I;
+ }
+ }
+
+ if (!CurTypesSection.empty()) {
+ if (CurTypesSection.size() != 1)
+ return make_error<DWPError>("multiple type unit sections in .dwp file");
+ DWARFUnitIndex TUIndex(DW_SECT_TYPES);
+ DataExtractor TUIndexData(CurTUIndexSection, Obj.isLittleEndian(), 0);
+ if (!TUIndex.parse(TUIndexData))
+ return make_error<DWPError>("Failed to parse tu_index");
+ addAllTypesFromDWP(Out, TypeIndexEntries, TUIndex, TypesSection,
+ CurTypesSection.front(), CurEntry,
+ ContributionOffsets[DW_SECT_TYPES - DW_SECT_INFO]);
+ }
}
// Lie about there being no info contributions so the TU index only includes