http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60885
--- Comment #2 from Mark Wielaard <mark at gcc dot gnu.org> --- I think this is caused by the following in add_type_attribute: if (code == ERROR_MARK /* Handle a special case. For functions whose return type is void, we generate *no* type attribute. (Note that no object may have type `void', so this only applies to function return types). */ || code == VOID_TYPE) return;