From 35723f09bb4e04e882f584c13f6b34cd175f5d3a Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 14 Feb 2017 23:35:42 +0000 Subject: [PATCH] Explicitly return a new value instead of implicitly mutating a reference. I think this is more readable than before. llvm-svn: 295121 --- lld/ELF/Writer.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index ecb95e575baa..2a66c3627764 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -1508,33 +1508,33 @@ static uintX_t getFileAlignment(uintX_t Off, OutputSectionBase *Sec) { } template -void setOffset(OutputSectionBase *Sec, uintX_t &Off) { +uintX_t setOffset(OutputSectionBase *Sec, uintX_t Off) { if (Sec->Type == SHT_NOBITS) { Sec->Offset = Off; - return; + return Off; } Off = getFileAlignment(Off, Sec); Sec->Offset = Off; - Off += Sec->Size; + return Off + Sec->Size; } template void Writer::assignFileOffsetsBinary() { uintX_t Off = 0; for (OutputSectionBase *Sec : OutputSections) if (Sec->Flags & SHF_ALLOC) - setOffset(Sec, Off); + Off = setOffset(Sec, Off); FileSize = alignTo(Off, sizeof(uintX_t)); } // Assign file offsets to output sections. template void Writer::assignFileOffsets() { uintX_t Off = 0; - setOffset(Out::ElfHeader, Off); - setOffset(Out::ProgramHeaders, Off); + Off = setOffset(Out::ElfHeader, Off); + Off = setOffset(Out::ProgramHeaders, Off); for (OutputSectionBase *Sec : OutputSections) - setOffset(Sec, Off); + Off = setOffset(Sec, Off); SectionHeaderOff = alignTo(Off, sizeof(uintX_t)); FileSize = SectionHeaderOff + (OutputSections.size() + 1) * sizeof(Elf_Shdr);