[pypy-svn] r70697 - in pypy/branch/separate-compilation/pypy/translator/c: . test

afa at codespeak.net afa at codespeak.net
Tue Jan 19 10:34:00 CET 2010


Author: afa
Date: Tue Jan 19 10:33:59 2010
New Revision: 70697

Modified:
   pypy/branch/separate-compilation/pypy/translator/c/genc.py
   pypy/branch/separate-compilation/pypy/translator/c/separate.py
   pypy/branch/separate-compilation/pypy/translator/c/test/test_separate.py
Log:
Fix test


Modified: pypy/branch/separate-compilation/pypy/translator/c/genc.py
==============================================================================
--- pypy/branch/separate-compilation/pypy/translator/c/genc.py	(original)
+++ pypy/branch/separate-compilation/pypy/translator/c/genc.py	Tue Jan 19 10:33:59 2010
@@ -312,7 +312,12 @@
         return None
 
     def getexportsymbols(self):
-        return self.export_node_names.values() + ['RPython_StartupCode']
+        entrypoint = self.getentrypointptr()
+        if isinstance(entrypoint, (list, tuple)):
+            export_symbols = [self.db.get(fn) for fn in entrypoint]
+        else:
+            export_symbols = [self.db.get(entrypoint)]
+        return export_symbols + ['RPython_StartupCode']
 
     def compile(self):
         assert self.c_source_filename

Modified: pypy/branch/separate-compilation/pypy/translator/c/separate.py
==============================================================================
--- pypy/branch/separate-compilation/pypy/translator/c/separate.py	(original)
+++ pypy/branch/separate-compilation/pypy/translator/c/separate.py	Tue Jan 19 10:33:59 2010
@@ -31,6 +31,7 @@
         wrapper = miniglobals['wrapper']
         wrapper._annspecialcase_ = 'specialize:ll'
         wrapper._always_inline_ = True
+        wrapper._about = cls
         return func_with_new_name(wrapper, name)
 
     def annotate_exported_functions(self, annotator):
@@ -88,8 +89,10 @@
         return exported_funcptr
 
     def make_import_module(self, builder, node_names):
-        class Module:
-            pass
+        class Module(object):
+            _annotated = False
+
+            _exported_classes = self.exported_class.values()
         mod = Module()
         mod.__file__ = builder.so_name
 
@@ -103,7 +106,7 @@
             post_include_bits = forwards
             )
 
-        for funcname, import_name in builder.export_node_names.items():
+        for funcname, import_name in node_names.items():
             functype = lltype.typeOf(builder.entrypoint[funcname])
             func = make_ll_import_function(import_name, functype, import_eci)
             setattr(mod, funcname, func)

Modified: pypy/branch/separate-compilation/pypy/translator/c/test/test_separate.py
==============================================================================
--- pypy/branch/separate-compilation/pypy/translator/c/test/test_separate.py	(original)
+++ pypy/branch/separate-compilation/pypy/translator/c/test/test_separate.py	Tue Jan 19 10:33:59 2010
@@ -166,6 +166,7 @@
         assert c_fn() == 73.5
 
     def test_structure_attributes(self):
+        py.test.skip("WIP")
         firstmodule = self.compile_separated(
             "first", S=self.S)
 



More information about the Pypy-commit mailing list