diff options
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.cpp | 264 |
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() { |