-respect-types-in-fields
)Не бросайте неуказательные поля структуры к указателям
Эта опция влияет на анализ Программы автоматического доказательства Кода только.
Укажите, что поля структуры, не объявленные первоначально как указатели, не будут брошены к указателям позже.
Пользовательский интерфейс (только десктопные решения): В вашей настройке проекта опция доступна на узле Verification Assumptions.
Командная строка: Используйте опцию -respect-types-in-fields
. Смотрите информацию о командной строке.
Используйте эту опцию, чтобы идентифицировать и запретить броски от неуказательных полей структуры до указателей.
Верификация принимает, что поля структуры, не объявленные первоначально как указатели, не будут брошены к указателям позже.
Код с опцией прочь | Код с опцией на |
---|---|
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 |
Значение по умолчанию: 'off' |
Пример (Программа автоматического доказательства Кода):
Polyspace Code Prover - источники |
Пример (Сервер Программы автоматического доказательства Кода):
сервер программы автоматического доказательства полипробела кода - источники |