[pypy-svn] r32036 - pypy/dist/pypy/rpython

arigo at codespeak.net arigo at codespeak.net
Thu Sep 7 00:43:02 CEST 2006


Author: arigo
Date: Thu Sep  7 00:43:00 2006
New Revision: 32036

Modified:
   pypy/dist/pypy/rpython/llinterp.py
Log:
(arigo, pedronis)

clear the values in excdata when reading them otherwise confusing
reraising could happen.



Modified: pypy/dist/pypy/rpython/llinterp.py
==============================================================================
--- pypy/dist/pypy/rpython/llinterp.py	(original)
+++ pypy/dist/pypy/rpython/llinterp.py	Thu Sep  7 00:43:00 2006
@@ -288,6 +288,10 @@
                     evalue = rclass.fishllattr(exc_data, 'exc_value')
                     if tracer:
                         tracer.dump('raise')
+                    rclass.feedllattr(exc_data, 'exc_type',
+                                      lltype.typeOf(etype)._defl())
+                    rclass.feedllattr(exc_data, 'exc_value',
+                                      lltype.typeOf(evalue)._defl())
                     from pypy.translator.c import exceptiontransform
                     T = resultvar.concretetype
                     errvalue = exceptiontransform.error_value(T)



More information about the Pypy-commit mailing list