blob: c58ae160c1972fd7a59a57e616a5e51b1e31b78d [file] [log] [blame]
Angel Garcia Gomez8535c6c2015-09-24 17:02:19 +00001// RUN: %python %S/check_clang_tidy.py %s modernize-loop-convert %t \
2// RUN: -config="{CheckOptions: [{key: modernize-loop-convert.NamingStyle, value: 'UPPER_CASE'}]}" \
3// RUN: -- -std=c++11 -I %S/Inputs/modernize-loop-convert
4
5#include "structures.h"
6
7const int N = 10;
8int ARR[N];
9int NUMS[N];
10
11void naming() {
12 for (int I = 0; I < N; ++I) {
13 printf("%d\n", ARR[I]);
14 }
15 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead [modernize-loop-convert]
16 // CHECK-FIXES: for (auto & ELEM : ARR)
17 // CHECK-FIXES-NEXT: printf("%d\n", ELEM);
18
19 for (int I = 0; I < N; ++I) {
20 printf("%d\n", NUMS[I]);
21 }
22 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
23 // CHECK-FIXES: for (auto & NUM : NUMS)
24 // CHECK-FIXES-NEXT: printf("%d\n", NUM);
25
26 int NUM = 0;
27 for (int I = 0; I < N; ++I) {
28 printf("%d\n", NUMS[I] + NUM);
29 }
30 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
31 // CHECK-FIXES: for (auto & ELEM : NUMS)
32 // CHECK-FIXES-NEXT: printf("%d\n", ELEM + NUM);
33
34 int ELEM = 0;
35 for (int I = 0; I < N; ++I) {
36 printf("%d\n", NUMS[I] + NUM + ELEM);
37 }
38 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
39 // CHECK-FIXES: for (auto & NUMS_I : NUMS)
40 // CHECK-FIXES-NEXT: printf("%d\n", NUMS_I + NUM + ELEM);
41
42 int NUMS_I = 0;
43 for (int I = 0; I < N; ++I) {
44 printf("%d\n", NUMS[I] + NUM + ELEM + NUMS_I);
45 }
46 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
47 // CHECK-FIXES: for (auto & NUMS_ELEM : NUMS)
48 // CHECK-FIXES-NEXT: printf("%d\n", NUMS_ELEM + NUM + ELEM + NUMS_I);
49
50 int NUMS_ELEM = 0;
51 for (int I = 0; I < N; ++I) {
52 printf("%d\n", NUMS[I] + NUM + ELEM + NUMS_I + NUMS_ELEM);
53 }
54 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
55 // CHECK-FIXES: for (auto & GIVE_ME_NAME_0 : NUMS)
56 // CHECK-FIXES-NEXT: printf("%d\n", GIVE_ME_NAME_0 + NUM + ELEM + NUMS_I + NUMS_ELEM);
57
58 int GIVE_ME_NAME_0 = 0;
59 for (int I = 0; I < N; ++I) {
60 printf("%d\n", NUMS[I] + NUM + ELEM + NUMS_I + NUMS_ELEM + GIVE_ME_NAME_0);
61 }
62 // CHECK-MESSAGES: :[[@LINE-3]]:3: warning: use range-based for loop instead
63 // CHECK-FIXES: for (auto & GIVE_ME_NAME_1 : NUMS)
64 // CHECK-FIXES-NEXT: printf("%d\n", GIVE_ME_NAME_1 + NUM + ELEM + NUMS_I + NUMS_ELEM + GIVE_ME_NAME_0);
65
66 int NUMS_J = 0;
67 for (int I = 0; I < N; ++I) {
68 for (int J = 0; J < N; ++J) {
69 printf("%d\n", NUMS[I] + NUMS[J] + NUM + ELEM + NUMS_I + NUMS_J + NUMS_ELEM);
70 }
71 }
72 // CHECK-MESSAGES: :[[@LINE-5]]:3: warning: use range-based for loop instead
73 // CHECK-MESSAGES: :[[@LINE-5]]:5: warning: use range-based for loop instead
74 // CHECK-FIXES: for (auto & GIVE_ME_NAME_0 : NUMS)
75 // CHECK-FIXES: for (auto & GIVE_ME_NAME_1 : NUMS)
76 // CHECK-FIXES-NEXT: printf("%d\n", GIVE_ME_NAME_0 + GIVE_ME_NAME_1 + NUM + ELEM + NUMS_I + NUMS_J + NUMS_ELEM);
77}