diff options
author | Mike Stump <mrs@gcc.gnu.org> | 1995-03-18 02:31:09 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 1995-03-18 02:31:09 +0000 |
commit | 47c0d9de92723e805c6167ff53e850dfe3354e9f (patch) | |
tree | f269f291d97eaac2e4a412b23d194a3fe0111e3a /gcc | |
parent | 0ea6b275aa84087aeb90313f41d1046a83746846 (diff) | |
download | gcc-47c0d9de92723e805c6167ff53e850dfe3354e9f.zip gcc-47c0d9de92723e805c6167ff53e850dfe3354e9f.tar.gz gcc-47c0d9de92723e805c6167ff53e850dfe3354e9f.tar.bz2 |
* libgcc2.c (__register_exceptions): Handle empty tables.
From-SVN: r9200
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/libgcc2.c | 9 |
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 |