exponenta event banner

Разрешить отрицательный операнд для левых смен (-allow-negative-operand-in-shift)

Разрешить операции левой смены для отрицательного числа

Описание

Этот параметр влияет только на анализ программы проверки кода.

Укажите, что проверка должна разрешать операции левой смены для отрицательного числа.

Задать опцию

Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта параметр находится в узле Проверить поведение.

файл командной строки и параметров: Использовать параметр -allow-negative-operand-in-shift. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

Согласно стандарту C99 (sec 6.5.7) результат операции левой смены на отрицательное число не определен. В соответствии со стандартом проверка производит красный чек на левых сдвигах отрицательных чисел.

Если компилятор имеет четко определенное поведение для левых сдвигов отрицательных чисел, установите этот параметр. Обратите внимание, что разрешение левых сдвигов отрицательных чисел может снизить переносимость кода между компиляторами.

Настройки

На

Проверка позволяет выполнять операции сдвига для отрицательного числа, например, -2 << 2.

Выкл. (по умолчанию)

Если операция смены выполняется с отрицательным числом, то при проверке генерируется ошибка.

Информация командной строки

Параметр: -allow-negative-operand-in-shift
По умолчанию: Откл.
Пример (проверка кода): polyspace-code-prover -sources file_name -allow-negative-operand-in-shift
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -allow-negative-operand-in-shift