1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// RUN: %clang_analyze_cc1 -std=c++11 -analyzer-checker=core,debug.ExprInspection -analyzer-config inline-lambdas=true -verify %s
void clang_analyzer_eval(bool);
void basic() {
int (*ret_zero)() = []() { return 0; };
clang_analyzer_eval(ret_zero() == 0); // expected-warning{{TRUE}}
}
void withParam() {
int (*add_ten)(int) = [](int b) { return b + 10; };
clang_analyzer_eval(add_ten(1) == 11); // expected-warning{{TRUE}}
}
int callBack(int (*fp)(int), int x) {
return fp(x);
}
void passWithFunc() {
clang_analyzer_eval(callBack([](int x) { return x; }, 5) == 5); // expected-warning{{TRUE}}
}
|