Apparently Clang can detect variables that are both unitialised and unused, but not GCC. Might have to do with optimisation flags, dunno.