http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56297
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-12 13:46:52 UTC --- GCC 4.7 says /tmp/ccQAPnYJ.o (symbol from plugin): In function `esp': (.text+0x0): multiple definition of `esp' /tmp/ccihIbJc.o (symbol from plugin):(.text+0x0): first defined here In file included from foo.c:6:0, from :0: bar.c:1:14: warning: register of 'i' used for multiple global register variables [enabled by default] In file included from :0:0: foo.c:1:14: note: conflicts with 'i' collect2: error: ld returned 1 exit status with trunk we lost that (bogus) warning. Even when using two different variable names.