From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12435 invoked by alias); 4 Nov 2013 10:01:51 -0000 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 Received: (qmail 9765 invoked by uid 48); 4 Nov 2013 09:59:49 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/58970] [4.7/4.8/4.9 Regression] internal compiler error: in get_bit_range, at expr.c:4562 Date: Mon, 04 Nov 2013 10:01:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 4.8.2 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.7.4 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-11/txt/msg00192.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D58970 --- Comment #11 from Jakub Jelinek --- (In reply to Bernd Edlinger from comment #10) > but this should'nt be neccessary then? >=20 > if (bitoffset > *bitpos) > { > HOST_WIDE_INT adjust =3D bitoffset - *bitpos; > - > gcc_assert ((adjust % BITS_PER_UNIT) =3D=3D 0); > - gcc_assert (*offset !=3D NULL_TREE); >=20=20 > *bitpos +=3D adjust; > - *offset > - =3D size_binop (MINUS_EXPR, *offset, size_int (adjust / BITS_PER_UNIT)); > + if (*offset =3D=3D NULL_TREE) > + *offset =3D size_int (-adjust / BITS_PER_UNIT); > + else > + *offset > + =3D size_binop (MINUS_EXPR, *offset, size_int (adjust / BITS_PER_UNIT= )); > *bitstart =3D 0; > } Can you prove it isn't necessary? I mean, *bitpos could still be smaller t= han bitoffset, even when not negative, say with some packed+aligned structures containing bitfields or similar. NULL_TREE *offset is the same thing as ze= ro at that spot, just perhaps less efficient in that case, so I think if we ca= n't prove it will not be hit, it is easy to handle it. >>From gcc-bugs-return-433416-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Mon Nov 04 10:03:21 2013 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 14955 invoked by alias); 4 Nov 2013 10:03:20 -0000 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 Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 11674 invoked by uid 48); 4 Nov 2013 10:01:17 -0000 From: "mpolacek at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/58978] [4.9 Regression] ICE: Segmentation fault Date: Mon, 04 Nov 2013 10:03: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-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: mpolacek at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: assigned_to Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-11/txt/msg00193.txt.bz2 Content-length: 401 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58978 Marek Polacek changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|mpolacek at gcc dot gnu.org |jakub at gcc dot gnu.org --- Comment #7 from Marek Polacek --- Reassigning.