https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85620
Bug ID: 85620 Summary: getcontext is wrongly marked return twice Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com Target Milestone: --- special_function_p has /* ECF_RETURNS_TWICE is safe even for -ffreestanding. */ if (! strcmp (tname, "setjmp") || ! strcmp (tname, "sigsetjmp") || ! strcmp (name, "savectx") || ! strcmp (name, "vfork") || ! strcmp (name, "getcontext")) ^^^^^^^^^^^^ getcontext never returns twice. Instead swapcontext may return twice. flags |= ECF_RETURNS_TWICE;