[Bug tree-optimization/94131] New: [10 Regression] ICE: tree check: expected integer_cst, have plus_expr in get_len, at tree.h:5927
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Wed Mar 11 02:35:23 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94131
Bug ID: 94131
Summary: [10 Regression] ICE: tree check: expected integer_cst,
have plus_expr in get_len, at tree.h:5927
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
gcc-10.0.1-alpha20200103 snapshot (g:9de42a8e995451cb13dceb3970ae23ff88240bff)
ICEs when compiling the following testcase w/ -O1 -fno-tree-ccp
-fno-tree-forwprop:
void
rv (int ur)
{
char yb[ur];
int qn = &yb[0];
__builtin_memset (yb, '\0', sizeof (yb));
__builtin_printf ("%s", qn ? &yb[0] : "");
}
% gcc-10.0.1 -O1 -fno-tree-ccp -fno-tree-forwprop -w -c gsngdp2d.c
during GIMPLE pass: strlen
gsngdp2d.c: In function 'rv':
gsngdp2d.c:2:1: internal compiler error: tree check: expected integer_cst, have
plus_expr in get_len, at tree.h:5927
2 | rv (int ur)
| ^~
0x6fbc02 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree.c:9685
0x7c171f tree_check(tree_node const*, char const*, int, char const*, tree_code)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree.h:3534
0x7c171f wi::extended_tree<192>::get_len() const
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree.h:5927
0x7c171f wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::decompose(long*, unsigned int, generic_wide_int<wi::extended_tree<192> >
const&)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/wide-int.h:985
0x7c171f 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)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/wide-int.h:1034
0x7c171f 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)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/wide-int.h:790
0x7c171f 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&)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/wide-int.h:1902
0xf5ecd8 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&)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/wide-int.h:3248
0xf5ecd8 tree_int_cst_lt(tree_node const*, tree_node const*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree.h:6083
0xf5ecd8 get_range_strlen_dynamic
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree-ssa-strlen.c:1075
0xf5ef71 get_range_strlen_dynamic(tree_node*, c_strlen_data*, vr_values const*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree-ssa-strlen.c:1204
0x16aa577 get_string_length
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/gimple-ssa-sprintf.c:2029
0x16aa577 format_string
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/gimple-ssa-sprintf.c:2464
0x16ab003 format_directive
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/gimple-ssa-sprintf.c:3057
0x16ad869 compute_format_length
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/gimple-ssa-sprintf.c:4000
0x16ad869 handle_printf_call(gimple_stmt_iterator*, vr_values const*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/gimple-ssa-sprintf.c:4681
0xf674e3 strlen_check_and_optimize_call
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree-ssa-strlen.c:5420
0xf674e3 check_and_optimize_stmt
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree-ssa-strlen.c:5588
0xf674e3 strlen_dom_walker::before_dom_children(basic_block_def*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/tree-ssa-strlen.c:5821
0x1664337 dom_walker::walk(basic_block_def*)
/var/tmp/portage/sys-devel/gcc-10.0.1_alpha20200308/work/gcc-10-20200308/gcc/domwalk.c:309
More information about the Gcc-bugs
mailing list