https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109274
Bug ID: 109274
Summary: ice in in_chain_p, at gimple-range-gori.cc:119
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Target Milestone: ---
This C++ code:
float mulsignf_cb, mulsignf_t, mulsignf_bpa;
int mulsignf___trans_tmp_1;
float mulsignf() {
mulsignf_cb = 0 * -(2.0f * mulsignf_bpa);
mulsignf___trans_tmp_1 = mulsignf_cb != mulsignf_cb ? 0 : mulsignf();
mulsignf_t = mulsignf_bpa;
}
when compiled by recent g++ trunk and flag -O2, does this:
bug902.cc: In function ‘float mulsignf()’:
bug902.cc:7:1: warning: no return statement in function returning non-void
[-Wre
turn-type]
7 | }
| ^
during GIMPLE pass: vrp
bug902.cc:3:7: internal compiler error: in in_chain_p, at
gimple-range-gori.cc:1
19
3 | float mulsignf() {
| ^~~~~~~~
0x92e285 range_def_chain::in_chain_p(tree_node*, tree_node*)
../../trunk.year/gcc/gimple-range-gori.cc:119
0x1fd69f4 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&,
t
ree_node*, fur_source&, value_relation*)
../../trunk.year/gcc/gimple-range-gori.cc:667
The bug first seems to appear sometime from git hash g:454a4d5041f53cd1 to
g:0963cb5fde158cce, a distance of 41 commits.