-boolean-types)Укажите типы данных, которые средство проверки правил кодирования должно считать логическими
Укажите типы данных, которые средство проверки правил кодирования должно считать логическими. Тип данных можно указать как логический, только если он определен через enum или typedef в исходном коде.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта этот параметр находится в узле Coding Standards & Code Metrics. Другие параметры, которые также необходимо включить, см. в разделе Зависимости.
файл командной строки и параметров: Использовать параметр -boolean-types. См. раздел Сведения о командной строке.
Используйте этот параметр, чтобы разрешить Polyspace ® проверять следующие правила кодирования:
MISRA C ®: 2004 и MISRA ® AC AGC
| Номер правила | Инструкция правила |
|---|---|
| 12.6 | операнды логических операторов, &&, ||, и !, должно быть логическим. Выражения, которые фактически являются логическими, не должны использоваться в качестве операндов для других операторов. |
| 13.2 | Тесты значения против нуля должны быть явными, если операнд не является логическим. |
| 15.4 | A switch выражение не должно представлять значение, которое является логическим. |
MISRA C: 2012
| Номер правила | Инструкция правила |
|---|---|
| 10.1 | Операнды не должны быть неподходящего существенного типа |
| 10.3 | Значение выражения не должно присваиваться объекту с более узким существенным типом или с другой категорией существенного типа |
| 10.5 | Значение выражения не должно относиться к неподходящему существенному типу |
| 14.4 | Управляющее выражение оператора if и управляющее выражение оператора итерации должны иметь по существу логический тип. |
| 16.7 | Выражение switch не должно иметь логический тип. |
Например, в следующем коде, если не указано myBool как логическое, Polyspace обнаруживает нарушение правила 14.4 MISRA C: 2012.
typedef int myBool;
void func1(void);
void func2(void);
void func(myBool flag) {
if(flag)
func1();
else
func2();
}По умолчанию нет
Щелкните
, чтобы добавить поле. Введите имя типа, которое Polyspace должен считать логическим.
Эта опция включена только при выборе одной из следующих опций:
Параметр: -boolean-types |
Значение: |
| По умолчанию нет |
Пример (поиск ошибок): polyspace-bug-finder -sources |
Пример (проверка кода):
polyspace-code-prover -sources |
Пример (сервер поиска ошибок):
polyspace-bug-finder-server -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -sources |