Я использую Polyspace IHME-8.1.0.12 (R2011a), чтобы найти мертвый код в моем проекте. В настоящее время анализ улавливает этот случай:Как заставить анализ сайта вызова при поиске мертвого кода в Polyspace?
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?
У меня есть функция 'main()', но у меня также есть обработчики прерываний, поэтому я использую '-main-generator'. Я установлю '-функции-в-петле'' на неиспользованный' и, надеюсь, моя проблема исчезнет. –
Я проверил это в своем проекте, и теперь все известные случаи мертвого кода обнаружены. Спасибо за ответ и спасибо @Sourav за помощь в моем вопросе (он удалил свои комментарии, но они были действительно полезны). –
@DmitryGrigoryev Я рад, что это помогло. :-) –