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