https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70876
--- Comment #4 from Vittorio Zecca <zeccav at gmail dot com> --- Will you please check gcc 6.1 with your fix against bug 70877? I get an ICE, could it be a regression? gcc -fcheck-pointer-bounds -mmpx gccerr36.c gccerr36.c: In function ‘bar’: gccerr36.c:12:8: warning: function called through a non-compatible type d = ((double (*) (int)) foo) (i); ~^~~~~~~~~~~~~~~~~~~~~~~ gccerr36.c: In function ‘bar.chkp’: gccerr36.c:12:5: internal compiler error: in convert_move, at expr.c:268 d = ((double (*) (int)) foo) (i); ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x768d88 convert_move(rtx_def*, rtx_def*, int) ../../gcc-6.1.0/gcc/expr.c:268 0x76e585 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool, tree_node*) ../../gcc-6.1.0/gcc/expr.c:5483 0x76e9ff expand_assignment(tree_node*, tree_node*, bool) ../../gcc-6.1.0/gcc/expr.c:5175 0x691b0c expand_call_stmt ../../gcc-6.1.0/gcc/cfgexpand.c:2658 0x691b0c expand_gimple_stmt_1 ../../gcc-6.1.0/gcc/cfgexpand.c:3548 0x691b0c expand_gimple_stmt ../../gcc-6.1.0/gcc/cfgexpand.c:3714 0x6934a5 expand_gimple_basic_block ../../gcc-6.1.0/gcc/cfgexpand.c:5720 0x698386 execute ../../gcc-6.1.0/gcc/cfgexpand.c:6335