blob: 0b3d735e4837e5cd70ce5b94d50eb53459adfc3f [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: 'lower_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}