1 // RUN: %clang_cc1 -analyze -std=c++11 -analyzer-checker=alpha.clone.CloneChecker -verify %s 2 3 // This tests if sub-sequences can match with normal sequences. 4 5 void log2(int a); 6 void log(); 7 8 int max(int a, int b) { 9 log2(a); 10 log(); // expected-warning{{Duplicate code detected}} 11 if (a > b) 12 return a; 13 return b; 14 } 15 16 int maxClone(int a, int b) { 17 log(); // expected-note{{Similar code here}} 18 if (a > b) 19 return a; 20 return b; 21 } 22 23 // Functions below are not clones and should not be reported. 24 25 int foo(int a, int b) { // no-warning 26 return a + b; 27 } 28