[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-04-02 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #10 from Martin Jambor jamborm at gcc dot gnu.org ---
Created attachment 32523
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32523action=edit
Proposed patch for the 4.8 branch

Independent of the trunk fix, I'm going to propose this simple patch
which disables propagation through thunks for the 4.8 branch.  It
passes bootstrap and testsuite on x86_64-linux.


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-04-02 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #11 from Martin Jambor jamborm at gcc dot gnu.org ---
Created attachment 32524
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32524action=edit
Proposed patch for the 4.7 branch

Independent of the trunk fix, I'm going to propose this simple patch
which disables propagation through thunks for the 4.7 branch.  It
passes bootstrap and testsuite on x86_64-linux.


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-04-01 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #8 from Martin Jambor jamborm at gcc dot gnu.org ---
Created attachment 32513
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32513action=edit
Miscompiled run time testcase

(In reply to Jakub Jelinek from comment #7)
 
 I still see the old testcase only there ;).

Yeah, I forgot to refresh the patch, but I do have it in my copy.  I'm
also adding this one.


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-04-01 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #9 from Martin Jambor jamborm at gcc dot gnu.org ---
This one has them all, in addition to fixing a real problem:

http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00016.html


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1
 CC||jakub at gcc dot gnu.org


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
Reduced testcase:
struct A {};
struct E { ~E (); };
struct B { virtual unsigned foo () const; };
struct C { virtual void foo (); };
struct D : public A { D (A *); };
struct I : public D { A i; I (int) : D (0) {} };
struct F : E { virtual unsigned foo (bool) const; };
template class T
struct G : public T {};
struct J : C, public F {};
struct K : public J { unsigned foo (bool) const { return 0; } };

struct H : B
{
  H (A);
  unsigned foo () const { return bar ().foo (0); }
  const F bar () const { return h; }
  GK h;
};

template class T
void
baz ()
{
  I f (0);
  T d (f);
}

void
test ()
{
  bazH ();
}

Regressed with r205019.


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
That is still too big, here is a smaller one:
struct B { virtual unsigned f () const; };
struct C { virtual void f (); };
struct F { virtual unsigned f (bool) const; ~F (); };
struct J : C, F {};
struct G : J { unsigned f (bool) const { return 0; } };
struct H : B
{
  H (int);
  unsigned f () const { return ((const F ) h).f (0); }
  G h;
};
H h (0);


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Jakub Jelinek from comment #4)
 That is still too big, here is a smaller one:
 struct B { virtual unsigned f () const; };
 struct C { virtual void f (); };
 struct F { virtual unsigned f (bool) const; ~F (); };
 struct J : C, F {};
 struct G : J { unsigned f (bool) const { return 0; } };
 struct H : B
 {
   H (int);
   unsigned f () const { return ((const F ) h).f (0); }
   G h;
 };
 H h (0);

Though, on this reduced testcase the ICE started with r176424, i.e. making it a
4.7/4.8/4.9 Regression on that testcase.


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-28 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #6 from Martin Jambor jamborm at gcc dot gnu.org ---
I added the newest testcase to the patch a proposed it on the mailing list:

http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01640.html


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-28 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org ---
(In reply to Martin Jambor from comment #6)
 I added the newest testcase to the patch a proposed it on the mailing list:
 
 http://gcc.gnu.org/ml/gcc-patches/2014-03/msg01640.html

I still see the old testcase only there ;).


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-25 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug middle-end/60640] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed

2014-03-25 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-03-25
   Assignee|unassigned at gcc dot gnu.org  |jamborm at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Jambor jamborm at gcc dot gnu.org ---
Confirmed, mine.