generic.c
715 Bytes
// 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;
}