https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103306
--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> --- No matter what, IMO assertions or aborts should be for bugs in the tool (fixincl in this case), something that shouldn't happen if the tool doesn't have bugs, while errors or possibly ignored errors should be for the case where the bug is outside of the tool like in this case. And, for a tool like fixincl, the big question is if it should be a fatal error or just warning or non-fatal error, something the tool can survive and continue with next header.