public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/12491] [3.3/3.4 Regression] [eh] Destructor fails to compile when optimizations (inlining) are enabled Date: Sat, 06 Dec 2003 09:18:00 -0000 [thread overview] Message-ID: <20031206091812.2395.qmail@sources.redhat.com> (raw) In-Reply-To: <20031002113610.12491.harizak@speech.gr> ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2003-12-06 09:18 ------- Thanks for the clarification. I dug deeper and I'm now convinced that it's an EH problem: we have 6 EH regions, laid out as follows: fixup cleanup 2 --> 1 | \ | \ 4 --> 3 | \ | \ 6 --> 5 where --> stands for 'peer' and non-horizontal edges stand for 'inner'/'outer'. The problem is that the real_region of R4 is R2, which is also a fixup region and thus is eliminated. The following patch cures the ICE but I'd like confirmation by an EH specialist that it is sane: Index: except.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/except.c,v retrieving revision 1.254 diff -u -p -r1.254 except.c --- except.c 14 Nov 2003 10:44:08 -0000 1.254 +++ except.c 6 Dec 2003 09:05:00 -0000 @@ -937,8 +937,13 @@ remove_fixup_regions (void) && (fixup = cfun->eh->region_array[INTVAL (XEXP (note, 0))]) && fixup->type == ERT_FIXUP) { - if (fixup->u.fixup.real_region) - XEXP (note, 0) = GEN_INT (fixup->u.fixup.real_region->region_number); + /* Walk up the chain of fixup regions. */ + do { + fixup = fixup->u.fixup.real_region; + } while (fixup && fixup->type == ERT_FIXUP); + + if (fixup) + XEXP (note, 0) = GEN_INT (fixup->region_number); else remove_note (insn, note); } [Mike, I CCed you because you're the author of except.c] -- What |Removed |Added ---------------------------------------------------------------------------- CC| |mrs at apple dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12491
next prev parent reply other threads:[~2003-12-06 9:18 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2003-10-02 11:36 [Bug c++/12491] New: " harizak at speech dot gr 2003-10-02 11:38 ` [Bug c++/12491] " harizak at speech dot gr 2003-10-02 11:39 ` harizak at speech dot gr 2003-10-02 12:23 ` nathan at gcc dot gnu dot org 2003-10-02 12:28 ` harizak at speech dot gr 2003-10-02 15:36 ` [Bug optimization/12491] [3.3/3.4 Regression] " pinskia at gcc dot gnu dot org 2003-10-16 9:36 ` mmitchel at gcc dot gnu dot org 2003-10-26 21:48 ` [Bug optimization/12491] [3.3/3.4 Regression] [eh] " pinskia at gcc dot gnu dot org 2003-12-05 14:31 ` ebotcazou at gcc dot gnu dot org 2003-12-05 14:37 ` [Bug c++/12491] " ebotcazou at gcc dot gnu dot org 2003-12-06 1:09 ` wilson at specifixinc dot com 2003-12-06 9:18 ` ebotcazou at gcc dot gnu dot org [this message] 2003-12-06 21:12 ` bangerth at dealii dot org 2003-12-07 17:16 ` pinskia at gcc dot gnu dot org 2003-12-29 18:55 ` [Bug c++/12491] [3.3/3.4 Regression] " pinskia at gcc dot gnu dot org 2004-01-14 8:23 ` gdr at gcc dot gnu dot org 2004-01-14 10:32 ` rth at gcc dot gnu dot org 2004-01-14 21:01 ` cvs-commit at gcc dot gnu dot org 2004-01-14 21:04 ` rth at gcc dot gnu dot org 2004-01-14 22:07 ` pinskia at gcc dot gnu dot org 2004-01-27 13:08 ` cvs-commit at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20031206091812.2395.qmail@sources.redhat.com \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).