yeah, for some reasons Apple GCC was happy to see the variable set even if not used, so it did not complain here.
GCC 4.6 added that diagnostic, it's why I was in a hurry to see mainline stop using 4.4 while Linux/BSD were shipping 4.6.x.
You can get better diagnostics on OS X by building with Clang (it'll probably become the default in another Xcode rev or two).