[pypy-commit] pypy win32-fixes4: unicode on win32 is 2 bytes

mattip noreply at buildbot.pypy.org
Sat Mar 22 23:10:33 CET 2014


Author: Matti Picus <matti.picus at gmail.com>
Branch: win32-fixes4
Changeset: r70177:c900402751c9
Date: 2014-03-22 23:21 +0200
http://bitbucket.org/pypy/pypy/changeset/c900402751c9/

Log:	unicode on win32 is 2 bytes

diff --git a/rpython/jit/backend/llsupport/test/test_rewrite.py b/rpython/jit/backend/llsupport/test/test_rewrite.py
--- a/rpython/jit/backend/llsupport/test/test_rewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_rewrite.py
@@ -528,6 +528,11 @@
         """)
 
     def test_rewrite_assembler_newstr_newunicode(self):
+        import sys
+        if sys.platform == 'win32':
+            unicode_size = 2
+        else:    
+            unicode_size = 4
         self.check_rewrite("""
             [i2]
             p0 = newstr(14)
@@ -538,21 +543,21 @@
         """, """
             [i2]
             p0 = call_malloc_nursery(                                \
-                      %(strdescr.basesize + 16 * strdescr.itemsize + \
+                      %%(strdescr.basesize + 16 * strdescr.itemsize + \
                         unicodedescr.basesize + 10 * unicodedescr.itemsize)d)
-            setfield_gc(p0, %(strdescr.tid)d, descr=tiddescr)
+            setfield_gc(p0, %%(strdescr.tid)d, descr=tiddescr)
             setfield_gc(p0, 14, descr=strlendescr)
-            p1 = int_add(p0, %(strdescr.basesize + 16 * strdescr.itemsize)d)
-            setfield_gc(p1, %(unicodedescr.tid)d, descr=tiddescr)
+            p1 = int_add(p0, %%(strdescr.basesize + 16 * strdescr.itemsize)d)
+            setfield_gc(p1, %%(unicodedescr.tid)d, descr=tiddescr)
             setfield_gc(p1, 10, descr=unicodelendescr)
-            p2 = call_malloc_nursery_varsize(2, 4, i2, \
+            p2 = call_malloc_nursery_varsize(2, %d, i2, \
                                 descr=unicodedescr)
             setfield_gc(p2, i2, descr=unicodelendescr)
             p3 = call_malloc_nursery_varsize(1, 1, i2, \
                                 descr=strdescr)
             setfield_gc(p3, i2, descr=strlendescr)
             jump()
-        """)
+        """ % unicode_size)
 
     def test_write_barrier_before_setfield_gc(self):
         self.check_rewrite("""


More information about the pypy-commit mailing list