[pypy-svn] r14133 - in pypy/dist/pypy/translator/llvm2: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Sun Jul 3 14:01:01 CEST 2005


Author: cfbolz
Date: Sun Jul  3 14:01:01 2005
New Revision: 14133

Modified:
   pypy/dist/pypy/translator/llvm2/arraynode.py
   pypy/dist/pypy/translator/llvm2/funcnode.py
   pypy/dist/pypy/translator/llvm2/test/test_genllvm.py
Log:
intermediate checkin


Modified: pypy/dist/pypy/translator/llvm2/arraynode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/arraynode.py	(original)
+++ pypy/dist/pypy/translator/llvm2/arraynode.py	Sun Jul  3 14:01:01 2005
@@ -1,12 +1,12 @@
 import py
-from pypy.rpython import lltype 
+from pypy.rpython import lltype
 from pypy.translator.llvm2.log import log
 from pypy.translator.llvm2.node import LLVMNode
-log = log.structnode 
+log = log.structnode
 
 class ArrayTypeNode(LLVMNode):
-    _issetup = False 
-    def __init__(self, db, array): 
+    _issetup = False
+    def __init__(self, db, array):
         self.db = db
         assert isinstance(array, lltype.ArrayType)
         self.array = array
@@ -14,14 +14,14 @@
         self.ref = self.ref_template + ".0"
 
     def __str__(self):
-        return "<ArrayTypeNode %r>" % self.ref    
+        return "<ArrayTypeNode %r>" % self.ref
 
     def setup(self):
         self.db.prepare_repr_arg_type(self.array.OF)
         self._issetup = True
 
     # ______________________________________________________________________
-    # entry points from genllvm 
+    # entry points from genllvm
     #
     def writedatatypedecl(self, codewriter):
         codewriter.arraydef(self.ref, self.db.repr_arg_type(self.array.OF))

Modified: pypy/dist/pypy/translator/llvm2/funcnode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/funcnode.py	(original)
+++ pypy/dist/pypy/translator/llvm2/funcnode.py	Sun Jul  3 14:01:01 2005
@@ -8,6 +8,7 @@
 from pypy.translator.llvm2.log import log 
 log = log.funcnode
 
+
 class FuncTypeNode(LLVMNode):
     func_type_node_counter = 0
 
@@ -24,11 +25,12 @@
 
     def setup(self):
         self.db.prepare_repr_arg_type(self.type_.RESULT)
-        self.db.prepare_repr_arg_type(self.type_.ARGS)
+        self.db.prepare_repr_arg_type(args_without_void(self.type_.ARGS))
 
     def writedatatypedecl(self, codewriter):
         returntype = self.db.repr_arg_type(self.type_.RESULT)
-        inputargtypes = self.db.repr_arg_type_multi(self.type_.ARGS)
+        inputargtypes = self.db.repr_arg_type_multi(
+            args_without_void(self.type_.ARGS))
         decl = "%s type %s (%s)*" % (self.ref, returntype,
                                      ", ".join(inputargtypes))
         codewriter.funcdef(self.ref, returntype, inputargtypes)
@@ -254,16 +256,17 @@
         self.codewriter.malloc(targetvar, type) 
 
     def malloc_varsize(self, op):
+        XXXXXXXXXXXXXXXXXXXXXX
         targetvar = self.db.repr_arg(op.result)
         arg_type = op.args[0]
         assert (isinstance(arg_type, Constant) and 
-                isinstance(arg_type.value, lltype.Struct))
-        struct_type = self.db.obj2node[arg_type.value].ref
-        struct_cons = self.db.obj2node[arg_type.value].new_var_name
+                isinstance(arg_type.value, lltype.Array))
+##         struct_type = self.db.obj2node[arg_type.value].ref
+##         struct_cons = self.db.obj2node[arg_type.value].new_var_name
         argrefs = self.db.repr_arg_multi(op.args[1:])
         argtypes = self.db.repr_arg_type_multi(op.args[1:])
-        self.codewriter.call(targetvar, struct_type + " *",
-                             struct_cons, argrefs, argtypes)
+        self.codewriter.call("%example", "type*", "constructor",
+                             argrefs, argtypes)
 
     def getfield(self, op): 
         tmpvar = self.db.repr_tmpvar()

Modified: pypy/dist/pypy/translator/llvm2/test/test_genllvm.py
==============================================================================
--- pypy/dist/pypy/translator/llvm2/test/test_genllvm.py	(original)
+++ pypy/dist/pypy/translator/llvm2/test/test_genllvm.py	Sun Jul  3 14:01:01 2005
@@ -218,7 +218,7 @@
      f = compile_function(char_constant, [])
      assert f() == 7
 
-def Xtest_list_getitem(): 
+def test_list_getitem(): 
     def list_getitem(i): 
         l = [1,2,i]
         return l[i]



More information about the Pypy-commit mailing list