OSDN Git Service

* exception.cc (__cplus_type_matcher): Match __eh_matcher
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Jul 1999 18:00:41 +0000 (18:00 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Jul 1999 18:00:41 +0000 (18:00 +0000)
prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28271 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/exception.cc

index 4dba902..aac5417 100644 (file)
@@ -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.
index 8e8f35f..372536e 100644 (file)
@@ -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)