36 lines · cpp
1// RUN: %clang_analyze_cc1 -std=c++1z -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s2 3// expected-no-diagnostics4 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 side27template<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}36