http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60955
--- Comment #1 from Matt Godbolt <matt at godbolt dot org> --- The previous snippet wasn't quite as minimal as it could be. This single line also reproduces it: unsigned int erroneous_warning(register int a) { return (a); } Jonathan Wakely mentioned this may be related to this bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57573