[Bug ipa/64139] [4.9/5 Regression] ice in possible_polymorphic_call_targets, at ipa-devirt.c:2410
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 12 11:04:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64139
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |trippels at gcc dot gnu.org
Summary|[5 Regression] ice in |[4.9/5 Regression] ice in
|possible_polymorphic_call_t |possible_polymorphic_call_t
|argets, at |argets, at
|ipa-devirt.c:2410 |ipa-devirt.c:2410
Known to fail| |4.9.1, 5.0
--- Comment #5 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
reduced test case:
class IObject {
public:
virtual ~IObject();
};
class A {
virtual int m_fn1();
};
class B {
public:
virtual int m_fn2(B) const;
};
class D : IObject, public virtual B {};
class G : public D, A {
public:
G(A);
};
class F : B {
friend class C;
};
class C {
void m_fn3(const IObject &, int &);
void m_fn4(const B &, int &);
};
A a;
void C::m_fn3(const IObject &, int &p2) {
G r(a);
m_fn4(r, p2);
}
void C::m_fn4(const B &p1, int &) {
F b;
p1.m_fn2(b);
}
Also ICEs with gcc-4.9:
trippels@gcc20 ~ % g++ -c -O2 bug178.cc
bug178.cc: In member function ‘void C::m_fn3(const IObject&, int&)’:
bug178.cc:32:1: internal compiler error: in possible_polymorphic_call_targets,
at ipa-devirt.c:1557
More information about the Gcc-bugs
mailing list