// RUN: %clang_analyze_cc1 -std=c++11 -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s

// This tests if sub-sequences can match with normal sequences.

void log2(int a);
void log();

int max(int a, int b) {
  log2(a);
  log(); // expected-warning{{Duplicate code detected}}
  if (a > b)
    return a;
  return b;
}

int maxClone(int a, int b) {
  log(); // expected-note{{Similar code here}}
  if (a > b)
    return a;
  return b;
}

// Functions below are not clones and should not be reported.

int foo(int a, int b) { // no-warning
  return a + b;
}
