summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2007-09-22 08:42:57 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2007-09-22 08:42:57 +0000
commit8deb1d3134dd1b9c1b95e861ea00cdc115d52edc (patch)
treece35507892fd6bad041ced4cbba6f9dba4b58d20 /gcc/except.c
parent1018b4c3565d3c892addfc349b00b3519308211e (diff)
downloadgcc-8deb1d3134dd1b9c1b95e861ea00cdc115d52edc.tar.gz
re PR target/32325 (cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info)
PR target/32325 * except.c (finish_eh_generation): Call commit_edge_insertions if there are insns queued on the entry edge. * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns on the entry edge. From-SVN: r128665
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/except.c b/gcc/except.c
index f3204eb863a..fe98299450d 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -2107,7 +2107,9 @@ finish_eh_generation (void)
/* We've totally changed the CFG. Start over. */
find_exception_handler_labels ();
break_superblocks ();
- if (USING_SJLJ_EXCEPTIONS)
+ if (USING_SJLJ_EXCEPTIONS
+ /* Kludge for Alpha/Tru64 (see alpha_gp_save_rtx). */
+ || single_succ_edge (ENTRY_BLOCK_PTR)->insns.r)
commit_edge_insertions ();
FOR_EACH_BB (bb)
{