OSDN Git Service

1998-10-23 Andrew MacLeod <amacleod@cygnus.com>
authoramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Oct 1998 16:26:19 +0000 (16:26 +0000)
committeramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Oct 1998 16:26:19 +0000 (16:26 +0000)
      * exception.cc (__cp_pop_exception): Free the original exception
      value, not the potentially coerced one.

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

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

index e5e8def..ae7eb52 100644 (file)
@@ -1,3 +1,8 @@
+1998-10-23  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * exception.cc (__cp_pop_exception): Free the original exception
+       value, not the potentially coerced one.
+
 1998-10-23  Mark Mitchell  <mark@markmitchell.com>
 
        * Makefile.in (hash.h): Run gperf when necessary.
index 05b4315..2cc0bc0 100644 (file)
@@ -233,7 +233,7 @@ __cp_pop_exception (cp_eh_info *p)
     p->cleanup (p->value, 2);
 
   if (! __is_pointer (p->type))
-    __eh_free (p->value);
+    __eh_free (p->original_value);  // value may have been co-erced.
 
   __eh_free (p);
 }