Richard Biener <rguent...@suse.de> writes:

>       PR tree-optimization/56982
>       * builtins.def (BUILT_IN_LONGJMP): longjmp is not a leaf
>       function.
>       * gimplify.c (gimplify_call_expr): Notice special calls.
>       (gimplify_modify_expr): Likewise.
>       * tree-cfg.c (make_abnormal_goto_edges): Handle setjmp-like
>       abnormal control flow receivers.
>       (call_can_make_abnormal_goto): Handle cfun->calls_setjmp
>       in the same way as cfun->has_nonlocal_labels.
>       (gimple_purge_dead_abnormal_call_edges): Likewise.
>       (stmt_starts_bb_p): Make setjmp-like abnormal control flow
>       receivers start a basic-block.

This breaks libgo.

../../../gcc/libgo/runtime/proc.c: In function ‘runtime_mcall.constprop.7’:
../../../gcc/libgo/runtime/proc.c:419:13: error: ‘({anonymous})’ may be used 
uninitialized in this function [-Werror=maybe-uninitialized]
   getcontext(&gp->context);
             ^

Andreas.

-- 
Andreas Schwab, sch...@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

Reply via email to