[Bug middle-end/81318] [8 regression] ICE in to_reg_br_prob_base, at profile-count.h:189
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Aug 11 12:02:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81318
--- Comment #19 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Markus Trippelsdorf from comment #8)
> Reduced Boost testcase:
>
> struct A;
> struct B {
> typedef A *type;
> };
> struct C {
> B::type operator->();
> };
> struct D {
> struct F {
> F(void(void *), F *, void());
> };
> template <typename FunT> struct J : F {
> FunT m_Function;
> J(FunT) : F(m_fn1, 0, 0) {}
> static void m_fn1(void *) { static_cast<J *>(0)->m_Function(); }
> };
> F *m_pImpl;
> template <typename FunT> D(FunT p1) : m_pImpl(new J<FunT>(p1)) {}
> };
> struct A {
> void m_fn2(D);
> };
> struct G {
> void operator()() { throw; }
> };
> struct H {
> void operator()() try { G()(); } catch (int) {
> }
> };
> struct I {
> void operator()() { H()(); }
> };
> void fn1() {
> I a;
> C b;
> b->m_fn2(a);
> }
I'm testing patch for this PR. Markus what options are needed to spot ICE with
this test-case? Can't reproduce it.
More information about the Gcc-bugs
mailing list