[pypy-commit] pypy const-correctness: progress
amauryfa
noreply at buildbot.pypy.org
Fri Sep 13 08:34:33 CEST 2013
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: const-correctness
Changeset: r66934:3bd6335582cd
Date: 2013-09-11 23:21 +0200
http://bitbucket.org/pypy/pypy/changeset/3bd6335582cd/
Log: progress
diff --git a/pypy/module/_cffi_backend/ctypeptr.py b/pypy/module/_cffi_backend/ctypeptr.py
--- a/pypy/module/_cffi_backend/ctypeptr.py
+++ b/pypy/module/_cffi_backend/ctypeptr.py
@@ -328,7 +328,7 @@
# ____________________________________________________________
-rffi_fdopen = rffi.llexternal("fdopen", [rffi.INT, rffi.CCHARP], rffi.CCHARP)
+rffi_fdopen = rffi.llexternal("fdopen", [rffi.INT, rffi.CONST_CCHARP], rffi.CCHARP)
rffi_setbuf = rffi.llexternal("setbuf", [rffi.CCHARP, rffi.CCHARP], lltype.Void)
rffi_fclose = rffi.llexternal("fclose", [rffi.CCHARP], rffi.INT)
diff --git a/pypy/module/_cffi_backend/misc.py b/pypy/module/_cffi_backend/misc.py
--- a/pypy/module/_cffi_backend/misc.py
+++ b/pypy/module/_cffi_backend/misc.py
@@ -105,7 +105,7 @@
# ____________________________________________________________
sprintf_longdouble = rffi.llexternal(
- "sprintf", [rffi.CCHARP, rffi.CCHARP, rffi.LONGDOUBLE], lltype.Void,
+ "sprintf", [rffi.CCHARP, rffi.CONST_CCHARP, rffi.LONGDOUBLE], lltype.Void,
_nowrapper=True, sandboxsafe=True)
FORMAT_LONGDOUBLE = rffi.str2charp("%LE")
diff --git a/pypy/module/_locale/interp_locale.py b/pypy/module/_locale/interp_locale.py
--- a/pypy/module/_locale/interp_locale.py
+++ b/pypy/module/_locale/interp_locale.py
@@ -115,8 +115,8 @@
return w_result
-_strcoll = rlocale.external('strcoll', [rffi.CCHARP, rffi.CCHARP], rffi.INT)
-_wcscoll = rlocale.external('wcscoll', [rffi.CWCHARP, rffi.CWCHARP], rffi.INT)
+_strcoll = rlocale.external('strcoll', [rffi.CONST_CCHARP, rffi.CONST_CCHARP], rffi.INT)
+_wcscoll = rlocale.external('wcscoll', [rffi.CONST_CWCHARP, rffi.CONST_CWCHARP], rffi.INT)
def strcoll(space, w_s1, w_s2):
@@ -147,7 +147,7 @@
return space.wrap(result)
_strxfrm = rlocale.external('strxfrm',
- [rffi.CCHARP, rffi.CCHARP, rffi.SIZE_T], rffi.SIZE_T)
+ [rffi.CCHARP, rffi.CONST_CCHARP, rffi.SIZE_T], rffi.SIZE_T)
@unwrap_spec(s=str)
def strxfrm(space, s):
@@ -193,7 +193,7 @@
# HAVE_LIBINTL dependence
if rlocale.HAVE_LIBINTL:
- _gettext = rlocale.external('gettext', [rffi.CCHARP], rffi.CCHARP)
+ _gettext = rlocale.external('gettext', [rffi.CONST_CCHARP], rffi.CCHARP)
@unwrap_spec(msg=str)
def gettext(space, msg):
@@ -205,7 +205,7 @@
finally:
rffi.free_charp(msg_c)
- _dgettext = rlocale.external('dgettext', [rffi.CCHARP, rffi.CCHARP], rffi.CCHARP)
+ _dgettext = rlocale.external('dgettext', [rffi.CONST_CCHARP, rffi.CONST_CCHARP], rffi.CCHARP)
@unwrap_spec(msg=str)
def dgettext(space, w_domain, msg):
@@ -238,7 +238,7 @@
return space.wrap(result)
- _dcgettext = rlocale.external('dcgettext', [rffi.CCHARP, rffi.CCHARP, rffi.INT],
+ _dcgettext = rlocale.external('dcgettext', [rffi.CONST_CCHARP, rffi.CONST_CCHARP, rffi.INT],
rffi.CCHARP)
@unwrap_spec(msg=str, category=int)
@@ -275,7 +275,7 @@
return space.wrap(result)
- _textdomain = rlocale.external('textdomain', [rffi.CCHARP], rffi.CCHARP)
+ _textdomain = rlocale.external('textdomain', [rffi.CONST_CCHARP], rffi.CCHARP)
def textdomain(space, w_domain):
"""textdomain(domain) -> string
@@ -299,7 +299,7 @@
return space.wrap(result)
- _bindtextdomain = rlocale.external('bindtextdomain', [rffi.CCHARP, rffi.CCHARP],
+ _bindtextdomain = rlocale.external('bindtextdomain', [rffi.CONST_CCHARP, rffi.CONST_CCHARP],
rffi.CCHARP)
@unwrap_spec(domain=str)
@@ -330,7 +330,7 @@
return space.wrap(rffi.charp2str(dirname))
_bind_textdomain_codeset = rlocale.external('bind_textdomain_codeset',
- [rffi.CCHARP, rffi.CCHARP], rffi.CCHARP)
+ [rffi.CONST_CCHARP, rffi.CONST_CCHARP], rffi.CCHARP)
if rlocale.HAVE_BIND_TEXTDOMAIN_CODESET:
@unwrap_spec(domain=str)
diff --git a/pypy/module/cppyy/capi/loadable_capi.py b/pypy/module/cppyy/capi/loadable_capi.py
--- a/pypy/module/cppyy/capi/loadable_capi.py
+++ b/pypy/module/cppyy/capi/loadable_capi.py
@@ -64,7 +64,7 @@
else: # only other use is sring
n = len(obj._string)
assert raw_string == rffi.cast(rffi.CCHARP, 0)
- raw_string = rffi.str2charp(obj._string)
+ raw_string = rffi.cast(rffi.CCHARP, rffi.str2charp(obj._string))
data = rffi.cast(rffi.CCHARPP, data)
data[0] = raw_string
diff --git a/pypy/module/cpyext/intobject.py b/pypy/module/cpyext/intobject.py
--- a/pypy/module/cpyext/intobject.py
+++ b/pypy/module/cpyext/intobject.py
@@ -153,5 +153,5 @@
w_str = space.wrap(s)
w_base = space.wrap(rffi.cast(lltype.Signed, base))
if pend:
- pend[0] = rffi.ptradd(str, len(s))
+ pend[0] = rffi.cast(rffi.CCHARP, rffi.ptradd(str, len(s)))
return space.call_function(space.w_int, w_str, w_base)
diff --git a/pypy/module/cpyext/longobject.py b/pypy/module/cpyext/longobject.py
--- a/pypy/module/cpyext/longobject.py
+++ b/pypy/module/cpyext/longobject.py
@@ -183,7 +183,7 @@
w_str = space.wrap(s)
w_base = space.wrap(rffi.cast(lltype.Signed, base))
if pend:
- pend[0] = rffi.ptradd(str, len(s))
+ pend[0] = rffi.cast(rffi.CCHARP, rffi.ptradd(str, len(s)))
return space.call_function(space.w_long, w_str, w_base)
@cpython_api([rffi.VOIDP], PyObject)
diff --git a/pypy/module/cpyext/slotdefs.py b/pypy/module/cpyext/slotdefs.py
--- a/pypy/module/cpyext/slotdefs.py
+++ b/pypy/module/cpyext/slotdefs.py
@@ -74,7 +74,7 @@
func_target = rffi.cast(getattrfunc, func)
check_num_args(space, w_args, 1)
args_w = space.fixedview(w_args)
- name_ptr = rffi.str2charp(space.str_w(args_w[0]))
+ name_ptr = rffi.cast(rffi.CCHARP, rffi.str2charp(space.str_w(args_w[0])))
try:
return generic_cpy_call(space, func_target, w_self, name_ptr)
finally:
diff --git a/pypy/module/cpyext/unicodeobject.py b/pypy/module/cpyext/unicodeobject.py
--- a/pypy/module/cpyext/unicodeobject.py
+++ b/pypy/module/cpyext/unicodeobject.py
@@ -208,7 +208,8 @@
# Copy unicode buffer
w_unicode = from_ref(space, ref)
u = space.unicode_w(w_unicode)
- ref_unicode.c_buffer = rffi.unicode2wcharp(u)
+ # remove 'const' modifier
+ ref_unicode.c_buffer = rffi.cast(rffi.CWCHARP, rffi.unicode2wcharp(u))
return ref_unicode.c_buffer
@cpython_api([PyObject], rffi.CWCHARP)
diff --git a/pypy/module/fcntl/interp_fcntl.py b/pypy/module/fcntl/interp_fcntl.py
--- a/pypy/module/fcntl/interp_fcntl.py
+++ b/pypy/module/fcntl/interp_fcntl.py
@@ -109,7 +109,7 @@
if not e.match(space, space.w_TypeError):
raise
else:
- ll_arg = rffi.str2charp(arg)
+ ll_arg = rffi.cast(rffi.CCHARP, rffi.str2charp(arg))
rv = fcntl_str(fd, op, ll_arg)
arg = rffi.charpsize2str(ll_arg, len(arg))
lltype.free(ll_arg, flavor='raw')
@@ -217,7 +217,7 @@
raise
else:
arg = rwbuffer.as_str()
- ll_arg = rffi.str2charp(arg)
+ ll_arg = rffi.cast(rffi.CCHARP, rffi.str2charp(arg))
rv = ioctl_str(fd, op, ll_arg)
arg = rffi.charpsize2str(ll_arg, len(arg))
lltype.free(ll_arg, flavor='raw')
@@ -244,7 +244,7 @@
if not e.match(space, space.w_TypeError):
raise
else:
- ll_arg = rffi.str2charp(arg)
+ ll_arg = rffi.cast(rffi.CCHARP, rffi.str2charp(arg))
rv = ioctl_str(fd, op, ll_arg)
arg = rffi.charpsize2str(ll_arg, len(arg))
lltype.free(ll_arg, flavor='raw')
diff --git a/pypy/module/pyexpat/interp_pyexpat.py b/pypy/module/pyexpat/interp_pyexpat.py
--- a/pypy/module/pyexpat/interp_pyexpat.py
+++ b/pypy/module/pyexpat/interp_pyexpat.py
@@ -352,9 +352,9 @@
# Declarations of external functions
XML_ParserCreate = expat_external(
- 'XML_ParserCreate', [rffi.CCHARP], XML_Parser)
+ 'XML_ParserCreate', [rffi.CONST_CCHARP], XML_Parser)
XML_ParserCreateNS = expat_external(
- 'XML_ParserCreateNS', [rffi.CCHARP, rffi.CHAR], XML_Parser)
+ 'XML_ParserCreateNS', [rffi.CONST_CCHARP, rffi.CHAR], XML_Parser)
XML_ParserFree = expat_external(
'XML_ParserFree', [XML_Parser], lltype.Void, threadsafe=False)
XML_SetUserData = expat_external(
@@ -363,7 +363,7 @@
# XXX is this always true?
return rffi.cast(rffi.VOIDPP, parser)[0]
XML_Parse = expat_external(
- 'XML_Parse', [XML_Parser, rffi.CCHARP, rffi.INT, rffi.INT], rffi.INT)
+ 'XML_Parse', [XML_Parser, rffi.CONST_CCHARP, rffi.INT, rffi.INT], rffi.INT)
XML_StopParser = expat_external(
'XML_StopParser', [XML_Parser, rffi.INT], lltype.Void)
@@ -374,7 +374,7 @@
XML_SetParamEntityParsing = expat_external(
'XML_SetParamEntityParsing', [XML_Parser, rffi.INT], lltype.Void)
XML_SetBase = expat_external(
- 'XML_SetBase', [XML_Parser, rffi.CCHARP], lltype.Void)
+ 'XML_SetBase', [XML_Parser, rffi.CONST_CCHARP], lltype.Void)
if XML_COMBINED_VERSION >= 19505:
XML_UseForeignDTD = expat_external(
'XML_UseForeignDTD', [XML_Parser, rffi.INT], lltype.Void)
@@ -383,7 +383,7 @@
'XML_GetErrorCode', [XML_Parser], rffi.INT)
XML_ErrorString = expat_external(
'XML_ErrorString', [rffi.INT],
- rffi.CCHARP)
+ rffi.CONST_CCHARP)
XML_GetCurrentLineNumber = expat_external(
'XML_GetCurrentLineNumber', [XML_Parser], rffi.INT)
XML_GetErrorLineNumber = XML_GetCurrentLineNumber
@@ -397,11 +397,11 @@
XML_FreeContentModel = expat_external(
'XML_FreeContentModel', [XML_Parser, lltype.Ptr(XML_Content)], lltype.Void)
XML_ExternalEntityParserCreate = expat_external(
- 'XML_ExternalEntityParserCreate', [XML_Parser, rffi.CCHARP, rffi.CCHARP],
+ 'XML_ExternalEntityParserCreate', [XML_Parser, rffi.CONST_CCHARP, rffi.CONST_CCHARP],
XML_Parser)
XML_ExpatVersion = expat_external(
- 'XML_ExpatVersion', [], rffi.CCHARP)
+ 'XML_ExpatVersion', [], rffi.CONST_CCHARP)
def get_expat_version(space):
return space.wrap(rffi.charp2str(XML_ExpatVersion()))
diff --git a/rpython/rlib/test/test_rlocale.py b/rpython/rlib/test/test_rlocale.py
--- a/rpython/rlib/test/test_rlocale.py
+++ b/rpython/rlib/test/test_rlocale.py
@@ -39,6 +39,6 @@
def test_libintl():
if sys.platform != "darwin" or not sys.platform.startswith("linux"):
py.test.skip("there is (maybe) no libintl here")
- _gettext = external('gettext', [rffi.CCHARP], rffi.CCHARP)
+ _gettext = external('gettext', [rffi.CONST_CCHARP], rffi.CCHARP)
res = _gettext("1234")
assert rffi.charp2str(res) == "1234"
diff --git a/rpython/rtyper/lltypesystem/test/test_rffi.py b/rpython/rtyper/lltypesystem/test/test_rffi.py
--- a/rpython/rtyper/lltypesystem/test/test_rffi.py
+++ b/rpython/rtyper/lltypesystem/test/test_rffi.py
@@ -767,11 +767,11 @@
def test_ptradd():
data = "hello, world!"
- a = lltype.malloc(ARRAY_OF_CHAR, len(data), flavor='raw')
+ a = lltype.malloc(CONST_CCHARP.TO, len(data), flavor='raw')
for i in xrange(len(data)):
a[i] = data[i]
a2 = ptradd(a, 2)
- assert lltype.typeOf(a2) == lltype.typeOf(a) == lltype.Ptr(ARRAY_OF_CHAR)
+ assert lltype.typeOf(a2) == lltype.typeOf(a) == CONST_CCHARP
for i in xrange(len(data) - 2):
assert a2[i] == a[i + 2]
lltype.free(a, flavor='raw')
More information about the pypy-commit
mailing list