From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1118 invoked by alias); 18 Mar 2013 08:27:08 -0000 Received: (qmail 989 invoked by uid 48); 18 Mar 2013 08:26:35 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/56635] [4.8/4.9 regression] internal compiler error: in find_lattice_value, at tree-complex.c:15 Date: Mon, 18 Mar 2013 08:27:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Status Last reconfirmed Summary Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2013-03/txt/msg01296.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D56635 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-03-18 Summary|[4.8 regression] internal |[4.8/4.9 regression] |compiler error: in |internal compiler error: in |find_lattice_value, at |find_lattice_value, at |tree-complex.c:15 |tree-complex.c:15 Ever Confirmed|0 |1 --- Comment #4 from Jakub Jelinek 2013-03-18 08:= 26:32 UTC --- Reduced testcase (-O3): struct A { _Complex double a; }; struct B { A *b; void foo (void *); }; A operator / (A x, A y) { A r; r.a =3D x.a / y.a; return r; } void B::foo (void *x) { if (__real__ b[0].a) b[0] =3D (static_cast (x))->b[0] / b[0]; else b[0] =3D (static_cast (x))->b[0]; } The ICE is actually pr56635.C: In member function =E2=80=98void B::foo(void*)=E2=80=99: pr56635.C:13:1: error: invalid PHI argument B::foo (void *x) ^ MEM[(const struct A &)_9] pr56635.C:13:1: error: incompatible types in PHI argument 1 complex double const struct A cstore_10 =3D PHI <_11(3), MEM[(const struct A &)_9](4)> pr56635.C:13:1: internal compiler error: verify_gimple failed and looks like cselim bug. Started with http://gcc.gnu.org/viewcvs?root=3Dgcc&view=3Drev&rev=3D186501 = but guess it just has been latent before that.