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