Если вы используете универсальный компилятор, можно столкнуться с этой проблемой. Для получения дополнительной информации смотрите Compiler (-compiler)
.
Анализ останавливается с сообщением об ошибке, связанным с не-ANSI® Ключевое слово C, например data
или такие атрибуты, как __attribute__((weak))
.
В зависимости от местоположения ключевого слова, сообщение об ошибке может варьироваться. Например, эта линия вызывает сообщение об ошибке: expected a ";"
.
data int tab[10];
Типовой Polyspace® компилятор поддерживает только ключевые слова ANSI C. Если вы используете расширение языка, универсальный компилятор не распознает его и рассматривает ключевое слово как обычный идентификатор.
Укажите компилятор при помощи опции Compiler (-compiler)
.
Если компилятор не поддерживается напрямую или не основан на поддерживаемом компиляторе, можно использовать универсальный компилятор. Чтобы обойти ошибки компиляции:
Если ключевое слово связано с моделированием памяти, удалите его из предварительно обработанного кода. Например, чтобы удалить data
ключевое слово, введите data=
для опции Preprocessor definitions (-D)
.
Если ключевое слово связано с атрибутом, удалите атрибуты из предварительно обработанного кода. Введите __attribute__(x)=
для опции Preprocessor definitions (-D)
.
Если ваш код имеет эту линию:
void __attribute__ ((weak)) func(void);
void func(void);
При использовании этих обходных путей исходный код не изменяется.