llvm-g++ 4.0 has completely different code for this warning,