[pypy-svn] r23144 - in pypy/dist/pypy/translator/llvm: . module test

ericvrp at codespeak.net ericvrp at codespeak.net
Wed Feb 8 14:26:57 CET 2006


Author: ericvrp
Date: Wed Feb  8 14:26:51 2006
New Revision: 23144

Modified:
   pypy/dist/pypy/translator/llvm/extfuncnode.py
   pypy/dist/pypy/translator/llvm/gc.py
   pypy/dist/pypy/translator/llvm/module/support.py
   pypy/dist/pypy/translator/llvm/test/test_lltype.py
Log:
Fix for pypy-llvm on ia64 of 3 missing fastcc.
(very hard to find, llvm just removes the function caller and callee.
I fail to see why a warning is impossible in this case)


Modified: pypy/dist/pypy/translator/llvm/extfuncnode.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/extfuncnode.py	(original)
+++ pypy/dist/pypy/translator/llvm/extfuncnode.py	Wed Feb  8 14:26:51 2006
@@ -22,6 +22,7 @@
 
 if maxint != 2**31-1:
     ext_func_sigs["%LL_os_write"] = ExtFuncSig(None, ["int", None])
+    ext_func_sigs["%LL_math_ldexp"] = ExtFuncSig(None, [None, "int"])
 
 class ExternalFuncNode(ConstantLLVMNode):
 
@@ -94,7 +95,6 @@
         arg_desription = ", ".join([
             "%s %s" % (typ_, name)
             for typ_, name in zip(argtypes, argrefs)])
-        
         open_decl = "%s %s(%s)" % (rettype, self.ref, arg_desription)
         codewriter.openfunc(open_decl)
         

Modified: pypy/dist/pypy/translator/llvm/gc.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/gc.py	(original)
+++ pypy/dist/pypy/translator/llvm/gc.py	Wed Feb  8 14:26:51 2006
@@ -88,10 +88,11 @@
                 exc_flag=False):
         """ assumes malloc of word size """
         # XXX Boehm aligns on 8 byte boundaries
-    	if sys.platform == 'linux2' and sys.maxint == 2**63-1:
-            boundary_size = 8
-	else:
-            boundary_size = 0
+    	#if sys.platform == 'linux2' and sys.maxint == 2**63-1:
+        #    boundary_size = 8
+	#else:
+        #    boundary_size = 0
+        boundary_size = 0
 
         word = self.db.get_machine_word()
         uword = self.db.get_machine_uword()

Modified: pypy/dist/pypy/translator/llvm/module/support.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/module/support.py	(original)
+++ pypy/dist/pypy/translator/llvm/module/support.py	Wed Feb  8 14:26:51 2006
@@ -84,13 +84,13 @@
     extfunctions += """
 internal fastcc void %pypy_ll_raise_OSError__Signed(int %errno_0) {
     %tmp = cast int %errno_0 to long
-    call void %pypy_ll_raise_OSError__Signed(long %tmp)
+    call fastcc void %pypy_ll_raise_OSError__Signed(long %tmp)
     ret void
 }
 
 internal fastcc void %pypy__RPyListOfString_SetItem__listPtr_Signed_rpy_stringPtr(%RPyListOfString* %l_1, int %index_0, %RPyString* %newstring_0) {
     %index_0_long = cast int %index_0 to long
-    call void %pypy__RPyListOfString_SetItem__listPtr_Signed_rpy_stringPtr(%RPyListOfString* %l_1, long %index_0_long, %RPyString* %newstring_0)
+    call fastcc void %pypy__RPyListOfString_SetItem__listPtr_Signed_rpy_stringPtr(%RPyListOfString* %l_1, long %index_0_long, %RPyString* %newstring_0)
     ret void
 }
 
@@ -101,7 +101,7 @@
 if maxint != 2**31-1:
     extfunctions_standalone += """
 internal fastcc int %pypy_entry_point(%RPyListOfString* %argv) {
-    %result = call long %pypy_entry_point(%RPyListOfString* %argv)
+    %result = call fastcc long %pypy_entry_point(%RPyListOfString* %argv)
     %tmp = cast long %result to int
     ret int %tmp
 }

Modified: pypy/dist/pypy/translator/llvm/test/test_lltype.py
==============================================================================
--- pypy/dist/pypy/translator/llvm/test/test_lltype.py	(original)
+++ pypy/dist/pypy/translator/llvm/test/test_lltype.py	Wed Feb  8 14:26:51 2006
@@ -1,4 +1,4 @@
-
+import sys
 import py
 
 from pypy.rpython.lltypesystem import lltype
@@ -213,6 +213,8 @@
 
 def test_floats():  #note: this is known to fail with llvm1.6 and llvm1.7cvs when not using gcc
     " test pbc of floats "
+    if sys.maxint != 2**31-1:
+        py.test.skip("WIP on 64 bit architectures")
     F = lltype.GcStruct("f",
                         ('f1', lltype.Float),
                         ('f2', lltype.Float),



More information about the Pypy-commit mailing list