[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