Author: Matti Picus <[email protected]>
Branch:
Changeset: r92391:9edce20cd8a3
Date: 2017-09-14 21:26 +0300
http://bitbucket.org/pypy/pypy/changeset/9edce20cd8a3/
Log: fixes for C89 (win32)
diff --git a/pypy/module/cpyext/test/issue2482.c
b/pypy/module/cpyext/test/issue2482.c
--- a/pypy/module/cpyext/test/issue2482.c
+++ b/pypy/module/cpyext/test/issue2482.c
@@ -18,9 +18,9 @@
PyObject *make_object_base_type(void) {
PyHeapTypeObject *heap_type = (PyHeapTypeObject *)
PyType_Type.tp_alloc(&PyType_Type, 0);
- if (!heap_type) return NULL;
PyTypeObject *type = &heap_type->ht_type;
+ if (!heap_type) return NULL;
type->tp_name = name;
#ifdef ISSUE_2482
type->tp_base = &PyBaseObject_Type; /*fails */
@@ -85,16 +85,19 @@
#else
PyObject *module = Py_InitModule("issue2482", issue2482_functions);
#endif
+ PyHeapTypeObject *heap_type;
+ PyTypeObject *type;
+ PyObject * base;
if (module == NULL)
INITERROR;
- PyHeapTypeObject *heap_type = (PyHeapTypeObject *)
PyType_Type.tp_alloc(&PyType_Type, 0);
+ heap_type = (PyHeapTypeObject *) PyType_Type.tp_alloc(&PyType_Type, 0);
if (!heap_type) INITERROR;
- PyTypeObject *type = &heap_type->ht_type;
+ type = &heap_type->ht_type;
type->tp_name = name;
- PyObject *base = make_object_base_type();
+ base = make_object_base_type();
if (! base) INITERROR;
Py_INCREF(base);
type->tp_base = (PyTypeObject *) base;
diff --git a/pypy/module/cpyext/test/test_eval.py
b/pypy/module/cpyext/test/test_eval.py
--- a/pypy/module/cpyext/test/test_eval.py
+++ b/pypy/module/cpyext/test/test_eval.py
@@ -340,21 +340,26 @@
module = self.import_extension('foo', [
("call_recursive", "METH_NOARGS",
"""
- int res = 0;
- int recurse(void) {
- if (Py_EnterRecursiveCall(" while calling recurse"))
- return -1;
- res ++;
- return recurse();
- }
- int oldlimit = Py_GetRecursionLimit();
+ int oldlimit;
+ int recurse(void);
+ res = 0;
+ oldlimit = Py_GetRecursionLimit();
Py_SetRecursionLimit(200);
res = recurse();
Py_SetRecursionLimit(oldlimit);
if (PyErr_Occurred())
return NULL;
return PyLong_FromLong(res);
- """),], prologue= ''' int recurse(void); '''
+ """),], prologue= '''
+ int res;
+ int recurse(void) {
+ if (Py_EnterRecursiveCall(" while calling recurse")) {
+ return -1;
+ }
+ res ++;
+ return recurse();
+ };
+ '''
)
try:
res = module.call_recursive()
diff --git a/pypy/module/cpyext/test/test_userslots.py
b/pypy/module/cpyext/test/test_userslots.py
--- a/pypy/module/cpyext/test/test_userslots.py
+++ b/pypy/module/cpyext/test/test_userslots.py
@@ -190,9 +190,10 @@
0, /* tp_basicsize*/
0 /* tp_itemsize */
};
+ PyObject * mod;
+ PyObject * dt;
''', more_init='''
- PyObject * mod = PyImport_ImportModule("datetime");
- PyObject * dt;
+ mod = PyImport_ImportModule("datetime");
if (mod == NULL) INITERROR;
dt = PyString_FromString("datetime");
datetime_cls = (PyTypeObject*)PyObject_GetAttr(mod, dt);
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit