switch (enum)

typedef enum { FOO, BAR} Type;

void hoge(Type t)
{
  switch (t) {
    case FOO:
      do_something();
      break;
  }
}

こんなコードを書いてコンパイルしたときに、こんな警告が出た。

% gcc -Wall hoge.c
hoge.c: In function ' hoge' :
hoge.c:226: warning: enumeration value ' BAR'  not handled in switch

賢いな。-Wswitch / -Wswitch-enum でこの警告がでるようになるようだ。
いやまぁ今回の場合はホントに BAR の場合は何も処理が無いのでこれでいいんだけど。