// RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp // RUN: cpp11-migrate -loop-convert %t.cpp -- -I %S/Inputs // RUN: FileCheck -input-file=%t.cpp %s // RUN: cpp11-migrate -loop-convert %t.cpp -risk=risky -- -I %S/Inputs // RUN: FileCheck -check-prefix=RISKY -input-file=%t.cpp %s #include "structures.h" void f() { const int N = 5; const int M = 7; int (*pArr)[N]; int Arr[N][M]; int sum = 0; for (int i = 0; i < M; ++i) { sum += Arr[0][i]; } // CHECK: for (int i = 0; i < M; ++i) { // CHECK-NEXT: sum += Arr[0][i]; // CHECK-NEXT: } // RISKY: for (auto & elem : Arr[0]) { // RISKY-NEXT: sum += elem; // RISKY-NEXT: } for (int i = 0; i < N; ++i) { sum += (*pArr)[i]; } // RISKY: for (auto & elem : *pArr) { // RISKY-NEXT: sum += elem; // RISKY-NEXT: } // CHECK: for (int i = 0; i < N; ++i) { // CHECK-NEXT: sum += (*pArr)[i]; // CHECK-NEXT: } }