我使用 Polyspace IHME-8.1.0.12 (R2011a) 在我的项目中查找死代码。目前,分析抓住了这种情况:
int f1() {
int x = 1;
if (x > 0) return 1;
else return 0; // dead code
}
但不是这种情况:
int f2(int x) {
if (x > 0) return 1;
else return 0; // the very same dead code!
}
void call_site() {
f2(1);
}
请注意,它x
变成了一个参数,但它仍然有一个常数值,1
。该f2()
功能仅由call_site()
调用,或者,每个调用站点都f2()
使用调用x=1
。
在寻找无法访问的代码时,是否有我应该激活的配置选项来分析所有呼叫站点?或者这是 Polyspace 的限制?