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

            Bug ID: 86114
           Summary: [8/9 Regression] ICE in gimple_fold_builtin_strlen
                    with an invalid call to strnlen
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: msebor at gcc dot gnu.org
  Target Milestone: ---

GCC 8.1 and 9.0 fail with an ICE on the following invalid test case:

$ cat z.c && gcc -O2 -S -Wall -fdump-tree-optimized=/dev/stdout z.c
extern char* strlen (const char*);   // wrong return type

void* f (const char *s)
{
  return strlen (s);
}

during GIMPLE pass: forwprop
z.c: In function ‘f’:
z.c:6:1: internal compiler error: in set_range_info, at tree-ssanames.c:378
 }
 ^
0x1297a39 set_range_info(tree_node*, value_range_type,
generic_wide_int<wide_int_ref_storage<false, true> > const&,
generic_wide_int<wide_int_ref_storage<false, true> > const&)
        /src/gcc/8-branch/gcc/tree-ssanames.c:378
0xbda3e1 gimple_fold_builtin_strlen
        /src/gcc/8-branch/gcc/gimple-fold.c:3551
0xbda8fb gimple_fold_builtin
        /src/gcc/8-branch/gcc/gimple-fold.c:3666
0xbdcb58 gimple_fold_call
        /src/gcc/8-branch/gcc/gimple-fold.c:4158
0xbdfae8 fold_stmt_1
        /src/gcc/8-branch/gcc/gimple-fold.c:4833
0xbe0274 fold_stmt(gimple_stmt_iterator*, tree_node* (*)(tree_node*))
        /src/gcc/8-branch/gcc/gimple-fold.c:4986
0x11645f2 execute
        /src/gcc/8-branch/gcc/tree-ssa-forwprop.c:2445
Please submit a full bug report,

Reply via email to