This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/84933] New: [8 Regression] ICE in set_value_range, at tree-vrp.c:288 since r257852
- From: "marxin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 18 Mar 2018 18:56:57 +0000
- Subject: [Bug tree-optimization/84933] New: [8 Regression] ICE in set_value_range, at tree-vrp.c:288 since r257852
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84933
Bug ID: 84933
Summary: [8 Regression] ICE in set_value_range, at
tree-vrp.c:288 since r257852
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: law at gcc dot gnu.org, msebor at gcc dot gnu.org
Target Milestone: ---
Following ICEs:
$ cat /tmp/ice.ii
enum a {};
int *d;
int b, e, f;
a c, g;
class h {
virtual unsigned i();
};
class j : h {
unsigned i() {
for (;;) {
b = c <= 0;
if (b)
e = *d;
b = g && c;
if (b)
f = *d;
}
}
};
void k() { new j; }
$ gcc -fstrict-enums -O3 -fno-inline /tmp/ice.ii -c
during GIMPLE pass: printf-return-value
/tmp/ice.ii: In member function ‘virtual unsigned int j::i()’:
/tmp/ice.ii:9:12: internal compiler error: in set_value_range, at
tree-vrp.c:288
unsigned i() {
^
c0x108f87f set_value_range(value_range*, value_range_type, tree_node*,
tree_node*, bitmap_head*)
../../gcc/tree-vrp.c:288
0x108f966 set_and_canonicalize_value_range(value_range*, value_range_type,
tree_node*, tree_node*, bitmap_head*)
../../gcc/tree-vrp.c:433
0x108fffc vrp_intersect_ranges_1
../../gcc/tree-vrp.c:6297
0x108fffc vrp_intersect_ranges(value_range*, value_range*)
../../gcc/tree-vrp.c:6334
0x1112b45 vr_values::extract_range_for_var_from_comparison_expr(tree_node*,
tree_code, tree_node*, tree_node*, value_range*)
../../gcc/vr-values.c:682
0x15b8bf5 evrp_range_analyzer::try_find_new_range(tree_node*, tree_node*,
tree_code, tree_node*)
../../gcc/gimple-ssa-evrp-analyze.c:89
0x15b9a62
evrp_range_analyzer::record_ranges_from_incoming_edge(basic_block_def*)
../../gcc/gimple-ssa-evrp-analyze.c:198
0x15ba06c evrp_range_analyzer::enter(basic_block_def*)
../../gcc/gimple-ssa-evrp-analyze.c:75
0x15dc8eb before_dom_children
../../gcc/gimple-ssa-sprintf.c:4018
0x159a0d7 dom_walker::walk(basic_block_def*)
../../gcc/domwalk.c:353
0x15d567a execute
../../gcc/gimple-ssa-sprintf.c:4053