Если вы используете универсальный компилятор, можно столкнуться с этой проблемой. Для получения дополнительной информации смотрите 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);
При использовании этих обходных путей исходный код не изменяется.