Summary: | [3.3.2 regression] infinite loop with packed struct and inlining | ||
---|---|---|---|
Product: | gcc | Reporter: | dje |
Component: | c++ | Assignee: | Jason Merrill <jason> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | gcc-bugs, jason, mark |
Priority: | P2 | Keywords: | wrong-code |
Version: | 3.3.2 | ||
Target Milestone: | 3.3.3 | ||
Host: | i686-pc-linux-gnu | Target: | i686-pc-linux-gnu |
Build: | i686-pc-linux-gnu | Known to work: | |
Known to fail: | Last reconfirmed: | 2003-12-10 08:27:57 | |
Attachments: | slightly smaller testcase |
Description
dje
2003-12-10 07:32:50 UTC
Same problem code is seen on 3.3 branch, but not on mainline or 3.3.1. (In reply to comment #1) > Same problem code is seen on 3.3 branch, but not on mainline or 3.3.1. Thanks for checking 3.3.1. Diffing the ChangeLog's and doing some semi-intelligent guessing, I narrowed it down to this patch. 2003-09-07 Jason Merrill <jason@redhat.com> PR c++/12181 * typeck.c (build_modify_expr): Don't always stabilize the lhs and rhs. Do stabilize the lhs of a MODIFY_EXPR used on the lhs. Sorry Jason. :-) Created attachment 5311 [details]
slightly smaller testcase
I'm not sure if the reason why this doesn't occur on mainline is luck, or a bug in backporting. Mark you did the backport. Any suggestions? Thanks. I really have no idea what's wrong. It probably makes sense to ask Jason, since it looks like this was this was his bug originally? Jason, the backport of your fix to PR12181 causes this regression on the 3.3 branch. Any suggestions? Thanks. Subject: Bug 13371 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: jason@gcc.gnu.org 2003-12-19 20:23:40 Modified files: gcc/cp : ChangeLog typeck.c Log message: PR c++/13371 * typeck.c (build_modify_expr): Stabilize lhs if we're narrowing. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.3076.2.224&r2=1.3076.2.225 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.436.2.19&r2=1.436.2.20 Subject: Bug 13371 CVSROOT: /cvs/gcc Module name: gcc Changes by: jason@gcc.gnu.org 2003-12-19 20:25:04 Modified files: gcc/cp : ChangeLog typeck.c Log message: PR c++/13371 * typeck.c (build_modify_expr): Stabilize lhs if we're narrowing. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3821&r2=1.3822 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&r1=1.513&r2=1.514 Subject: Bug 13371 CVSROOT: /cvs/gcc Module name: gcc Changes by: jason@gcc.gnu.org 2003-12-19 20:25:22 Added files: gcc/testsuite/g++.dg/init: bitfield2.C Log message: PR c++/13371 * typeck.c (build_modify_expr): Stabilize lhs if we're narrowing. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/init/bitfield2.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 Fixed. |