splint のエラー回避オプションについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kkkniq

splint のエラー回避オプションについて

#1

投稿記事 by kkkniq » 14年前

質問です。
splintを実行させると、エラーになってしまい困っております。

>splint sub.c
sub.c(6):Parse Error. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.

と、エラーになってしまい、それ以降をチェックしてくれません。

6行目の型宣言行を、実処理の上に移動することで、
エラーにならなくなるのですが
このようなコーディングがたくさんありすぎて困っています。
エラーにならないオプションありますでしょうか?

また、外部変数はヘッダに記述しても同様のエラーになってしまい
こちらも困っております。

どなたかご教授お願いいたします。
----- sub.c ---------
1 void Func ( void )
2 {
3 int iNum ;
4
5 iNum = 0;
6 char cStr ;
7 .

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: splint のエラー回避オプションについて

#2

投稿記事 by ISLe » 14年前

C言語の文法としてはエラーになってとうぜんだと思うのですが。
lintに間違ったプログラムを間違っていないと報告して欲しいと要求するのはナンセンスではないでしょうか。

FAQを見たらsplintはC++コードには対応していないと書いてありました。
Splint FAQ 7.Does Splint handle C++?
http://www.splint.org/faq.html#quest5

たかぎ
記事: 328
登録日時: 15年前
住所: 大阪
連絡を取る:

Re: splint のエラー回避オプションについて

#3

投稿記事 by たかぎ » 14年前

splintのオプションをすぐに調べられないのですが...

確かsplintは(完全ではないですが)C99に対応しているはずですので、C99を有効にすれば解決するはずです。
調べてみてください。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: splint のエラー回避オプションについて

#4

投稿記事 by ISLe » 14年前

興味が湧いたので調べてみました。

splintはデフォルトでC99対応有効で、その上で(まだ)質問にある文法には対応していないようです。

CygwinのSplint 3.1.1で確認してみました。
stdbool.hや組み込み型_Boolを使ったコードは通りました。
inttypes.hの書式指定子を使ったコードは通りませんでした。
#3.1.2が出ていますけどChangeLogには見当たらないですね。

VCだとC言語としてコンパイルしたら通らないので、質問者さんはgccとか使っていらっしゃるのでしょうか。
見た目はVCっぽいコードですけど。

kkkniq

Re: splint のエラー回避オプションについて

#5

投稿記事 by kkkniq » 14年前

ご回答ありがとうございます。

あれから、慣れない英語を確認しながら、
怪しそうなオプションを片っ端から設定してみましたが
ダメでしたので、あきらめようとしていました。

使えないということがわかりましたことは大収穫です。

ちなみに、gcc を使用しております。
Makefileのオプションには、-O2 -Wall -g
が設定されておりました。

回答していただいた方々、ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る