-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' |
Пример (программа автоматического доказательства кода):
|
Пример (сервер программы автоматического доказательства кода):
|