except.c (enum eh_region_type): Add ERT_UNKNOWN.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Sat, 17 Nov 2001 17:33:57 +0000 (17:33 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 17 Nov 2001 17:33:57 +0000 (12:33 -0500)
* except.c (enum eh_region_type): Add ERT_UNKNOWN.
(mark_eh_region, case ERT_UKNONW): New case.

From-SVN: r47123

gcc/ChangeLog
gcc/except.c

index d520cdae603686142b7084145228584556e67f39..9166e2681871d3fa8c3393fc4dd85b3f748dc437 100644 (file)
@@ -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>
 
index 7ddb80734e89f17ef86be59649a593d02179af32..ad9b9f576441fdbef335cf8e9b813b9ff67b44ab 100644 (file)
@@ -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;