32 lines
715 B
C
32 lines
715 B
C
|
// RUN: %clang_analyze_cc1 -std=c11 -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s
|
||
|
|
||
|
// expected-no-diagnostics
|
||
|
|
||
|
int global;
|
||
|
|
||
|
int foo1() {
|
||
|
if (global > 0)
|
||
|
return 0;
|
||
|
else if (global < 0)
|
||
|
return _Generic(global, double: 1, float: 2, default: 3);
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
// Different associated type (int instead of float)
|
||
|
int foo2() {
|
||
|
if (global > 0)
|
||
|
return 0;
|
||
|
else if (global < 0)
|
||
|
return _Generic(global, double: 1, int: 2, default: 4);
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
// Different number of associated types.
|
||
|
int foo3() {
|
||
|
if (global > 0)
|
||
|
return 0;
|
||
|
else if (global < 0)
|
||
|
return _Generic(global, double: 1, default: 4);
|
||
|
return 1;
|
||
|
}
|