aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/except.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe08c41..092ae7c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-04-15 Olivier Hainque <hainque@act-europe.fr>
+
+ * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
+ to region, possible after integration of function with unreachable
+ regions that were optimized away.
+
2003-04-15 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
diff --git a/gcc/except.c b/gcc/except.c
index 7cdb187..a999834 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -913,7 +913,7 @@ resolve_fixup_regions ()
for (j = 1; j <= n; ++j)
{
cleanup = cfun->eh->region_array[j];
- if (cleanup->type == ERT_CLEANUP
+ if (cleanup && cleanup->type == ERT_CLEANUP
&& cleanup->u.cleanup.exp == fixup->u.fixup.cleanup_exp)
break;
}