-respect-types-in-fields)Не приводить к указателям не указательные поля структуры
Этот параметр влияет только на анализ программы проверки кода.
Укажите, что поля структуры, изначально не объявленные как указатели, не будут преобразованы в указатели позже.
Пользовательский интерфейс (только для настольных ПК): в конфигурации проекта эта опция доступна в узле Проверочные допущения.
файл командной строки и параметров: Использовать параметр -respect-types-in-fields. См. раздел Сведения о командной строке.
Эта опция используется для идентификации и запрета слепков из полей структуры без указателей в указатели.
Проверка предполагает, что поля структуры, изначально не объявленные как указатели, не будут преобразованы в указатели позже.
| Код с выключенной опцией | Код с опцией on |
|---|---|
struct {
unsigned int x1;
unsigned int x2;
} S;
void funct(void) {
int var, *tmp;
S.x1 = &var;
tmp = (int*)S.x1;
*tmp = 1;
assert(var==1);
}В этом примере поля | struct {
unsigned int x1;
unsigned int x2;
} S;
void funct(void) {
int var, *tmp;
S.x1 = &var;
tmp = (int*)S.x1;
*tmp = 1;
assert(var==1);
}В этом примере поля |
Проверка предполагает, что поля структуры могут быть преобразованы в указатели, даже если они не объявлены как указатели.
Параметр: -respect-types-in-fields |
| По умолчанию: Откл. |
Пример (проверка кода):
polyspace-code-prover -sources |
Пример (сервер проверки кода):
polyspace-code-prover-server -sources |