diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/except.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d520cda..9166e26 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * except.c (enum eh_region_type): Add ERT_UNKNOWN. + (mark_eh_region, case ERT_UKNONW): New case. + 2001-11-17 Christopher Faylor <cgf@redhat.com> Corinna Vinschen <vinschen@redhat.com> diff --git a/gcc/except.c b/gcc/except.c index 7ddb807..ad9b9f5 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -128,7 +128,8 @@ struct eh_region /* Each region does exactly one thing. */ enum eh_region_type { - ERT_CLEANUP = 1, + ERT_UNKNOWN = 0, + ERT_CLEANUP, ERT_TRY, ERT_CATCH, ERT_ALLOWED_EXCEPTIONS, @@ -478,6 +479,10 @@ mark_eh_region (region) switch (region->type) { + case ERT_UNKNOWN: + /* This can happen if a nested function is inside the body of a region + and we do a GC as part of processing it. */ + break; case ERT_CLEANUP: ggc_mark_tree (region->u.cleanup.exp); break; |