[pypy-svn] r20393 - in pypy/branch/somepbc-refactoring/pypy/translator/c: . test

arigo at codespeak.net arigo at codespeak.net
Tue Nov 29 15:28:11 CET 2005


Author: arigo
Date: Tue Nov 29 15:28:10 2005
New Revision: 20393

Modified:
   pypy/branch/somepbc-refactoring/pypy/translator/c/genc.py
   pypy/branch/somepbc-refactoring/pypy/translator/c/test/test_standalone.py
Log:
test_standalone works again


Modified: pypy/branch/somepbc-refactoring/pypy/translator/c/genc.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/translator/c/genc.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/translator/c/genc.py	Tue Nov 29 15:28:10 2005
@@ -11,6 +11,7 @@
 from pypy.tool.udir import udir
 from pypy.translator.locality.calltree import CallTree
 from pypy.translator.c.support import log
+from pypy.rpython.typesystem import getfunctionptr
 
 class CBuilder(object):
     c_source_filename = None
@@ -121,7 +122,8 @@
     def getentrypointptr(self):
         # XXX check that the entrypoint has the correct
         # signature:  list-of-strings -> int
-        return getfunctionptr(self.translator, self.entrypoint)
+        bk = self.translator.annotator.bookkeeper
+        return getfunctionptr(bk.getdesc(self.entrypoint).cachedgraph(None))
 
     def getccompiler(self, extra_includes):
         # XXX for now, we always include Python.h

Modified: pypy/branch/somepbc-refactoring/pypy/translator/c/test/test_standalone.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/translator/c/test/test_standalone.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/translator/c/test/test_standalone.py	Tue Nov 29 15:28:10 2005
@@ -1,4 +1,5 @@
-from pypy.translator.translator import Translator
+from pypy.translator.translator import TranslationContext
+from pypy.translator.c.genc import CStandaloneBuilder
 from pypy.annotation.model import SomeList, SomeString
 from pypy.annotation.listdef import ListDef
 import os
@@ -13,12 +14,13 @@
             os.write(1, "   '" + str(s) + "'\n")
         return 0
 
-    t = Translator(entry_point)
     s_list_of_strings = SomeList(ListDef(None, SomeString()))
     s_list_of_strings.listdef.resize()
-    t.annotate([s_list_of_strings])
-    t.specialize()
-    cbuilder = t.cbuilder(standalone=True)
+    t = TranslationContext()
+    t.buildannotator().build_types(entry_point, [s_list_of_strings])
+    t.buildrtyper().specialize()
+
+    cbuilder = CStandaloneBuilder(t, entry_point)
     cbuilder.generate_source()
     cbuilder.compile()
     data = cbuilder.cmdexec('hi there')



More information about the Pypy-commit mailing list