exponenta event banner

-show-аналогичные-переполнения

Показать все переполнения в режиме обхода

Синтаксис

-show-similar-overflows

Описание

-show-similar-overflows приводит к отображению всех переполнений в режиме огибания, даже если они вызваны одной и той же первопричиной.

При выборе warn-with-wrap-around для опции Overflow mode for signed integer (-signed-integer-overflows) или Overflow mode for unsigned integer (-unsigned-integer-overflows), значения, которые переполняются, переносятся. Например, значение INT_MAX + 1 обертывает для INT_MIN. Путь со значением переполнения продолжается за пределами переполнения с переносимым значением и может привести к аналогичному переполнению нескольких строк позже. По умолчанию средство проверки кода обнаруживает переполнение по той же основной причине и показывает только первое из аналогичных переполнений. Если устранить это переполнение, последующие переполнения также будут исправлены. Если необходимо просмотреть все переполнения в режиме обхода, используйте опцию -show-similar-overflows.

Если анализ выполняется из пользовательского интерфейса (только для настольных продуктов Polyspace ®), на панели Конфигурация (Configuration) можно ввести этот параметр в поле Другое (Other). ПосмотритеOther.

Примеры

В этом примере значение var неизвестен, и случаи ребер могут привести к переполнению в операции *copy1 = var * 2. Те же крайние случаи также приводят к переполнению в следующей операции. Средство проверки кода показывает оранжевую проверку переполнения только при первой операции.

int input();

void getEven(int* copy1, int* copy2) {
    int var;
    var = input();
    *copy1 = var * 2;
    *copy2 = var * 2;
}

При использовании опции -show-similar-overflows, средство проверки кода показывает оранжевые проверки переполнения для обеих операций.

int input();

void getEven(int* copy1, int* copy2) {
    int var;
    var = input();
    *copy1 = var * 2;
    *copy2 = var * 2;
}
Представлен в R2020b