diff options
author | Richard Henderson <rth@redhat.com> | 2002-04-10 18:06:33 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-04-10 18:06:33 -0700 |
commit | 6f3d0447fe81bbea10203da40b4bf2bf48a213cd (patch) | |
tree | 6b41eef3c11b7c47d9a169095130fbf96ecb89f4 /gcc | |
parent | 67092f4d30194322eeff2901730dc7f61619da2c (diff) | |
download | gcc-6f3d0447fe81bbea10203da40b4bf2bf48a213cd.zip gcc-6f3d0447fe81bbea10203da40b4bf2bf48a213cd.tar.gz gcc-6f3d0447fe81bbea10203da40b4bf2bf48a213cd.tar.bz2 |
except.c (add_ehl_entry): Allow duplicates after landing pad creation.
* except.c (add_ehl_entry): Allow duplicates after landing pad
creation.
From-SVN: r52149
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/except.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 095c88a..482ef8d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-04-10 Richard Henderson <rth@redhat.com> + + * except.c (add_ehl_entry): Allow duplicates after landing pad + creation. + 2002-04-10 David Edelsohn <edelsohn@gnu.org> * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64. diff --git a/gcc/except.c b/gcc/except.c index d4a903e..e79d232 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -1383,8 +1383,14 @@ add_ehl_entry (label, region) slot = (struct ehl_map_entry **) htab_find_slot (exception_handler_label_map, entry, INSERT); - if (*slot) + + /* Before landing pad creation, each exception handler has its own + label. After landing pad creation, the exception handlers may + share landing pads. This is ok, since maybe_remove_eh_handler + only requires the 1-1 mapping before landing pad creation. */ + if (*slot && !cfun->eh->built_landing_pads) abort (); + *slot = entry; } |