From d9063c46f59f4bec47bcbeddca8ca2f789348c03 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Wed, 4 Sep 2013 17:35:07 +0000 Subject: Rename cpp11-migrate to clang-modernize. There is no reason to expect this tool to be limited to C++11, it seems very likely to be of on-going interest. It seems likely to be useful for modernizing even as new libraries come out in TSes and other formats than a complete standard. Fundamentally, we need something a bit more general. After some discussion on the list, going with 'clang-modernize'. I've tried to do a reasonably comprehensive job of fixing up the names, but I may still have missed some. Feel free to poke me if you spot any fallout here. Things I've tried reasonably hard to find and fix: - cpp11-migrate -> clang-modernize - Migrator -> Modernizer - Clean up the introductory documentation that was C++11 specific. I'll also point out that this tool continues to delight me. =] Also, a huge thanks to those who have so carefully, thoroughly documented the tool. The docs here are simply phenomenal. Every tool should be this well documented. I hope I have updated the documentation reasonably well, but I'm not very good at documentation, so review much appreciated. llvm-svn: 189960 --- .../test/cpp11-migrate/LoopConvert/array.cpp | 155 --------------------- 1 file changed, 155 deletions(-) delete mode 100644 clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp (limited to 'clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp') diff --git a/clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp b/clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp deleted file mode 100644 index 780fc3746bf..00000000000 --- a/clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp +++ /dev/null @@ -1,155 +0,0 @@ -// RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp -// RUN: cp %t.cpp %t.base -// RUN: cpp11-migrate -loop-convert %t.cpp -- -I %S/Inputs -// RUN: FileCheck -input-file=%t.cpp %s -// RUN: cp %t.base %t.cpp -// NORUN cpp11-migrate -count-only . %t.cpp -- -I %S/Inputs > %T/out -// NORUN FileCheck -check-prefix=COUNTONLY -input-file=%T/out %s -// RUN: diff %t.cpp %t.base - -#include "structures.h" - -const int N = 6; -const int NMinusOne = N - 1; -int arr[N] = {1, 2, 3, 4, 5, 6}; -int (*pArr)[N] = &arr; - -void f() { - int sum = 0; - // Update the number of correctly converted loops as this test changes: - // COUNTONLY: 15 converted - // COUNTONLY-NEXT: 0 potentially conflicting - // COUNTONLY-NEXT: 0 change(s) rejected - - for (int i = 0; i < N; ++i) { - sum += arr[i]; - int k; - } - // CHECK: for (auto & elem : arr) { - // CHECK-NEXT: sum += elem; - // CHECK-NEXT: int k; - // CHECK-NEXT: } - - for (int i = 0; i < N; ++i) { - printf("Fibonacci number is %d\n", arr[i]); - sum += arr[i] + 2; - } - // CHECK: for (auto & elem : arr) - // CHECK-NEXT: printf("Fibonacci number is %d\n", elem); - // CHECK-NEXT: sum += elem + 2; - - for (int i = 0; i < N; ++i) { - int x = arr[i]; - int y = arr[i] + 2; - } - // CHECK: for (auto & elem : arr) - // CHECK-NEXT: int x = elem; - // CHECK-NEXT: int y = elem + 2; - - for (int i = 0; i < N; ++i) { - int x = N; - x = arr[i]; - } - // CHECK: for (auto & elem : arr) - // CHECK-NEXT: int x = N; - // CHECK-NEXT: x = elem; - - for (int i = 0; i < N; ++i) { - arr[i] += 1; - } - // CHECK: for (auto & elem : arr) { - // CHECK-NEXT: elem += 1; - // CHECK-NEXT: } - - for (int i = 0; i < N; ++i) { - int x = arr[i] + 2; - arr[i] ++; - } - // CHECK: for (auto & elem : arr) - // CHECK-NEXT: int x = elem + 2; - // CHECK-NEXT: elem ++; - - for (int i = 0; i < N; ++i) { - arr[i] = 4 + arr[i]; - } - // CHECK: for (auto & elem : arr) - // CHECK-NEXT: elem = 4 + elem; - - for (int i = 0; i < NMinusOne + 1; ++i) { - sum += arr[i]; - } - // CHECK: for (auto & elem : arr) { - // CHECK-NEXT: sum += elem; - // CHECK-NEXT: } - - for (int i = 0; i < N; ++i) { - printf("Fibonacci number %d has address %p\n", arr[i], &arr[i]); - sum += arr[i] + 2; - } - // CHECK: for (auto & elem : arr) - // CHECK-NEXT: printf("Fibonacci number %d has address %p\n", elem, &elem); - // CHECK-NEXT: sum += elem + 2; - - Val teas[N]; - for (int i = 0; i < N; ++i) { - teas[i].g(); - } - // CHECK: for (auto & tea : teas) { - // CHECK-NEXT: tea.g(); - // CHECK-NEXT: } -} - -struct HasArr { - int Arr[N]; - Val ValArr[N]; - void implicitThis() { - for (int i = 0; i < N; ++i) { - printf("%d", Arr[i]); - } - // CHECK: for (auto & elem : Arr) { - // CHECK-NEXT: printf("%d", elem); - // CHECK-NEXT: } - - for (int i = 0; i < N; ++i) { - printf("%d", ValArr[i].x); - } - // CHECK: for (auto & elem : ValArr) { - // CHECK-NEXT: printf("%d", elem.x); - // CHECK-NEXT: } - } - - void explicitThis() { - for (int i = 0; i < N; ++i) { - printf("%d", this->Arr[i]); - } - // CHECK: for (auto & elem : this->Arr) { - // CHECK-NEXT: printf("%d", elem); - // CHECK-NEXT: } - - for (int i = 0; i < N; ++i) { - printf("%d", this->ValArr[i].x); - } - // CHECK: for (auto & elem : this->ValArr) { - // CHECK-NEXT: printf("%d", elem.x); - // CHECK-NEXT: } - } -}; - -// Loops whose bounds are value-dependent shold not be converted. -template -void dependentExprBound() { - for (int i = 0; i < N; ++i) - arr[i] = 0; - // CHECK: for (int i = 0; i < N; ++i) - // CHECK-NEXT: arr[i] = 0; -} -template void dependentExprBound<20>(); - -void memberFunctionPointer() { - Val v; - void (Val::*mfpArr[N])(void) = { &Val::g }; - for (int i = 0; i < N; ++i) - (v.*mfpArr[i])(); - // CHECK: for (auto & elem : mfpArr) - // CHECK-NEXT: (v.*elem)(); -} -- cgit v1.2.3