summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp264
1 files changed, 132 insertions, 132 deletions
diff --git a/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp b/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
index dc95434c8e2..cc5b8afc747 100644
--- a/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
+++ b/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
@@ -18,8 +18,8 @@ void f() {
int K;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead [modernize-loop-convert]
- // CHECK-FIXES: for (int Elem : Arr)
- // CHECK-FIXES-NEXT: Sum += Elem;
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: Sum += I;
// CHECK-FIXES-NEXT: int K;
for (int I = 0; I < N; ++I) {
@@ -27,66 +27,66 @@ void f() {
Sum += Arr[I] + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : Arr)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
for (int I = 0; I < N; ++I) {
int X = Arr[I];
int Y = Arr[I] + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : Arr)
- // CHECK-FIXES-NEXT: int X = Elem;
- // CHECK-FIXES-NEXT: int Y = Elem + 2;
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: int X = I;
+ // CHECK-FIXES-NEXT: int Y = I + 2;
for (int I = 0; I < N; ++I) {
int X = N;
X = Arr[I];
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : Arr)
+ // CHECK-FIXES: for (int I : Arr)
// CHECK-FIXES-NEXT: int X = N;
- // CHECK-FIXES-NEXT: X = Elem;
+ // CHECK-FIXES-NEXT: X = I;
for (int I = 0; I < N; ++I) {
Arr[I] += 1;
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : Arr)
- // CHECK-FIXES-NEXT: Elem += 1;
+ // CHECK-FIXES: for (int & I : Arr)
+ // CHECK-FIXES-NEXT: I += 1;
for (int I = 0; I < N; ++I) {
int X = Arr[I] + 2;
Arr[I]++;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : Arr)
- // CHECK-FIXES-NEXT: int X = Elem + 2;
- // CHECK-FIXES-NEXT: Elem++;
+ // CHECK-FIXES: for (int & I : Arr)
+ // CHECK-FIXES-NEXT: int X = I + 2;
+ // CHECK-FIXES-NEXT: I++;
for (int I = 0; I < N; ++I) {
Arr[I] = 4 + Arr[I];
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : Arr)
- // CHECK-FIXES-NEXT: Elem = 4 + Elem;
+ // CHECK-FIXES: for (int & I : Arr)
+ // CHECK-FIXES-NEXT: I = 4 + I;
for (int I = 0; I < NMinusOne + 1; ++I) {
Sum += Arr[I];
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : Arr)
- // CHECK-FIXES-NEXT: Sum += Elem;
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: Sum += I;
for (int I = 0; I < N; ++I) {
printf("Fibonacci number %d has address %p\n", Arr[I], &Arr[I]);
Sum += Arr[I] + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : Arr)
- // CHECK-FIXES-NEXT: printf("Fibonacci number %d has address %p\n", Elem, &Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int & I : Arr)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number %d has address %p\n", I, &I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
Val Teas[N];
for (int I = 0; I < N; ++I) {
@@ -102,24 +102,24 @@ const int *constArray() {
printf("2 * %d = %d\n", ConstArr[I], ConstArr[I] + ConstArr[I]);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : ConstArr)
- // CHECK-FIXES-NEXT: printf("2 * %d = %d\n", Elem, Elem + Elem);
+ // CHECK-FIXES: for (int I : ConstArr)
+ // CHECK-FIXES-NEXT: printf("2 * %d = %d\n", I, I + I);
const NonTriviallyCopyable NonCopy[N]{};
for (int I = 0; I < N; ++I) {
printf("2 * %d = %d\n", NonCopy[I].X, NonCopy[I].X + NonCopy[I].X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const auto & Elem : NonCopy)
- // CHECK-FIXES-NEXT: printf("2 * %d = %d\n", Elem.X, Elem.X + Elem.X);
+ // CHECK-FIXES: for (const auto & I : NonCopy)
+ // CHECK-FIXES-NEXT: printf("2 * %d = %d\n", I.X, I.X + I.X);
const TriviallyCopyableButBig Big[N]{};
for (int I = 0; I < N; ++I) {
printf("2 * %d = %d\n", Big[I].X, Big[I].X + Big[I].X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const auto & Elem : Big)
- // CHECK-FIXES-NEXT: printf("2 * %d = %d\n", Elem.X, Elem.X + Elem.X);
+ // CHECK-FIXES: for (const auto & I : Big)
+ // CHECK-FIXES-NEXT: printf("2 * %d = %d\n", I.X, I.X + I.X);
bool Something = false;
for (int I = 0; I < N; ++I) {
@@ -127,9 +127,9 @@ const int *constArray() {
return &ConstArr[I];
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const int & Elem : ConstArr)
+ // CHECK-FIXES: for (const int & I : ConstArr)
// CHECK-FIXES-NEXT: if (Something)
- // CHECK-FIXES-NEXT: return &Elem;
+ // CHECK-FIXES-NEXT: return &I;
}
struct HasArr {
@@ -140,15 +140,15 @@ struct HasArr {
printf("%d", Arr[I]);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : Arr)
- // CHECK-FIXES-NEXT: printf("%d", Elem);
+ // CHECK-FIXES: for (int I : Arr)
+ // CHECK-FIXES-NEXT: printf("%d", I);
for (int I = 0; I < N; ++I) {
printf("%d", ValArr[I].X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : ValArr)
- // CHECK-FIXES-NEXT: printf("%d", Elem.X);
+ // CHECK-FIXES: for (auto & I : ValArr)
+ // CHECK-FIXES-NEXT: printf("%d", I.X);
}
void explicitThis() {
@@ -156,15 +156,15 @@ struct HasArr {
printf("%d", this->Arr[I]);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : this->Arr)
- // CHECK-FIXES-NEXT: printf("%d", Elem);
+ // CHECK-FIXES: for (int I : this->Arr)
+ // CHECK-FIXES-NEXT: printf("%d", I);
for (int I = 0; I < N; ++I) {
printf("%d", this->ValArr[I].X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : this->ValArr)
- // CHECK-FIXES-NEXT: printf("%d", Elem.X);
+ // CHECK-FIXES: for (auto & I : this->ValArr)
+ // CHECK-FIXES-NEXT: printf("%d", I.X);
}
};
@@ -175,15 +175,15 @@ struct HasIndirectArr {
printf("%d", HA.Arr[I]);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : HA.Arr)
- // CHECK-FIXES-NEXT: printf("%d", Elem);
+ // CHECK-FIXES: for (int I : HA.Arr)
+ // CHECK-FIXES-NEXT: printf("%d", I);
for (int I = 0; I < N; ++I) {
printf("%d", HA.ValArr[I].X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : HA.ValArr)
- // CHECK-FIXES-NEXT: printf("%d", Elem.X);
+ // CHECK-FIXES: for (auto & I : HA.ValArr)
+ // CHECK-FIXES-NEXT: printf("%d", I.X);
}
void explicitThis() {
@@ -191,15 +191,15 @@ struct HasIndirectArr {
printf("%d", this->HA.Arr[I]);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : this->HA.Arr)
- // CHECK-FIXES-NEXT: printf("%d", Elem);
+ // CHECK-FIXES: for (int I : this->HA.Arr)
+ // CHECK-FIXES-NEXT: printf("%d", I);
for (int I = 0; I < N; ++I) {
printf("%d", this->HA.ValArr[I].X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : this->HA.ValArr)
- // CHECK-FIXES-NEXT: printf("%d", Elem.X);
+ // CHECK-FIXES: for (auto & I : this->HA.ValArr)
+ // CHECK-FIXES-NEXT: printf("%d", I.X);
}
};
@@ -217,8 +217,8 @@ void memberFunctionPointer() {
for (int I = 0; I < N; ++I)
(V.*mfpArr[I])();
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : mfpArr)
- // CHECK-FIXES-NEXT: (V.*Elem)();
+ // CHECK-FIXES: for (auto & I : mfpArr)
+ // CHECK-FIXES-NEXT: (V.*I)();
struct Foo {
int (Val::*f)();
@@ -227,8 +227,8 @@ void memberFunctionPointer() {
for (int I = 0; I < N; ++I)
int R = (V.*(Foo[I].f))();
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Foo)
- // CHECK-FIXES-NEXT: int R = (V.*(Elem.f))();
+ // CHECK-FIXES: for (auto & I : Foo)
+ // CHECK-FIXES-NEXT: int R = (V.*(I.f))();
}
@@ -243,24 +243,24 @@ void f() {
printf("I found %d\n", *It);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : Tt)
- // CHECK-FIXES-NEXT: printf("I found %d\n", Elem);
+ // CHECK-FIXES: for (int & It : Tt)
+ // CHECK-FIXES-NEXT: printf("I found %d\n", It);
T *Pt;
for (T::iterator It = Pt->begin(), E = Pt->end(); It != E; ++It) {
printf("I found %d\n", *It);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : *Pt)
- // CHECK-FIXES-NEXT: printf("I found %d\n", Elem);
+ // CHECK-FIXES: for (int & It : *Pt)
+ // CHECK-FIXES-NEXT: printf("I found %d\n", It);
S Ss;
for (S::iterator It = Ss.begin(), E = Ss.end(); It != E; ++It) {
printf("s has value %d\n", (*It).X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Ss)
- // CHECK-FIXES-NEXT: printf("s has value %d\n", Elem.X);
+ // CHECK-FIXES: for (auto & It : Ss)
+ // CHECK-FIXES-NEXT: printf("s has value %d\n", It.X);
S *Ps;
for (S::iterator It = Ps->begin(), E = Ps->end(); It != E; ++It) {
@@ -274,58 +274,58 @@ void f() {
printf("s has value %d\n", (*It).X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto Elem : Ss)
- // CHECK-FIXES-NEXT: printf("s has value %d\n", Elem.X);
+ // CHECK-FIXES: for (auto It : Ss)
+ // CHECK-FIXES-NEXT: printf("s has value %d\n", It.X);
for (S::iterator It = Ss.begin(), E = Ss.end(); It != E; ++It) {
printf("s has value %d\n", It->X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Ss)
- // CHECK-FIXES-NEXT: printf("s has value %d\n", Elem.X);
+ // CHECK-FIXES: for (auto & It : Ss)
+ // CHECK-FIXES-NEXT: printf("s has value %d\n", It.X);
for (S::iterator It = Ss.begin(), E = Ss.end(); It != E; ++It) {
It->X = 3;
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Ss)
- // CHECK-FIXES-NEXT: Elem.X = 3;
+ // CHECK-FIXES: for (auto & It : Ss)
+ // CHECK-FIXES-NEXT: It.X = 3;
for (S::iterator It = Ss.begin(), E = Ss.end(); It != E; ++It) {
(*It).X = 3;
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Ss)
- // CHECK-FIXES-NEXT: Elem.X = 3;
+ // CHECK-FIXES: for (auto & It : Ss)
+ // CHECK-FIXES-NEXT: It.X = 3;
for (S::iterator It = Ss.begin(), E = Ss.end(); It != E; ++It) {
It->nonConstFun(4, 5);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Ss)
- // CHECK-FIXES-NEXT: Elem.nonConstFun(4, 5);
+ // CHECK-FIXES: for (auto & It : Ss)
+ // CHECK-FIXES-NEXT: It.nonConstFun(4, 5);
U Uu;
for (U::iterator It = Uu.begin(), E = Uu.end(); It != E; ++It) {
printf("s has value %d\n", It->X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Uu)
- // CHECK-FIXES-NEXT: printf("s has value %d\n", Elem.X);
+ // CHECK-FIXES: for (auto & It : Uu)
+ // CHECK-FIXES-NEXT: printf("s has value %d\n", It.X);
for (U::iterator It = Uu.begin(), E = Uu.end(); It != E; ++It) {
printf("s has value %d\n", (*It).X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Uu)
- // CHECK-FIXES-NEXT: printf("s has value %d\n", Elem.X);
+ // CHECK-FIXES: for (auto & It : Uu)
+ // CHECK-FIXES-NEXT: printf("s has value %d\n", It.X);
U::iterator A;
for (U::iterator I = Uu.begin(), E = Uu.end(); I != E; ++I)
int K = A->X + I->X;
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Uu)
- // CHECK-FIXES-NEXT: int K = A->X + Elem.X;
+ // CHECK-FIXES: for (auto & I : Uu)
+ // CHECK-FIXES-NEXT: int K = A->X + I.X;
dependent<int> V;
for (dependent<int>::iterator It = V.begin(), E = V.end();
@@ -333,16 +333,16 @@ void f() {
printf("Fibonacci number is %d\n", *It);
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : V)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
+ // CHECK-FIXES: for (int & It : V)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", It);
for (dependent<int>::iterator It(V.begin()), E = V.end();
It != E; ++It) {
printf("Fibonacci number is %d\n", *It);
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int & Elem : V)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
+ // CHECK-FIXES: for (int & It : V)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", It);
doublyDependent<int, int> Intmap;
for (doublyDependent<int, int>::iterator It = Intmap.begin(), E = Intmap.end();
@@ -350,8 +350,8 @@ void f() {
printf("Intmap[%d] = %d", It->first, It->second);
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Intmap)
- // CHECK-FIXES: printf("Intmap[%d] = %d", Elem.first, Elem.second);
+ // CHECK-FIXES: for (auto & It : Intmap)
+ // CHECK-FIXES: printf("Intmap[%d] = %d", It.first, It.second);
// PtrSet's iterator dereferences by value so auto & can't be used.
{
@@ -395,15 +395,15 @@ void f() {
printf("%d\n", (**I).X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Dpp)
- // CHECK-FIXES-NEXT: printf("%d\n", (*Elem).X);
+ // CHECK-FIXES: for (auto & I : Dpp)
+ // CHECK-FIXES-NEXT: printf("%d\n", (*I).X);
for (dependent<Val *>::iterator I = Dpp.begin(), E = Dpp.end(); I != E; ++I) {
printf("%d\n", (*I)->X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : Dpp)
- // CHECK-FIXES-NEXT: printf("%d\n", Elem->X);
+ // CHECK-FIXES: for (auto & I : Dpp)
+ // CHECK-FIXES-NEXT: printf("%d\n", I->X);
}
// Tests to verify the proper use of auto where the init variable type and the
@@ -416,8 +416,8 @@ void different_type() {
printf("s has value %d\n", (*It).X);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto Elem : Ss)
- // CHECK-FIXES-NEXT: printf("s has value %d\n", Elem.X);
+ // CHECK-FIXES: for (auto It : Ss)
+ // CHECK-FIXES-NEXT: printf("s has value %d\n", It.X);
S *Ps;
for (S::const_iterator It = Ps->begin(), E = Ps->end(); It != E; ++It) {
@@ -462,12 +462,12 @@ public:
for (iterator I = begin(), E = end(); I != E; ++I)
(void) *I;
// CHECK-MESSAGES: :[[@LINE-2]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : *this)
+ // CHECK-FIXES: for (auto & I : *this)
for (iterator I = C::begin(), E = C::end(); I != E; ++I)
(void) *I;
// CHECK-MESSAGES: :[[@LINE-2]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : *this)
+ // CHECK-FIXES: for (auto & I : *this)
for (iterator I = begin(), E = end(); I != E; ++I) {
(void) *I;
@@ -477,7 +477,7 @@ public:
for (iterator I = begin(); I != end(); ++I)
(void) *I;
// CHECK-MESSAGES: :[[@LINE-2]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : *this)
+ // CHECK-FIXES: for (auto & I : *this)
for (iterator I = begin(); I != end(); ++I) {
(void) *I;
@@ -489,12 +489,12 @@ public:
for (const_iterator I = begin(), E = end(); I != E; ++I)
(void) *I;
// CHECK-MESSAGES: :[[@LINE-2]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto Elem : *this)
+ // CHECK-FIXES: for (auto I : *this)
for (const_iterator I = C::begin(), E = C::end(); I != E; ++I)
(void) *I;
// CHECK-MESSAGES: :[[@LINE-2]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto Elem : *this)
+ // CHECK-FIXES: for (auto I : *this)
for (const_iterator I = begin(), E = end(); I != E; ++I) {
(void) *I;
@@ -516,7 +516,7 @@ public:
for (iterator I = begin(), E = end(); I != E; ++I)
(void) *I;
// CHECK-MESSAGES: :[[@LINE-2]]:5: warning: use range-based for loop instead
- // CHECK-FIXES: for (auto & Elem : *this)
+ // CHECK-FIXES: for (auto & I : *this)
}
};
@@ -539,27 +539,27 @@ void f() {
Sum += V[I] + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : V)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int I : V)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
for (int I = 0, E = V.size(); I < E; ++I) {
printf("Fibonacci number is %d\n", V.at(I));
Sum += V.at(I) + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : V)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int I : V)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
for (int I = 0, E = Pv->size(); I < E; ++I) {
printf("Fibonacci number is %d\n", Pv->at(I));
Sum += Pv->at(I) + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : *Pv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int I : *Pv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
// This test will fail if size() isn't called repeatedly, since it
// returns unsigned int, and 0 is deduced to be signed int.
@@ -570,18 +570,18 @@ void f() {
Sum += (*Pv)[I] + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : *Pv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int I : *Pv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
for (int I = 0; I < Cv->size(); ++I) {
printf("Fibonacci number is %d\n", Cv->at(I));
Sum += Cv->at(I) + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : *Cv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem);
- // CHECK-FIXES-NEXT: Sum += Elem + 2;
+ // CHECK-FIXES: for (int I : *Cv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I);
+ // CHECK-FIXES-NEXT: Sum += I + 2;
}
// Ensure that 'const auto &' is used with containers of non-trivial types.
@@ -592,27 +592,27 @@ void constness() {
Sum += Constv[I].X + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const auto & Elem : Constv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem.X);
- // CHECK-FIXES-NEXT: Sum += Elem.X + 2;
+ // CHECK-FIXES: for (const auto & I : Constv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I.X);
+ // CHECK-FIXES-NEXT: Sum += I.X + 2;
for (int I = 0, E = Constv.size(); I < E; ++I) {
printf("Fibonacci number is %d\n", Constv.at(I).X);
Sum += Constv.at(I).X + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const auto & Elem : Constv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem.X);
- // CHECK-FIXES-NEXT: Sum += Elem.X + 2;
+ // CHECK-FIXES: for (const auto & I : Constv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I.X);
+ // CHECK-FIXES-NEXT: Sum += I.X + 2;
for (int I = 0, E = Pconstv->size(); I < E; ++I) {
printf("Fibonacci number is %d\n", Pconstv->at(I).X);
Sum += Pconstv->at(I).X + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const auto & Elem : *Pconstv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem.X);
- // CHECK-FIXES-NEXT: Sum += Elem.X + 2;
+ // CHECK-FIXES: for (const auto & I : *Pconstv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I.X);
+ // CHECK-FIXES-NEXT: Sum += I.X + 2;
// This test will fail if size() isn't called repeatedly, since it
// returns unsigned int, and 0 is deduced to be signed int.
@@ -623,28 +623,28 @@ void constness() {
Sum += (*Pconstv)[I].X + 2;
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (const auto & Elem : *Pconstv)
- // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", Elem.X);
- // CHECK-FIXES-NEXT: Sum += Elem.X + 2;
+ // CHECK-FIXES: for (const auto & I : *Pconstv)
+ // CHECK-FIXES-NEXT: printf("Fibonacci number is %d\n", I.X);
+ // CHECK-FIXES-NEXT: Sum += I.X + 2;
}
void constRef(const dependent<int>& ConstVRef) {
int sum = 0;
// FIXME: This does not work with size_t (probably due to the implementation
// of dependent); make dependent work exactly like a std container type.
- for (int i = 0; i < ConstVRef.size(); ++i) {
- sum += ConstVRef[i];
+ for (int I = 0; I < ConstVRef.size(); ++I) {
+ sum += ConstVRef[I];
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : ConstVRef)
- // CHECK-FIXES-NEXT: sum += Elem;
+ // CHECK-FIXES: for (int I : ConstVRef)
+ // CHECK-FIXES-NEXT: sum += I;
for (auto I = ConstVRef.begin(), E = ConstVRef.end(); I != E; ++I) {
sum += *I;
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (int Elem : ConstVRef)
- // CHECK-FIXES-NEXT: sum += Elem;
+ // CHECK-FIXES: for (int I : ConstVRef)
+ // CHECK-FIXES-NEXT: sum += I;
}
// Check for loops that don't mention containers.
@@ -695,15 +695,15 @@ void NoBeginEndTest() {
for (unsigned I = 0, E = CBE.size(); I < E; ++I)
printf("%d\n", CBE[I]);
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (unsigned int Elem : CBE)
- // CHECK-FIXES-NEXT: printf("%d\n", Elem);
+ // CHECK-FIXES: for (unsigned int I : CBE)
+ // CHECK-FIXES-NEXT: printf("%d\n", I);
const ConstBeginEnd Const_CBE;
for (unsigned I = 0, E = Const_CBE.size(); I < E; ++I)
printf("%d\n", Const_CBE[I]);
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (unsigned int Elem : Const_CBE)
- // CHECK-FIXES-NEXT: printf("%d\n", Elem);
+ // CHECK-FIXES: for (unsigned int I : Const_CBE)
+ // CHECK-FIXES-NEXT: printf("%d\n", I);
}
struct DerefByValue {
@@ -721,17 +721,17 @@ void derefByValueTest() {
printf("%d\n", DBV[I]);
}
// CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (unsigned int Elem : DBV)
- // CHECK-FIXES-NEXT: printf("%d\n", Elem);
+ // CHECK-FIXES: for (unsigned int I : DBV)
+ // CHECK-FIXES-NEXT: printf("%d\n", I);
for (unsigned I = 0, E = DBV.size(); I < E; ++I) {
auto f = [DBV, I]() {};
printf("%d\n", DBV[I]);
}
// CHECK-MESSAGES: :[[@LINE-4]]:3: warning: use range-based for loop instead
- // CHECK-FIXES: for (unsigned int Elem : DBV)
- // CHECK-FIXES-NEXT: auto f = [DBV, &Elem]() {};
- // CHECK-FIXES-NEXT: printf("%d\n", Elem);
+ // CHECK-FIXES: for (unsigned int I : DBV)
+ // CHECK-FIXES-NEXT: auto f = [DBV, &I]() {};
+ // CHECK-FIXES-NEXT: printf("%d\n", I);
}
void fundamentalTypesTest() {
OpenPOWER on IntegriCloud