2017-09-04 13:56:36 +08:00
|
|
|
// RUN: %clang_analyze_cc1 -std=c++1z -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s
|
2016-08-02 20:21:09 +08:00
|
|
|
|
|
|
|
// expected-no-diagnostics
|
|
|
|
|
|
|
|
int foo1(int n) {
|
|
|
|
int result = 0;
|
|
|
|
switch (n) {
|
|
|
|
case 33:
|
|
|
|
result += 33;
|
|
|
|
[[clang::fallthrough]];
|
|
|
|
case 44:
|
|
|
|
result += 44;
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Identical to foo1 except the missing attribute.
|
|
|
|
int foo2(int n) {
|
|
|
|
int result = 0;
|
|
|
|
switch (n) {
|
|
|
|
case 33:
|
|
|
|
result += 33;
|
|
|
|
;
|
|
|
|
case 44:
|
|
|
|
result += 44;
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|