Skip to content

Commit f545c2c

Browse files
authored
[clang][NFC] Don't copy into a vector just to iterate in IsInitListMemberExprInitialized (#169385)
1 parent 4822f49 commit f545c2c

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

clang/lib/Sema/SemaDeclCXX.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3782,21 +3782,21 @@ namespace {
37823782
if (CheckReferenceOnly && !ReferenceField)
37833783
return true;
37843784

3785-
llvm::SmallVector<unsigned, 4> UsedFieldIndex;
37863785
// Discard the first field since it is the field decl that is being
37873786
// initialized.
3788-
for (const FieldDecl *FD : llvm::drop_begin(llvm::reverse(Fields)))
3789-
UsedFieldIndex.push_back(FD->getFieldIndex());
3790-
3791-
for (auto UsedIter = UsedFieldIndex.begin(),
3792-
UsedEnd = UsedFieldIndex.end(),
3793-
OrigIter = InitFieldIndex.begin(),
3794-
OrigEnd = InitFieldIndex.end();
3795-
UsedIter != UsedEnd && OrigIter != OrigEnd; ++UsedIter, ++OrigIter) {
3796-
if (*UsedIter < *OrigIter)
3787+
auto UsedFields = llvm::drop_begin(llvm::reverse(Fields));
3788+
auto UsedIter = UsedFields.begin();
3789+
const auto UsedEnd = UsedFields.end();
3790+
3791+
for (const unsigned Orig : InitFieldIndex) {
3792+
if (UsedIter == UsedEnd)
3793+
break;
3794+
const unsigned UsedIndex = (*UsedIter)->getFieldIndex();
3795+
if (UsedIndex < Orig)
37973796
return true;
3798-
if (*UsedIter > *OrigIter)
3797+
if (UsedIndex > Orig)
37993798
break;
3799+
++UsedIter;
38003800
}
38013801

38023802
return false;

0 commit comments

Comments
 (0)