http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57709
--- Comment #11 from Jan Kratochvil <jan.kratochvil at redhat dot com> --- Similar inappropriate warning is generated for typedef-vs-variable as reported now by Adam Jackson. Again a mistaken use cannot harm as it causes other errors. And clang also does not warn on it. int main(void) { typedef int x; { int x = 0; return x; } }