[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00986] Re: -Wno-empty-body not recognized by FreeBSD gcc
- Subject: [FDclone-users:00986] Re: -Wno-empty-body not recognized by FreeBSD gcc
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Mon, 02 Jul 2012 21:37:17 +0900
しらいです。
In Message-Id <867gumh6fe.knu@iDaemons.org>
"Akinori MUSHA" <knu@iDaemons.org>さんwrites:
> FreeBSDでビルドしたところ、 gcc (4.2.1 20070831 patched [FreeBSD])に
> -Wno-empty-body など知らんと怒られてしまいました。
ほう。gcc-4.2 は未対応でしたか。
> gcc のリリースノートや ChangeLog を見ても警告オプションの empty-body が
> どのリリースから追加されたものなのかさっぱり分からない(commit の日付上
> は 2006-12-16)ので、GCCのリリース版のtarballを順次ダウンロードして調べ
> たところ、初出は4.3.0でした。
私も調べたのですが、-Wall 指定時に出る empty body warning
自体は 4.2 からのようなので、-Wno-empty-body も 4.2 からだと
思ってました。4.2 では「empty-body」じゃないのかな?
名称が「empty-body」じゃないとして、では -Wall で全指定し
た際に source の /*EMPTY*/ の箇所で warning は出ませんか?か
なりあちこちにある筈ですが。
/*EMPTY*/ は lint(1) 用の empty body 回避策なんですが、gcc
も lint(1) の作法くらい対応してても良さそうなものなのに。最
近の gcc 開発陣はそもそも lint(1) を知らない?
確か Linux には lint(1) 無いんでしたっけ。もう知らない方が
主流なのかしらん。
> --- mkmfsed.c.orig 2012-06-30 00:00:00.000000000 +0900
> +++ mkmfsed.c 2012-07-02 16:22:32.972457023 +0900
> @@ -193,7 +193,7 @@
> # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)
> strappend(buf3, "-Wno-attributes");
> # endif
> -# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
> +# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
> strappend(buf3, "-Wno-empty-body");
> # endif
> #endif /* __GNUC__ && __GNUC_MINOR__ */
host cc 用の -Wno-empty-body もあるので修正箇所は二箇所に
なります。この patch でどうでしょう?
---- Cut Here ----
diff -ur ../old/FD-3.00l/mkmfsed.c ./mkmfsed.c
--- ../old/FD-3.00l/mkmfsed.c Sat Jun 30 00:00:00 2012
+++ ./mkmfsed.c Mon Jul 2 21:05:22 2012
@@ -193,7 +193,7 @@
# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)
strappend(buf3, "-Wno-attributes");
# endif
-# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
strappend(buf3, "-Wno-empty-body");
# endif
#endif /* __GNUC__ && __GNUC_MINOR__ */
@@ -207,7 +207,7 @@
# if H___GNUC__ > 4 || (H___GNUC__ == 4 && H___GNUC_MINOR__ >= 1)
strappend(buf1, "-Wno-attributes");
# endif
-# if H___GNUC__ > 4 || (H___GNUC__ == 4 && H___GNUC_MINOR__ >= 2)
+# if H___GNUC__ > 4 || (H___GNUC__ == 4 && H___GNUC_MINOR__ >= 3)
strappend(buf1, "-Wno-empty-body");
# endif
# endif /* H___GNUC__ && H___GNUC_MINOR__ */
---- Cut Here ----
しらい たかし