https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79276
Bug ID: 79276 Summary: [7 Regression] ICE: Segmentation fault in VRP pass Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-7.0.0-alpha20170129 snapshot ICEs when compiling the following snippet w/ -O2, -Os, -O3, or -Ofast and glibc malloc()/free() usage checking machinery enabled: short int ix (int *ld, short int oi) { *ld = ((unsigned short int)oi | oi) && !!(*ld); return (oi != 0) ? oi : 1; } % MALLOC_PERTURB_=1 x86_64-pc-linux-gnu-gcc-7.0.0-alpha20170129 -O2 -c w7o4f2we.c w7o4f2we.c: In function 'ix': w7o4f2we.c:2:1: internal compiler error: Segmentation fault ix (int *ld, short int oi) ^~ Program received signal SIGSEGV, Segmentation fault. 0x0000000000e38092 in (anonymous namespace)::pass_vrp::execute(function*) () (gdb) where #0 0x0000000000e38092 in (anonymous namespace)::pass_vrp::execute(function*) () #1 0x0000000000ac0811 in execute_one_pass(opt_pass*) () #2 0x0000000000ac10e1 in execute_pass_list_1(opt_pass*) () #3 0x0000000000ac10f3 in execute_pass_list_1(opt_pass*) () #4 0x0000000000ac1135 in execute_pass_list(function*, opt_pass*) () #5 0x000000000078a923 in cgraph_node::expand() () #6 0x000000000078c03a in symbol_table::compile() [clone .part.51] () #7 0x000000000078e747 in symbol_table::finalize_compilation_unit() () #8 0x0000000000b9edd5 in compile_file() () #9 0x00000000005e293d in toplev::main(int, char**) () #10 0x00000000005e4cc7 in main ()