[pypy-commit] pypy default: merge heads
bdkearns
noreply at buildbot.pypy.org
Thu May 1 20:13:08 CEST 2014
Author: Brian Kearns <bdkearns at gmail.com>
Branch:
Changeset: r71146:45da6ce7a49e
Date: 2014-05-01 14:11 -0400
http://bitbucket.org/pypy/pypy/changeset/45da6ce7a49e/
Log: merge heads
diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py
--- a/pypy/interpreter/baseobjspace.py
+++ b/pypy/interpreter/baseobjspace.py
@@ -1415,10 +1415,10 @@
def _getarg_error(self, expected, w_obj):
if self.is_none(w_obj):
- name = "None"
+ e = oefmt(self.w_TypeError, "must be %s, not None", expected)
else:
- name = self.type(w_obj).get_module_type_name()
- raise oefmt(self.w_TypeError, "must be %s, not %s", expected, name)
+ e = oefmt(self.w_TypeError, "must be %s, not %T", expected, w_obj)
+ raise e
@specialize.arg(1)
def getarg_w(self, code, w_obj):
diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py
--- a/pypy/interpreter/error.py
+++ b/pypy/interpreter/error.py
@@ -362,9 +362,9 @@
value = getattr(self, attr)
if fmt == 'R':
result = space.str_w(space.repr(value))
- elif fmt in 'NT':
- if fmt == 'T':
- value = space.type(value)
+ elif fmt == 'T':
+ result = space.type(value).get_module_type_name()
+ elif fmt == 'N':
result = value.getname(space)
else:
result = str(value)
@@ -404,7 +404,7 @@
%N - The result of w_arg.getname(space)
%R - The result of space.str_w(space.repr(w_arg))
- %T - The result of space.type(w_arg).getname(space)
+ %T - The result of space.type(w_arg).get_module_type_name()
"""
if not len(args):
diff --git a/pypy/module/_rawffi/test/test__rawffi.py b/pypy/module/_rawffi/test/test__rawffi.py
--- a/pypy/module/_rawffi/test/test__rawffi.py
+++ b/pypy/module/_rawffi/test/test__rawffi.py
@@ -1084,27 +1084,27 @@
s = S(autofree=True)
b = buffer(s)
assert len(b) == 40
- b[4] = 'X'
- b[:3] = 'ABC'
- assert b[:6] == 'ABC\x00X\x00'
+ b[4] = b'X'
+ b[:3] = b'ABC'
+ assert b[:6] == b'ABC\x00X\x00'
A = _rawffi.Array('c')
a = A(10, autofree=True)
- a[3] = 'x'
+ a[3] = b'x'
b = buffer(a)
assert len(b) == 10
- assert b[3] == 'x'
- b[6] = 'y'
- assert a[6] == 'y'
- b[3:5] = 'zt'
- assert a[3] == 'z'
- assert a[4] == 't'
+ assert b[3] == b'x'
+ b[6] = b'y'
+ assert a[6] == b'y'
+ b[3:5] = b'zt'
+ assert a[3] == b'z'
+ assert a[4] == b't'
b = memoryview(a)
assert len(b) == 10
- assert b[3] == 'z'
- b[3] = 'x'
- assert b[3] == 'x'
+ assert b[3] == b'z'
+ b[3] = b'x'
+ assert b[3] == b'x'
def test_union(self):
import _rawffi
diff --git a/pypy/module/cppyy/pythonify.py b/pypy/module/cppyy/pythonify.py
--- a/pypy/module/cppyy/pythonify.py
+++ b/pypy/module/cppyy/pythonify.py
@@ -1,6 +1,7 @@
# NOT_RPYTHON
# do not load cppyy here, see _init_pythonify()
-import types, sys
+import types
+import sys
# For now, keep namespaces and classes separate as namespaces are extensible
@@ -11,7 +12,7 @@
def __getattr__(self, name):
try:
return get_pycppitem(self, name) # will cache on self
- except Exception, e:
+ except Exception as e:
raise AttributeError("%s object has no attribute '%s' (details: %s)" %
(self, name, str(e)))
@@ -302,7 +303,7 @@
return self._getitem__unchecked(idx)
def python_style_sliceable_getitem(self, slice_or_idx):
- if type(slice_or_idx) == types.SliceType:
+ if type(slice_or_idx) == slice:
nseq = self.__class__()
nseq += [python_style_getitem(self, i) \
for i in range(*slice_or_idx.indices(len(self)))]
diff --git a/pypy/objspace/std/test/test_strbufobject.py b/pypy/objspace/std/test/test_strbufobject.py
--- a/pypy/objspace/std/test/test_strbufobject.py
+++ b/pypy/objspace/std/test/test_strbufobject.py
@@ -45,9 +45,9 @@
assert len(t) == 4
def test_buffer(self):
- s = 'a'.__add__('b')
- assert buffer(s) == buffer('ab')
- assert memoryview(s) == 'ab'
+ s = b'a'.__add__(b'b')
+ assert buffer(s) == buffer(b'ab')
+ assert memoryview(s) == b'ab'
def test_add_strbuf(self):
# make three strbuf objects
diff --git a/rpython/translator/c/gcc/trackgcroot.py b/rpython/translator/c/gcc/trackgcroot.py
--- a/rpython/translator/c/gcc/trackgcroot.py
+++ b/rpython/translator/c/gcc/trackgcroot.py
@@ -522,8 +522,6 @@
'movnt', 'mfence', 'lfence', 'sfence',
# bit manipulations
'bextr',
- # invalid instruction
- 'ud2',
])
# a partial list is hopefully good enough for now; it's all to support
@@ -695,6 +693,9 @@
return self.visit_ret(line)
return []
+ def visit_ud2(self, line):
+ return InsnStop("ud2") # unreachable instruction
+
def visit_jmp(self, line):
tablelabels = []
match = self.r_jmp_switch.match(line)
More information about the pypy-commit
mailing list