@@ -389,11 +389,11 @@ void macho::writeChainedFixup(uint8_t *buf, const Symbol *sym, int64_t addend) {
389
389
390
390
void NonLazyPointerSectionBase::writeTo (uint8_t *buf) const {
391
391
if (config->emitChainedFixups ) {
392
- for (size_t i = 0 , n = entries. size (); i < n; ++i )
393
- writeChainedFixup (&buf[i * target->wordSize ], entries[i] , 0 );
392
+ for (const auto &[i, entry] : llvm::enumerate (entries) )
393
+ writeChainedFixup (&buf[i * target->wordSize ], entry , 0 );
394
394
} else {
395
- for (size_t i = 0 , n = entries. size (); i < n; ++i )
396
- if (auto *defined = dyn_cast<Defined>(entries[i] ))
395
+ for (const auto &[i, entry] : llvm::enumerate (entries) )
396
+ if (auto *defined = dyn_cast<Defined>(entry ))
397
397
write64le (&buf[i * target->wordSize ], defined->getVA ());
398
398
}
399
399
}
@@ -1623,27 +1623,27 @@ void CStringSection::addInput(CStringInputSection *isec) {
1623
1623
1624
1624
void CStringSection::writeTo (uint8_t *buf) const {
1625
1625
for (const CStringInputSection *isec : inputs) {
1626
- for (size_t i = 0 , e = isec->pieces . size (); i != e; ++i ) {
1627
- if (!isec-> pieces [i] .live )
1626
+ for (const auto &[i, piece] : llvm::enumerate ( isec->pieces ) ) {
1627
+ if (!piece .live )
1628
1628
continue ;
1629
1629
StringRef string = isec->getStringRef (i);
1630
- memcpy (buf + isec-> pieces [i] .outSecOff , string.data (), string.size ());
1630
+ memcpy (buf + piece .outSecOff , string.data (), string.size ());
1631
1631
}
1632
1632
}
1633
1633
}
1634
1634
1635
1635
void CStringSection::finalizeContents () {
1636
1636
uint64_t offset = 0 ;
1637
1637
for (CStringInputSection *isec : inputs) {
1638
- for (size_t i = 0 , e = isec->pieces . size (); i != e; ++i ) {
1639
- if (!isec-> pieces [i] .live )
1638
+ for (const auto &[i, piece] : llvm::enumerate ( isec->pieces ) ) {
1639
+ if (!piece .live )
1640
1640
continue ;
1641
1641
// See comment above DeduplicatedCStringSection for how alignment is
1642
1642
// handled.
1643
- uint32_t pieceAlign =
1644
- 1 << countTrailingZeros (isec->align | isec-> pieces [i] .inSecOff );
1643
+ uint32_t pieceAlign = 1
1644
+ << countTrailingZeros (isec->align | piece .inSecOff );
1645
1645
offset = alignTo (offset, pieceAlign);
1646
- isec-> pieces [i] .outSecOff = offset;
1646
+ piece .outSecOff = offset;
1647
1647
isec->isFinal = true ;
1648
1648
StringRef string = isec->getStringRef (i);
1649
1649
offset += string.size () + 1 ; // account for null terminator
@@ -1693,8 +1693,7 @@ void CStringSection::finalizeContents() {
1693
1693
void DeduplicatedCStringSection::finalizeContents () {
1694
1694
// Find the largest alignment required for each string.
1695
1695
for (const CStringInputSection *isec : inputs) {
1696
- for (size_t i = 0 , e = isec->pieces .size (); i != e; ++i) {
1697
- const StringPiece &piece = isec->pieces [i];
1696
+ for (const auto &[i, piece] : llvm::enumerate (isec->pieces )) {
1698
1697
if (!piece.live )
1699
1698
continue ;
1700
1699
auto s = isec->getCachedHashStringRef (i);
@@ -1710,8 +1709,8 @@ void DeduplicatedCStringSection::finalizeContents() {
1710
1709
// Assign an offset for each string and save it to the corresponding
1711
1710
// StringPieces for easy access.
1712
1711
for (CStringInputSection *isec : inputs) {
1713
- for (size_t i = 0 , e = isec->pieces . size (); i != e; ++i ) {
1714
- if (!isec-> pieces [i] .live )
1712
+ for (const auto &[i, piece] : llvm::enumerate ( isec->pieces ) ) {
1713
+ if (!piece .live )
1715
1714
continue ;
1716
1715
auto s = isec->getCachedHashStringRef (i);
1717
1716
auto it = stringOffsetMap.find (s);
@@ -1722,7 +1721,7 @@ void DeduplicatedCStringSection::finalizeContents() {
1722
1721
size =
1723
1722
offsetInfo.outSecOff + s.size () + 1 ; // account for null terminator
1724
1723
}
1725
- isec-> pieces [i] .outSecOff = offsetInfo.outSecOff ;
1724
+ piece .outSecOff = offsetInfo.outSecOff ;
1726
1725
}
1727
1726
isec->isFinal = true ;
1728
1727
}
0 commit comments