http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53473
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-05-25 09:44:45 UTC --- Yes, odd indeed. Oddly, Clang barfs on the testcase with a similar error: t.cc:6:34: error: conflicting types for 'foo'