[pypy-svn] r71558 - pypy/branch/asmgcc-cantcollect/pypy/translator/c/gcc

arigo at codespeak.net arigo at codespeak.net
Sun Feb 28 17:27:13 CET 2010


Author: arigo
Date: Sun Feb 28 17:27:11 2010
New Revision: 71558

Modified:
   pypy/branch/asmgcc-cantcollect/pypy/translator/c/gcc/trackgcroot.py
Log:
- "_pypy_debug_catch_fatal_exception" cannot return.
- use a more proper (i.e. more standard C) way to express this.


Modified: pypy/branch/asmgcc-cantcollect/pypy/translator/c/gcc/trackgcroot.py
==============================================================================
--- pypy/branch/asmgcc-cantcollect/pypy/translator/c/gcc/trackgcroot.py	(original)
+++ pypy/branch/asmgcc-cantcollect/pypy/translator/c/gcc/trackgcroot.py	Sun Feb 28 17:27:11 2010
@@ -840,6 +840,7 @@
         '__imp___wassert': None,
         'DWORD PTR __imp__abort': None,
         'DWORD PTR __imp___wassert': None,
+        '_pypy_debug_catch_fatal_exception': None,
         }
 
     @classmethod
@@ -1349,7 +1350,7 @@
 
         if self.format == 'msvc':
             print >> output, """\
-            struct { void* addr; long shape; } __gcmap[%d] = {
+            static struct { void* addr; long shape; } __gcmap[%d] = {
             """ % (len(self.gcmaptable),)
             for label, state, is_range in self.gcmaptable:
                 label = label[1:]
@@ -1367,8 +1368,8 @@
                 print >> output, '{ &%s, %d},' % (label, n)
             print >> output, """\
             };
-            void* __gcmapstart = &__gcmap;
-            void* __gcmapend = (char*)(&__gcmap) + 8 * %d;
+            void* __gcmapstart = __gcmap;
+            void* __gcmapend = __gcmap + %d;
 
             char __gccallshapes[] = {
             """ % (len(self.gcmaptable),)



More information about the Pypy-commit mailing list