https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71077

            Bug ID: 71077
           Summary: gcc -lto raises ICE
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: saguryev.gnu at gmail dot com
  Target Milestone: ---

gcc raises ICE as follows starting from rev. 235653 :

[#  00000001] {2186}$>  ./gcc -O3 -flto  -march=core-avx2 O768_r.c
[ warnings snipped ]                                                            
O768_r.c:3:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main() {
 ^~~~ 
O768_r.c: In function 'main':
O768_r.c:3:1: internal compiler error: in find_taken_edge_cond_expr, at
tree-cfg.c:2235
 main() {
 ^
0xa9fe03 find_taken_edge_cond_expr
        ../../..//src/235653/gcc/tree-cfg.c:2235
0xa9fe03 find_taken_edge(basic_block_def*, tree_node*)
        ../../..//src/235653/gcc/tree-cfg.c:2182
0xc5880c thread_through_normal_block
        ../../..//src/235653/gcc/tree-ssa-threadedge.c:1077
0xc5a124 thread_across_edge(gcond*, edge_def*, bool, const_and_copies*,
avail_exprs_stack*, tree_node* (*)(gimple*, gimple*, avail_exprs_stack*))
        ../../..//src/235653/gcc/tree-ssa-threadedge.c:1274
0xce641f identify_jump_threads
        ../../..//src/235653/gcc/tree-vrp.c:10184
0xce641f vrp_finalize
        ../../..//src/235653/gcc/tree-vrp.c:10256
0xce641f execute_vrp
        ../../..//src/235653/gcc/tree-vrp.c:10345
0xce641f execute
        ../../..//src/235653/gcc/tree-vrp.c:10430
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper: fatal error: ./gcc returned 1 exit status
compilation terminated.
/usr/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status

[#  00000001] {2187}$>  cat  O768_r.c
*a;
b, c, d;
main() {
  for (;; b++) {
    c = 0;
    for (; c < 32; c++)
      if (b & 1 << c)
        a[b + c] = d;
  }
}

Reply via email to