summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-07-26 18:00:41 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-07-26 18:00:41 +0000
commit7e96998cf82f5636061190b10283dca8292a42ce (patch)
tree9216a0b22ba03a33455d4b70464e84c1ade8a5e3 /gcc/cp
parent60f77c863ef5ff29dbc432f18819284204b9d01c (diff)
downloadgcc-7e96998cf82f5636061190b10283dca8292a42ce.tar.gz
* exception.cc (__cplus_type_matcher): Match __eh_matcher
prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28271 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/exception.cc10
2 files changed, 9 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 4dba90246fb..aac5417740a 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+1999-07-26 Nathan Sidwell <nathan@acm.org>
+
+ * exception.cc (__cplus_type_matcher): Match __eh_matcher
+ prototype.
+
1999-07-26 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (CP_INTEGRAL_TYPE_P): New macro.
diff --git a/gcc/cp/exception.cc b/gcc/cp/exception.cc
index 8e8f35f50db..372536ed952 100644
--- a/gcc/cp/exception.cc
+++ b/gcc/cp/exception.cc
@@ -1,5 +1,5 @@
// Functions for Exception Support for -*- C++ -*-
-// Copyright (C) 1994, 95-97, 1998 Free Software Foundation
+// Copyright (C) 1994, 95-97, 1998, 1999 Free Software Foundation
// This file is part of GNU CC.
@@ -165,13 +165,11 @@ __eh_free (void *p)
free (p);
}
-
-typedef void * (* rtimetype) (void);
-
extern "C" void *
-__cplus_type_matcher (cp_eh_info *info, rtimetype match_info,
+__cplus_type_matcher (__eh_info *info_, void *match_info,
exception_descriptor *exception_table)
{
+ cp_eh_info *info = (cp_eh_info *)info_;
void *ret;
/* No exception table implies the old style mechanism, so don't check. */
@@ -184,7 +182,7 @@ __cplus_type_matcher (cp_eh_info *info, rtimetype match_info,
/* we don't worry about version info yet, there is only one version! */
- void *match_type = match_info ();
+ void *match_type = ((void *(*)())match_info) ();
ret = __throw_type_match_rtti (match_type, info->type, info->original_value);
/* change value of exception */
if (ret)