This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR56982, handle setjmp like non-local labels

On Sat, Apr 20, 2013 at 5:14 AM, Andreas Schwab <> wrote:
> Richard Biener <> 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);
>              ^

That's an unusually useless error message.  There are no local structs
in this function.  Without digging into the compiler I'm not sure what
this means or how to fix it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]