Lines Matching full:max

1 // RUN: %check_clang_tidy %s modernize-min-max-use-initializer-list %t
6 T max(T a, T b) {
82 const T& max( const T& a, const T& b ) {
87 T max(std::initializer_list<T> ilist)
93 const T& max( const T& a, const T& b, Compare comp ) {
98 T max(std::initializer_list<T> ilist, Compare comp) {
139 int max1 = std::max(1, std::max(2, 3));
140 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
141 // CHECK-FIXES: int max1 = std::max({1, 2, 3});
144 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
147 int max2 = std::max(1, std::max(2, std::max(3, 4)));
148 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
149 // CHECK-FIXES: int max2 = std::max({1, 2, 3, 4});
151 int max2b = std::max(std::max(std::max(1, 2), std::max(3, 4)), std::max(std::max(5, 6), std::max(7, 8)));
152 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
153 // CHECK-FIXES: int max2b = std::max({1, 2, 3, 4, 5, 6, 7, 8});
155 int max2c = std::max(std::max(1, std::max(2, 3)), 4);
156 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
157 // CHECK-FIXES: int max2c = std::max({1, 2, 3, 4});
159 int max2d = std::max(std::max({1, 2, 3}), 4);
160 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
161 // CHECK-FIXES: int max2d = std::max({1, 2, 3, 4});
164 int max2e = std::max(1, max(2, max(3, 4)));
165 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
166 // CHECK-FIXES: int max2e = std::max({1, 2, 3, 4});
169 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
172 int max3 = std::max(std::max(4, 5), std::min(2, std::min(3, 1)));
173 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
174 // CHECK-MESSAGES: :[[@LINE-2]]:37: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
175 // CHECK-FIXES: int max3 = std::max({4, 5, std::min({2, 3, 1})});
177 int min3 = std::min(std::min(4, 5), std::max(2, std::max(3, 1)));
178 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
179 // CHECK-MESSAGES: :[[@LINE-2]]:37: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
180 // CHECK-FIXES: int min3 = std::min({4, 5, std::max({2, 3, 1})});
182 int max4 = std::max(1, std::max(2, 3, greater_than), less_than);
183 // CHECK-FIXES: int max4 = std::max(1, std::max(2, 3, greater_than), less_than);
188 int max5 = std::max(1, std::max(2, 3), less_than);
189 // CHECK-FIXES: int max5 = std::max(1, std::max(2, 3), less_than);
194 int max6 = std::max(1, std::max(2, 3, greater_than), greater_than);
195 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
196 // CHECK-FIXES: int max6 = std::max({1, 2, 3 }, greater_than);
199 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
202 int max7 = std::max(1, std::max(2, 3, fless_than), fgreater_than);
203 // CHECK-FIXES: int max7 = std::max(1, std::max(2, 3, fless_than), fgreater_than);
208 int max8 = std::max(1, std::max(2, 3, fless_than), less_than);
209 // CHECK-FIXES: int max8 = std::max(1, std::max(2, 3, fless_than), less_than)
214 int max9 = std::max(1, std::max(2, 3, fless_than), fless_than);
215 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
216 // CHECK-FIXES: int max9 = std::max({1, 2, 3 }, fless_than);
219 // CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
222 int min10 = std::min(std::min(4, 5), std::max(2, utils::max(3, 1)));
223 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: do not use nested 'std::min' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
224 // CHECK-FIXES: int min10 = std::min({4, 5, std::max(2, utils::max(3, 1))});
226 int max10 = std::max({std::max(1, 2), std::max({5, 6, 1}), 2, std::min({1, 2, 4})});
227 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
228 // CHECK-FIXES: int max10 = std::max({1, 2, 5, 6, 1, 2, std::min({1, 2, 4})});
230 int typecastTest = std::max(std::max<int>(0U, 0.0f), 0);
231 // CHECK-MESSAGES: :[[@LINE-1]]:20: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
232 // CHECK-FIXES: int typecastTest = std::max({static_cast<int>(0U), static_cast<int>(0.0f), 0});
234 int typecastTest1 = std::max(std::max<long>(0U, 0.0f), 0L);
235 // CHECK-MESSAGES: :[[@LINE-1]]:21: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
236 // CHECK-FIXES: int typecastTest1 = std::max({static_cast<long>(0U), static_cast<long>(0.0f), 0L});
238 int typecastTest2 = std::max(std::max<int>(10U, 20.0f), 30);
239 // CHECK-MESSAGES: :[[@LINE-1]]:21: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
240 // CHECK-FIXES: int typecastTest2 = std::max({static_cast<int>(10U), static_cast<int>(20.0f), 30});
242 int typecastTest3 = std::max(std::max<int>(0U, std::max<int>(0.0f, 1.0f)), 0);
243 // CHECK-MESSAGES: :[[@LINE-1]]:21: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
244 // CHECK-FIXES: int typecastTest3 = std::max({static_cast<int>(0U), static_cast<int>(0.0f), static_cast<int>(1.0f), 0});
246 #define max3f(a, b, c) std::max(a, std::max(b, c))
247 // CHECK-FIXES: #define max3f(a, b, c) std::max(a, std::max(b, c))
250 int macroVarMax = std::max(value, std::max(1, 2));
251 // CHECK-MESSAGES: :[[@LINE-1]]:19: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
252 // CHECK-FIXES: int macroVarMax = std::max({value, 1, 2});
255 int macroVarMax2 = std::max(1, std::max<int>(value2, 2.0f));
256 // CHECK-MESSAGES: :[[@LINE-1]]:20: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
257 // CHECK-FIXES: int macroVarMax2 = std::max({1, static_cast<int>(value2), static_cast<int>(2.0f)});
260 int maxTN1 = std::max(1, 2);
261 // CHECK-FIXES: int maxTN1 = std::max(1, 2);
263 int maxTN2 = std::max({1, 2, 3});
264 // CHECK-FIXES: int maxTN2 = std::max({1, 2, 3});
266 int maxTN3 = std::max({1, 2, 3}, less_than);
267 // CHECK-FIXES: int maxTN3 = std::max({1, 2, 3}, less_than);
276 A maxNT1 = std::max(A(1), A(2));
277 // CHECK-FIXES: A maxNT1 = std::max(A(1), A(2));
279 A maxNT2 = std::max(A(1), std::max(A(2), A(3)));
280 // CHECK-FIXES: A maxNT2 = std::max(A(1), std::max(A(2), A(3)));
282 A maxNT3 = std::max(A(1), std::max(A(2), A(3)), [](const A &lhs, const A &rhs) { return lhs.a < rhs.a; });
283 // CHECK-FIXES: A maxNT3 = std::max(A(1), std::max(A(2), A(3)), [](const A &lhs, const A &rhs) { return lhs.a < rhs.a; });
295 B maxTT1 = std::max(B(), B());
296 // CHECK-FIXES: B maxTT1 = std::max(B(), B());
298 B maxTT2 = std::max(B(), std::max(B(), B()));
299 // CHECK-FIXES: B maxTT2 = std::max(B(), std::max(B(), B()));
301 B maxTT3 = std::max(B(), std::max(B(), B()), [](const B &lhs, const B &rhs) { return lhs.a[0] < rhs.a[0]; });
302 // CHECK-FIXES: B maxTT3 = std::max(B(), std::max(B(), B()), [](const B &lhs, const B &rhs) { return lhs.a[0] < rhs.a[0]; });
312 return std::max(
314 std::max(fun1Arg(0),
315 std::max(fun2Args(0, 1),
316 std::max(fun3Args(0, 1, 2), fun4Args(0, 1, 2, 3)))));
317 // CHECK-MESSAGES: :[[@LINE-5]]:12: warning: do not use nested 'std::max' calls, use an initializer list instead [modernize-min-max-use-initializer-list]
318 // CHECK-FIXES: return std::max(
328 return std::max<int>({a, b, c});