https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93384

--- Comment #25 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Yeah, I think that is a good summary.  I wasn't sure if 2) is safe, but perhaps
it is if it comes from analysis of the function body (for user attributes, I
believe I've seen (or even wrote, don't remember) an alias on error(3)
function, where error itself can't be noreturn, but the alias would be
something we always call with arguments that will make it noreturn, and that is
something we don't want to propagate in between the decls).
And yes, for 3) that is something I've mentioned above, though not in the form
of looking up the assembler name, but walking the aliases, though I guess
looking up the assembler name is better.  Dunno if we can punt if we don't find
a suitable name in a certain number of attempts, I see most of the callers that
can cope with the function returning NULL, but at least one spot asserts that
it returns non-NULL.

Reply via email to