diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/except.c | 2 |
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; } |