clang で未使用のマクロを警告するには、-Wunused-macros
オプションを指定します。
#define MY_UNUSED_MACRO
int main(void)
{
return 0;
}
$ # M1 Mac (Ventura) + Apple clang 14.0.0
$ clang sample.cpp -Wunused-macros
sample.cpp:1:9: warning: macro is not used [-Wunused-macros]
#define MY_UNUSED_MACRO
^
1 warning generated.
警告を抑制する
警告を抑制したい場合は -Wno-unused-macros
を指定します。
-Wunused-macros
はデフォルトで無効になっていますが、ビルドツール等がこのオプションを指定している場合は後付けで打ち消すことができます。
$ # M1 Mac (Ventura) + Apple clang 14.0.0
$ # -Wno-unused-macros が後ろにある場合、警告は表示されません。
$ clang sample.cpp -Wunused-macros -Wno-unused-macros
$
参考資料
-
Clang documentation — DIAGNOSTIC FLAGS IN CLANG
https://clang.llvm.org/docs/DiagnosticsReference.html#wunused-macros -
gccで Wall & Wextra を使っても有効にならない警告
https://qiita.com/EqualL2/items/0cfb5b1cbfd70e2af662