[Bug c/89500] New: [9 Regression] ICE: tree check: expected integer_cst, have ssa_name in get_len, at tree.h:5653

gscfq@t-online.de gcc-bugzilla@gcc.gnu.org
Mon Feb 25 19:53:00 GMT 2019


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

            Bug ID: 89500
           Summary: [9 Regression] ICE: tree check: expected integer_cst,
                    have ssa_name in get_len, at tree.h:5653
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Started with gcc-9 at -O[23] :


$ cat z1.c
extern __SIZE_TYPE__ strlen (const char*);
extern __SIZE_TYPE__ strnlen (const char*, __SIZE_TYPE__);
void foo (int *a)
{
  char c[0];
  a[0] = strlen (c);
  a[0] = strnlen (c, 0);
}


$ gcc-9-20190224 -c z1.c -O1
$
$ gcc-9-20190224 -c z1.c -O2
during GIMPLE pass: strlen
z1.c: In function 'foo':
z1.c:3:6: internal compiler error: tree check: expected integer_cst, have
ssa_name in get_len, at tree.h:5653
    3 | void foo (int *a)
      |      ^~~
0x5cf414 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/tree.c:9848
0xc517a7 tree_check(tree_node const*, char const*, int, char const*, tree_code)
        ../../gcc/tree.h:3432
0xc517a7 wi::extended_tree<192>::get_len() const
        ../../gcc/tree.h:5653
0xc517a7 wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::decompose(long*, unsigned int, generic_wide_int<wi::extended_tree<192> >
const&)
        ../../gcc/wide-int.h:964
0xc517a7 wide_int_ref_storage<true,
false>::wide_int_ref_storage<generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&, unsigned int)
        ../../gcc/wide-int.h:1013
0xc517a7 generic_wide_int<wide_int_ref_storage<true, false>
>::generic_wide_int<generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&, unsigned int)
        ../../gcc/wide-int.h:788
0xc517a7 bool wi::lts_p<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&,
generic_wide_int<wi::extended_tree<192> > const&)
        ../../gcc/wide-int.h:1880
0xe1a9ae wi::binary_traits<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >,
wi::int_traits<generic_wide_int<wi::extended_tree<192> > >::precision_type,
wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::precision_type>::signed_predicate_result operator<
<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&,
generic_wide_int<wi::extended_tree<192> > const&)
        ../../gcc/wide-int.h:3227
0xe1a9ae tree_int_cst_lt(tree_node const*, tree_node const*)
        ../../gcc/tree.h:5809
0xe1a9ae handle_builtin_strlen
        ../../gcc/tree-ssa-strlen.c:1305
0xe1cf63 strlen_check_and_optimize_stmt
        ../../gcc/tree-ssa-strlen.c:3574
0xe1cf63 strlen_dom_walker::before_dom_children(basic_block_def*)
        ../../gcc/tree-ssa-strlen.c:3927
0x1483d67 dom_walker::walk(basic_block_def*)
        ../../gcc/domwalk.c:353
0xe16c97 execute
        ../../gcc/tree-ssa-strlen.c:4007


More information about the Gcc-bugs mailing list