aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Stump <mrs@gcc.gnu.org>1995-03-18 02:31:09 +0000
committerMike Stump <mrs@gcc.gnu.org>1995-03-18 02:31:09 +0000
commit47c0d9de92723e805c6167ff53e850dfe3354e9f (patch)
treef269f291d97eaac2e4a412b23d194a3fe0111e3a
parent0ea6b275aa84087aeb90313f41d1046a83746846 (diff)
downloadgcc-47c0d9de92723e805c6167ff53e850dfe3354e9f.zip
gcc-47c0d9de92723e805c6167ff53e850dfe3354e9f.tar.gz
gcc-47c0d9de92723e805c6167ff53e850dfe3354e9f.tar.bz2
* libgcc2.c (__register_exceptions): Handle empty tables.
From-SVN: r9200
-rw-r--r--gcc/libgcc2.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index 6846dfc..bd33d1c 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -2237,9 +2237,14 @@ __throw_type_match (const char *catch_type, const char *throw_type)
void
__register_exceptions (exception_table *table)
{
- struct exception_table_node *node = (struct exception_table_node*)
- malloc (sizeof (struct exception_table_node));
+ struct exception_table_node *node;
exception_table *range = table + 1;
+
+ if (range->start == (void*)-1)
+ return;
+
+ node = (struct exception_table_node*)
+ malloc (sizeof (struct exception_table_node));
node->table = table;
/* This look can be optimized away either if the table