summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2013-09-04 17:35:07 +0000
committerChandler Carruth <chandlerc@gmail.com>2013-09-04 17:35:07 +0000
commitd9063c46f59f4bec47bcbeddca8ca2f789348c03 (patch)
tree76505542df7a05016dc71ffe44ed3ba264fb54be /clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp
parent6a23d212897d5402035cfaea82260f6dae1c8f2a (diff)
downloadbcm5719-llvm-d9063c46f59f4bec47bcbeddca8ca2f789348c03.tar.gz
bcm5719-llvm-d9063c46f59f4bec47bcbeddca8ca2f789348c03.zip
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
Diffstat (limited to 'clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp')
-rw-r--r--clang-tools-extra/test/cpp11-migrate/LoopConvert/array.cpp155
1 files changed, 0 insertions, 155 deletions
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<int N>
-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)();
-}
OpenPOWER on IntegriCloud