警告は無いにこしたことはないですが、様々なコンパイラで出ないようにするのはなかなか困難です。#全部チェックするわけにはいきませんし「それはコンパイラの#バグだろう」って思うケースもありますし。あとシングルスレッド/マルチスレッド共用のためどうしても使ってない変数が出てきてしまいます。