汎用コンパイラに関連する Polyspace コンパイル エラーの修正
汎用コンパイラを使用すると、この問題が発生する可能性があります。詳細は、コンパイラ (-compiler) を参照してください。
問題
解析が停止し、非 ANSI® C キーワード (data など) や属性 (__attribute__((weak)) など) に関するエラー メッセージが表示されます。
キーワードの位置によって、エラー メッセージは異なる可能性があります。たとえば、次の行は expected a ";" というエラー メッセージを表示します。
data int tab[10];
原因
汎用 Polyspace® コンパイラは ANSI C キーワードのみをサポートします。言語拡張を使用する場合、汎用コンパイラはそれを認識せず、キーワードを通常の識別子として扱います。
解決法
オプション [コンパイラ] (-compiler) を使用して、コンパイラを指定します。
使用しているコンパイラが直接サポートされていないか、サポートされているコンパイラをベースにしていない場合は、汎用コンパイラを使用できます。コンパイル エラーを回避するには、以下を行います。
キーワードがメモリ モデル化に関連する場合は、そのキーワードを前処理済みコードから削除します。たとえば、
dataキーワードを削除するには、オプション[プリプロセッサ定義] (-D)にdata=を入力します。キーワードが属性に関連する場合、前処理済みのコードから属性を削除します。オプション
[プリプロセッサ定義] (-D)に__attribute__(x)=を入力します。コードに次の行が含まれていて、
属性を削除する場合、その行は解析で次のように読み取られます。void __attribute__ ((weak)) func(void);
void func(void);
これらの回避策を使用する場合、ソース コードは変更されません。