4

「警告:「func」の引数1を渡すと、キャストなしで整数からポインタが作成されます」という警告をエラーとして作成しようとしていますが、オプションの名前が見つかりません。

私はからのすべての警告を試しました

gcc -Q --help=warnings | grep enabled

-Werror = XXXXとリストからのオプションの名前のいずれかを実行しようとしましたが、

または、警告-Wno-XXXXを無効にしようとしても、無効にできませんでした。

この特定の警告のオプションを知っている人はいますか?

4

2 に答える 2

2

私もそれを知りたかったので、gccソース(4.8.1)をチェックしました。c-typeck.cには、警告を発する次のコードがあります。

    WARN_FOR_ASSIGNMENT (location, 0,
                         G_("passing argument %d of %qE makes "
                            "pointer from integer without a cast"),
                         G_("assignment makes pointer from integer "
                            "without a cast"),
                         G_("initialization makes pointer from "
                            "integer without a cast"),
                         G_("return makes pointer from integer "
                            "without a cast"));

?の02番目の引数を参照してください。WAIT_FOR_ASSIGNMENT通常、これは診断オプションの1つのフラグです。ただし、この場合はゼロですので、具体的にエラーにすることはできません。

于 2013-07-29T20:14:09.950 に答える
0

gccマニュアルに記載されているように

-Werror=指定された警告をエラーにします。警告の指定子が追加されます。たとえば、-Werror = switchは、-Wswitchによって制御される警告をエラーに変換します。このスイッチは負の形式を取り、特定の警告の-Werrorを無効にするために使用されます。たとえば、-Wno-error = switchは、-Werrorが有効な場合でも、-Wswitch警告をエラーにしません。-fdiagnostics-show-optionオプションを使用すると、制御可能な各警告を、それを制御するオプションで修正して、このオプションで何を使用するかを決定できます。

サポートされているオプションは、-fdiagnostics-show-optionスイッチを使用して報告する必要があります。

運が良ければ、gccバージョンで警告をエラーに選択的に変換できる可能性があります。私が使用しているバージョンは間違いなくそうではないので、どちらも使用しています

-エラーすべての警告をエラーにします。

また

-pedantic-errors -pedanticと同様ですが、警告ではなくエラーが生成される点が異なります。

gccにエラーを出力させる唯一の可能性があるかもしれません。

于 2013-02-09T12:02:18.517 に答える