[pypy-commit] pypy default: import cffi/1e7ca6f81db8

arigo noreply at buildbot.pypy.org
Sat May 30 14:11:18 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r77706:cab7b4e7e393
Date: 2015-05-30 14:11 +0200
http://bitbucket.org/pypy/pypy/changeset/cab7b4e7e393/

Log:	import cffi/1e7ca6f81db8

diff --git a/lib_pypy/cffi/recompiler.py b/lib_pypy/cffi/recompiler.py
--- a/lib_pypy/cffi/recompiler.py
+++ b/lib_pypy/cffi/recompiler.py
@@ -1088,7 +1088,8 @@
         self.cffi_types[index] = CffiOp(OP_PRIMITIVE, prim_index)
 
     def _emit_bytecode_UnknownIntegerType(self, tp, index):
-        s = '_cffi_prim_int(sizeof(%s), ((%s)-1) <= 0)' % (tp.name, tp.name)
+        s = '_cffi_prim_int(sizeof(%s), (((%s)-1) << 0) <= 0)' % (
+            tp.name, tp.name)
         self.cffi_types[index] = CffiOp(OP_PRIMITIVE, s)
 
     def _emit_bytecode_RawFunctionType(self, tp, index):
diff --git a/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py b/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
--- a/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
+++ b/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_recompiler.py
@@ -1,6 +1,6 @@
 # Generated by pypy/tool/import_cffi.py
 import sys, os, py
-from cffi import FFI, FFIError, VerificationError
+from cffi import FFI, VerificationError
 from cffi import recompiler
 from pypy.module.test_lib_pypy.cffi_tests.udir import udir
 from pypy.module.test_lib_pypy.cffi_tests.support import u
@@ -971,10 +971,6 @@
     assert lib.mu == -20
     assert lib.nu == 20
 
-def test_unsupported_some_void_type():
-    ffi = FFI()
-    py.test.raises(FFIError, ffi.cdef, """typedef void... foo_t;""")
-
 def test_some_float_type():
     py.test.skip("later")
     ffi = FFI()
diff --git a/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_verify1.py b/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_verify1.py
--- a/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_verify1.py
+++ b/pypy/module/test_lib_pypy/cffi_tests/cffi1/test_verify1.py
@@ -1,6 +1,6 @@
 # Generated by pypy/tool/import_cffi.py
 import os, sys, math, py
-from cffi import FFI, VerificationError, VerificationMissing, model
+from cffi import FFI, FFIError, VerificationError, VerificationMissing, model
 from cffi import recompiler
 from pypy.module.test_lib_pypy.cffi_tests.support import *
 import _cffi_backend
@@ -2230,3 +2230,10 @@
         return 3 + 4
     x = lib.InvokeFunction(add)
     assert x == 7
+
+def test_unsupported_some_primitive_types():
+    ffi = FFI()
+    py.test.raises(FFIError, ffi.cdef, """typedef void... foo_t;""")
+    #
+    ffi.cdef("typedef int... foo_t;")
+    py.test.raises(VerificationError, ffi.verify, "typedef float foo_t;")


More information about the pypy-commit mailing list