https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112334
--- Comment #1 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- This might be a side issue, but: @defbuiltin{{void} __builtin_return (void *@var{result})} This built-in function returns the value described by @var{result} from the containing function. You should specify, for @var{result}, a value returned by @code{__builtin_apply}. So I'm not sure it's legal to pass &i to __builtin_return().