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 ()

Reply via email to