[Bug ipa/93203] New: [10 Regression] ICE in decide_about_value, at ipa-cp.c:5448 since r278893
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jan 8 18:19:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93203
Bug ID: 93203
Summary: [10 Regression] ICE in decide_about_value, at
ipa-cp.c:5448 since r278893
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
CC: fxue at gcc dot gnu.org, marxin at gcc dot gnu.org
Target Milestone: ---
I see ICE for the following test-case:
$ cat ipacp.ii
class a {
public:
a(char *);
};
class ad {
public:
ad(a *);
};
class b {};
using ah = class ak {
using al = char;
public:
ak(b) : ak(0) {}
ak an() { return ap & 1; }
al ap;
ak(al af) : ap(af) {}
};
struct at {
ah au;
int av;
char aw;
char ax;
};
class az {
public:
struct ba {
void bb(ak am) {
ak bc = am.an();
bb(bc);
}
};
void bd(ak am) { be.bb(am); }
ba be;
};
class bg {
public:
int bh;
at bi;
};
int bj;
int *bk;
int c;
class bl {
bool bm();
bg bn;
az bo;
int e;
int bq;
};
class bs {
public:
bs(int *, ah *, char *, char *, int);
};
template < typename bt > class bu : bs {
using bv = typename bt::bv;
public:
template < typename... bx >
bu(a *by, int *bz, at body, bx...)
: bs(bz, &body.au, &body.aw, &body.ax, body.av), ca(bx()...), cb(by),
cc(by), cd(by), ce(by) {}
void cf() {
auto cg = ch();
auto ci = *cj();
ca.ck(this, cg, &ci);
}
bt ca;
ad cb;
ad cc;
ad cd;
ad ce;
bv *cj();
bv ch();
};
class cl {
public:
using bv = struct {};
cl(az *, int, int, int, int, a *, int, int **);
void ck(bs *, bv, bv *) {
b d;
ak ci(d);
bo.bd(ci);
}
az bo;
};
bool bl::bm() {
a by("");
bu< cl > cn(&by, &bj, bn.bi, &bo, c, bn.bh, e, 0, &by, bq, &bk);
cn.cf();
}
$ g++ -O3 ipacp.ii -m32
ipacp.ii: In member function ‘bool bl::bm()’:
ipacp.ii:88:8: warning: ISO C++ forbids converting a string constant to ‘char*’
[-Wwrite-strings]
88 | a by("");
| ^~
ipacp.ii:91:1: warning: no return statement in function returning non-void
[-Wreturn-type]
91 | }
| ^
during IPA pass: cp
ipacp.ii: At global scope:
ipacp.ii:91:1: internal compiler error: in decide_about_value, at ipa-cp.c:5448
0x609057 decide_about_value<tree_node*>
/home/marxin/Programming/gcc2/gcc/ipa-cp.c:5448
0x141fe42 decide_whether_version_node
/home/marxin/Programming/gcc2/gcc/ipa-cp.c:5507
0x1421f17 ipcp_decision_stage
/home/marxin/Programming/gcc2/gcc/ipa-cp.c:5653
0x1421f17 ipcp_driver
/home/marxin/Programming/gcc2/gcc/ipa-cp.c:5836
0x1421f17 execute
/home/marxin/Programming/gcc2/gcc/ipa-cp.c:5927
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
More information about the Gcc-bugs
mailing list