https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80581
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-05-01 Target Milestone|--- |8.0 Ever confirmed|0 |1 --- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- Thanks. Here is another one: trippels@gcc2-power8 llvm_build % cat SelectionDAG.ii struct A; __attribute__((noreturn)) void report_fatal_error(A); struct A { enum NodeKind {}; struct Child { int cString; int decUI; } LHS; Child RHS; NodeKind LHSKind; NodeKind RHSKind; void m_fn1() const; A(char *); A(int) : RHSKind() { LHS.decUI = 0; } A m_fn2(const A &) const; }; A A::m_fn2(const A &p1) const { int a, b; a = LHSKind == 0; if (a) return 0; b = LHSKind == 1; if (b) return p1; m_fn1(); } inline A operator+(const A &p1, const A &p2) { return p1.m_fn2(p2); } void checkAddrSpaceIsValidForLibcall(int) { A c = "" + A(0); report_fatal_error(c); } void getMemcpy() { checkAddrSpaceIsValidForLibcall(0); } trippels@gcc2-power8 llvm_build % g++ -c -w -O2 SelectionDAG.ii SelectionDAG.ii:32:56: internal compiler error: in estimate_node_size_and_time, at ipa-inline-analysis.c:3425 void getMemcpy() { checkAddrSpaceIsValidForLibcall(0); } ^