https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67409
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Unfortunately, adding an argument to identify_goto whether it is should be a permerror or normal error doesn't work, because identify_goto could be called first for a non-fatal case, but later on we could find that it actually is fatal. So, the option is to partly revert the patch, use error instead of inform if the condition is actually fatal, or add permerr argument to identify_goto, that would control whether it uses permerror or error, and change identified into an int, holding the level (not called identify_goto yet, called it with permerror true, and finally called it with permerror false), and if we want a non--fpermissive controllable error, but we have already emitted a [-fpermissive] one (or nothing at all), call identify_goto again.