blob: fadcb49fa0b3a55e350ffca432d6caa617628b29 [file] [log] [blame]
Raphael Isemann89ef7d92017-09-04 05:56:36 +00001// RUN: %clang_analyze_cc1 -std=c++1z -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s
Artem Dergachev34b64372016-08-02 12:21:09 +00002
3// expected-no-diagnostics
4
5int global = 0;
6
7template<typename ...Args>
8int foo1(Args&&... args) {
9 if (global > 0)
10 return 0;
11 else if (global < 0)
12 return (args + ...);
13 return 1;
14}
15
16// Different opeator in fold expression.
17template<typename ...Args>
18int foo2(Args&&... args) {
19 if (global > 0)
20 return 0;
21 else if (global < 0)
22 return (args - ...);
23 return 1;
24}
25
26// Parameter pack on a different side
27template<typename ...Args>
28int foo3(Args&&... args) {
29 if (global > 0)
30 return 0;
31 else if (global < 0)
32 return -1;
33 return (... + args);
34return 1;
35}