質問

スプリントを実行します

matt@stanley:~/cpfs$ splint -paramuse +gnuextensions cpfs.c

この行で停止します:

__thread int cpfs_errno;

解析エラーで:

cpfs.c:127:13: Parse Error: Non-function declaration: __thread :
               int. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.

ドキュメントとうがいをチェックする __thread. 。でも __thread C99仕様の一部です, 、スプリントがサポートしていると言われています(参照を挿入)。

何が起きてる?スプリントに認識するにはどうすればよいですか __thread?

役に立ちましたか?

解決

から スプリントFAQ, 、追加するだけです -D__thread= スプリントコマンドラインに。これは、削除する効果があります __thread スプリントがそれを調べている間、コードからのキーワード。ここでは、スプリントは特にスレッド認識ではなく、キーワードによってGCCに伝えられた情報を使用できないと仮定しています。

他のヒント

__thread C99にはありません。それはGNU C拡張です - あなたがリンクしたセクションは内にあります C言語ファミリへの拡張. 。おそらく、標準の将来の改訂でそれを採用する準備として、C99標準の変更の観点から拡張を説明しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top