https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79631
Bug ID: 79631
Summary: ICE tree check: expected integer_cst, have negate_expr
in decompose, at tree.h:5255
Product: gcc
Version: 7.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Version 5/6/7 (on x86_64 GNU/Linux) at -Os|1|2|3
and file ./gcc.dg/torture/pr71901.c
$ gcc-7-20170219 -O2 -mmpx -fcheck-pointer-bounds -c pr71901.c
pr71901.c: In function 'fn1.chkp':
pr71901.c:5:6: internal compiler error: tree check: expected integer_cst, have
negate_expr in decompose, at tree.h:5255
void fn1()
^~~
0xea199c tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../gcc/tree.c:9815
0x5e6764 tree_check(tree_node const*, char const*, int, char const*, tree_code)
../../gcc/tree.h:3320
0x5e6764 wi::int_traits<tree_node const*>::decompose(long*, unsigned int,
tree_node const*)
../../gcc/tree.h:5255
0xea6fa4 wi::int_traits<tree_node const*>::decompose(long*, unsigned int,
tree_node const*)
../../gcc/tree.h:3267
0xea6fa4 wide_int_ref_storage<false>::wide_int_ref_storage<tree_node
const*>(tree_node const* const&, unsigned int)
../../gcc/wide-int.h:976
0xea6fa4 generic_wide_int<wide_int_ref_storage<false>
>::generic_wide_int<tree_node const*>(tree_node const* const&, unsigned int)
../../gcc/wide-int.h:753
0xea6fa4 unsigned long wi::extract_uhwi<tree_node const*>(tree_node const*
const&, unsigned int, unsigned int)
../../gcc/wide-int.h:3054
0xea6fa4 tree_int_cst_sign_bit(tree_node const*)
../../gcc/tree.c:7355
0xcbada2 chkp_is_constant_addr
../../gcc/tree-chkp-opt.c:244
0xcbd81a chkp_get_check_result
../../gcc/tree-chkp-opt.c:656
0xcbf4d5 chkp_remove_check_if_pass
../../gcc/tree-chkp-opt.c:699
0xcbf4d5 chkp_remove_constant_checks
../../gcc/tree-chkp-opt.c:829
0xcbf4d5 chkp_opt_execute
../../gcc/tree-chkp-opt.c:1288
0xcbf4d5 execute
../../gcc/tree-chkp-opt.c:1344