On Sun, Jul 5, 2015 at 2:07 PM, Prathamesh Kulkarni
<prathamesh.kulka...@linaro.org> wrote:
> Hi,
> Passing -dx causes segmentation fault:
> Test case: void f(void) {}
>
> ./test.c: In function 'f':
> ../test.c:3:1: internal compiler error: Segmentation fault
>  }
>  ^
> 0xab6baf crash_signal
>         /home/prathamesh.kulkarni/gnu-toolchain/src/gcc.git/gcc/toplev.c:366
> 0x694b14 verify_flow_info()
>         /home/prathamesh.kulkarni/gnu-toolchain/src/gcc.git/gcc/cfghooks.c:109
> 0x9f7e64 execute_function_todo
>         /home/prathamesh.kulkarni/gnu-toolchain/src/gcc.git/gcc/passes.c:1997
> 0x9f86eb execute_todo
>         /home/prathamesh.kulkarni/gnu-toolchain/src/gcc.git/gcc/passes.c:2042
>
> Started with r210068.
> It looks like -dx causes cfun->cfg to be NULL, and hence the segfault
> in verify_flow_info().
> The attached patch tries to fix it by adding a check to cfun->cfg before 
> calling
> verify_flow_info() from execute_function_todo().
> Bootstrapped and tested on x86_64-unknown-linux-gnu.
> OK for trunk ?

No.  We've checked cfun->curr_properties & PROP_cfg already.  So whatever
is keeping that set but frees the CFG is the offender (and should
clear the flag).

Richard.

> Thank you,
> Prathamesh

Reply via email to