読者です 読者をやめる 読者になる 読者になる

GCCの警告を部分的にオフにする方法

C++ GCC

本来ならGCCの警告を出ないようにするのは良いことではないですが、どうしても警告を消すことができない場合はあると思います。
自分の例では、同じコードをgccとg++の両方でコンパイルすることがあるため、C++スタイルのキャストを使うことができずに警告が大量に出たりします。

そこで、ファイル単位や関数単位など、自分の好きな範囲で任意の警告をオフにする(またはオンにする)方法を記しておきます。
参考にしたページはこちらです。

オフにする場合には任意の場所で次のプラグマを追加します。

#pragma GCC diagnostic ignored "-Wcast-qual"

オンにする場合も同様に次のプラグマを追加します。

#pragma GCC diagnostic warning "-Wcast-qual"

ちなみに今書いてるC++のプログラムではオプションで以下のような警告を利用しています。
ただ、クラスのメンバ変数の初期化を全てメンバイニシャライザで行わないといけないのが結構面倒です。

 -Wall -Wextra -Wformat=2 -Wcast-qual -Wwrite-strings -Wconversion -Wfloat-equal -Wpointer-arith -Winit-self -Weffc++ -Wredundant-decls