OSDN Git Service

2008-02-06 Douglas Gregor <doug.gregor@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / except.c
index fe98299..0fbda61 100644 (file)
@@ -1005,7 +1005,9 @@ duplicate_eh_regions (struct function *ifun, duplicate_eh_regions_map map,
     for (prev_try = VEC_index (eh_region, cfun->eh->region_array, outer_region);
          prev_try && prev_try->type != ERT_TRY;
         prev_try = prev_try->outer)
-      if (prev_try->type == ERT_MUST_NOT_THROW)
+      if (prev_try->type == ERT_MUST_NOT_THROW
+         || (prev_try->type == ERT_ALLOWED_EXCEPTIONS
+             && !prev_try->u.allowed.type_list))
        {
          prev_try = NULL;
          break;