blob: 0aed11bcf070a34b27a55cd814f265b8370db50f [file] [log] [blame]
Dominic Chen184c6242017-03-03 18:02:02 +00001// RUN: %clang_analyze_cc1 -std=c++1z -analyzer-checker=alpha.clone.CloneChecker -verify %s
Artem Dergachev78692ea2016-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}