1. Dan Villiom Podlaski Christiansen
  2. Pyrex

Commits

gcewing  committed d726c32

Test modifications

  • Participants
  • Parent commits 5d62d3b
  • Branches default

Comments (0)

Files changed (16)

File Doc/Manual/.DS_Store

Binary file removed.

File Tests/10/Reference/inplace_ops.c

View file
 static int __pyx_f_11inplace_ops_f(void) {
   PyObject *__pyx_v_a;
   PyObject *__pyx_v_b;
+  char *__pyx_v_p;
   int __pyx_r;
   PyObject *__pyx_1 = 0;
   __pyx_v_a = Py_None; Py_INCREF(Py_None);
   Py_DECREF(__pyx_v_a);
   __pyx_v_a = __pyx_1;
 
+  /* "/Local/Projects/D/Pyrex/Source/Tests/10/inplace_ops.pyx":15 */
+  __pyx_v_p += 42;
+
+  /* "/Local/Projects/D/Pyrex/Source/Tests/10/inplace_ops.pyx":16 */
+  __pyx_v_p -= 42;
+
+  /* "/Local/Projects/D/Pyrex/Source/Tests/10/inplace_ops.pyx":17 */
+  __pyx_2 = PyInt_AsLong(__pyx_v_a); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;}
+  __pyx_v_p += __pyx_2;
+
   __pyx_r = 0;
   goto __pyx_L0;
   __pyx_L1:;

File Tests/10/inplace_ops.c

View file
-/* Generated by Pyrex 0.9.8.2 on Sat May 24 17:59:48 2008 */
+/* Generated by Pyrex */
 
 #define PY_SSIZE_T_CLEAN
 #include "Python.h"

File Tests/9/Reference/nogil.c

View file
 
 /* Declarations from nogil */
 
+static void (*__pyx_v_5nogil_fp)(PyObject *);
+static void (*__pyx_v_5nogil_fq)(PyObject *);
 __PYX_EXTERN_C DL_EXPORT(PyObject) *g(PyObject *); /*proto*/
 __PYX_EXTERN_C DL_EXPORT(void) g2(PyObject *); /*proto*/
 static void __pyx_f_5nogil_f(int); /*proto*/
   /* "/Local/Projects/D/Pyrex/Source/Tests/9/nogil.pyx":18 */
   e2();
 
+  /* "/Local/Projects/D/Pyrex/Source/Tests/9/nogil.pyx":23 */
+  __pyx_v_5nogil_fp = g2;
+
+  /* "/Local/Projects/D/Pyrex/Source/Tests/9/nogil.pyx":24 */
+  __pyx_v_5nogil_fp = __pyx_v_5nogil_fq;
+
 }
 
 static struct PyMethodDef __pyx_methods[] = {

File Tests/9/nogil.c

View file
-/* Generated by Pyrex 0.9.8.2 on Sat May 24 16:38:35 2008 */
+/* Generated by Pyrex */
 
 #define PY_SSIZE_T_CLEAN
 #include "Python.h"

File Tests/Bugs/other/Reference/e_jones-1.lis

-/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones-1.pyx:80:31: Object of type 'Small' has no attribute 'Topointer'
-/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones-1.pyx:89:28: Return with value in void function

File Tests/Bugs/other/Reference/e_jones1.lis

View file
+/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones-1.pyx:80:31: Object of type 'Small' has no attribute 'Topointer'
+/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones-1.pyx:89:28: Return with value in void function

File Tests/Bugs/other/e_jones-1.lis

-/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones-1.pyx:80:31: Object of type 'Small' has no attribute 'Topointer'
-/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones-1.pyx:89:28: Return with value in void function

File Tests/Bugs/other/e_jones-1.pyx

-include "jones-1.pxi"
-
-cdef extern from "tiny.h":
-
-     ctypedef struct Small:
-         int iC "i"
-         double xC "x"
-         int* uC "u"
-
-     ctypedef struct AAA:
-         Small smC "sm"
-         Small* smpC "smp"
-
-cdef class TemP__Small:
-     cdef Small* t
-
-     def __cinit__(self, object iPY, xPY, uPY):
-         self.t = <Small*> PyMem_Malloc(sizeof(Small))
-         if self.t == NULL:
-             raise MemoryError
-         self.t.iC = iPY
-         self.t.xC = xPY
-         if uPY is None:
-             self.t.uC = NULL
-         else:
-             self.t.uC = <int *> extract_ptr(uPY)
-
-     def __dealloc__(self):
-         PyMem_Free(self.t)
-
-     def __getattr__(self, name):
-         if name == 'i':
-             return self.t.iC
-         if name == 'x':
-             return self.t.xC
-         if name == 'u':
-             return wrap_ptr(self.t.uC, 'Small.u')
-         return object.__getattribute__(self, name)
-
-     def __setattr__(self, name, valPY):
-         if name == 'i':
-             self.t.iC = valPY
-         if name == 'x':
-             self.t.xC = valPY
-         if name == 'u':
-             self.t.uC = <int *> extract_ptr(valPY)
-         else:
-             object.__setattr__(self, name, valPY)
-
-     def ToPointer(self):
-         return  PyCObject_FromVoidPtrAndDesc(self.t, 'type Small*', NULL)
-
-cdef TemP__Small_toC(object PY, Small* C):
-     C.iC = PY.i
-     C.xC = PY.x
-     C.uC = <int *> extract_ptr(PY.u)
-
-cdef TemP__Small_FromC(Small* smC):
-     return TemP__Small(smC.iC, smC.xC, wrap_ptr(smC.uC, 'Small.u'))
-
-cdef class TemP__AAA:
-     cdef AAA* t
-
-     def __cinit__(self, smPY, smpPY):
-         self.t = <AAA*> PyMem_Malloc(sizeof(AAA))
-         if self.t == NULL:
-             raise MemoryError
-         cdef int LocaLi
-         cdef int LocaLj
-         TemP__Small_toC(smPY, &self.t.smC)
-         self.t.smpC = <Small*> extract_ptr(smpPY)
-
-     def __dealloc__(self):
-         PyMem_Free(self.t)
-
-     def __getattr__(self, name):
-         if name == 'sm':
-             return TemP__Small_FromC(&self.t.smC)
-         if name == 'smp':
-             return self.t.smpC.Topointer()
-         return object.__getattribute__(self, name)
-
-     def __setattr__(self, name, valPY):
-         cdef int LocaLi
-         cdef int LocaLj
-         if name == 'sm':
-             TemP__Small_toC(valPY, &self.t.smC)
-         if name == 'smp':
-             return wrap_ptr(self.t.smpC, 'AAA.smp')
-         else:
-             object.__setattr__(self, name, valPY)
-
-     def ToPointer(self):
-         return  PyCObject_FromVoidPtrAndDesc(self.t, 'type AAA*', NULL)
-
-cdef TemP__AAA_toC(object PY, AAA* C):
-     TemP__Small_toC(PY.sm, &C.smC)
-
-cdef TemP__AAA_FromC(AAA* C):
-     smPY = TemP__Small_FromC(&C.smC)
-     return TemP__AAA(smPY)

File Tests/Bugs/other/e_jones1.lis

View file
+/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones1.pyx:80:31: Object of type 'Small' has no attribute 'Topointer'
+/Local/Projects/D/Pyrex/Source/Tests/Bugs/other/e_jones1.pyx:89:28: Return with value in void function

File Tests/Bugs/other/e_jones1.pyx

View file
+include "jones-1.pxi"
+
+cdef extern from "tiny.h":
+
+     ctypedef struct Small:
+         int iC "i"
+         double xC "x"
+         int* uC "u"
+
+     ctypedef struct AAA:
+         Small smC "sm"
+         Small* smpC "smp"
+
+cdef class TemP__Small:
+     cdef Small* t
+
+     def __cinit__(self, object iPY, xPY, uPY):
+         self.t = <Small*> PyMem_Malloc(sizeof(Small))
+         if self.t == NULL:
+             raise MemoryError
+         self.t.iC = iPY
+         self.t.xC = xPY
+         if uPY is None:
+             self.t.uC = NULL
+         else:
+             self.t.uC = <int *> extract_ptr(uPY)
+
+     def __dealloc__(self):
+         PyMem_Free(self.t)
+
+     def __getattr__(self, name):
+         if name == 'i':
+             return self.t.iC
+         if name == 'x':
+             return self.t.xC
+         if name == 'u':
+             return wrap_ptr(self.t.uC, 'Small.u')
+         return object.__getattribute__(self, name)
+
+     def __setattr__(self, name, valPY):
+         if name == 'i':
+             self.t.iC = valPY
+         if name == 'x':
+             self.t.xC = valPY
+         if name == 'u':
+             self.t.uC = <int *> extract_ptr(valPY)
+         else:
+             object.__setattr__(self, name, valPY)
+
+     def ToPointer(self):
+         return  PyCObject_FromVoidPtrAndDesc(self.t, 'type Small*', NULL)
+
+cdef TemP__Small_toC(object PY, Small* C):
+     C.iC = PY.i
+     C.xC = PY.x
+     C.uC = <int *> extract_ptr(PY.u)
+
+cdef TemP__Small_FromC(Small* smC):
+     return TemP__Small(smC.iC, smC.xC, wrap_ptr(smC.uC, 'Small.u'))
+
+cdef class TemP__AAA:
+     cdef AAA* t
+
+     def __cinit__(self, smPY, smpPY):
+         self.t = <AAA*> PyMem_Malloc(sizeof(AAA))
+         if self.t == NULL:
+             raise MemoryError
+         cdef int LocaLi
+         cdef int LocaLj
+         TemP__Small_toC(smPY, &self.t.smC)
+         self.t.smpC = <Small*> extract_ptr(smpPY)
+
+     def __dealloc__(self):
+         PyMem_Free(self.t)
+
+     def __getattr__(self, name):
+         if name == 'sm':
+             return TemP__Small_FromC(&self.t.smC)
+         if name == 'smp':
+             return self.t.smpC.Topointer()
+         return object.__getattribute__(self, name)
+
+     def __setattr__(self, name, valPY):
+         cdef int LocaLi
+         cdef int LocaLj
+         if name == 'sm':
+             TemP__Small_toC(valPY, &self.t.smC)
+         if name == 'smp':
+             return wrap_ptr(self.t.smpC, 'AAA.smp')
+         else:
+             object.__setattr__(self, name, valPY)
+
+     def ToPointer(self):
+         return  PyCObject_FromVoidPtrAndDesc(self.t, 'type AAA*', NULL)
+
+cdef TemP__AAA_toC(object PY, AAA* C):
+     TemP__Small_toC(PY.sm, &C.smC)
+
+cdef TemP__AAA_FromC(AAA* C):
+     smPY = TemP__Small_FromC(&C.smC)
+     return TemP__AAA(smPY)

File Tests/Errors3/Reference/e_nogil.lis

View file
 /Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:59:8: Converting to Python object not allowed without gil
 /Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:61:2: Try-except statement not allowed without gil
 /Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:65:2: Try-finally statement not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:74:8: Cannot assign type 'void (void)' to 'void (*)(void) nogil'
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:75:9: Cannot assign type 'void (*)(void)' to 'void (*)(void) nogil'

File Tests/Errors3/Reference/e_nogilfunctype.lis

-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogilfunctype.pyx:5:6: Cannot assign type 'void (void) nogil' to 'void (*)(void)'

File Tests/Errors3/e_nogil.lis

View file
 /Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:8:5: Function declared nogil has Python locals or temporaries
 /Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:11:5: Function with Python return type cannot be declared nogil
 /Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:15:2: Calling gil-requiring function without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:24:3: Calling gil-requiring function without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:26:6: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:27:2: Constructing Python long int not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:28:2: Constructing complex number not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:29:6: Accessing Python global or builtin not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:30:2: Backquote expression not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:31:9: Python import not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:31:9: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:32:19: Constructing Python list not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:32:7: Python import not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:33:11: Iterating over Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:35:5: Indexing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:36:5: Slicing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:7: Converting to Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:9: Converting to Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:11: Converting to Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:5: Constructing Python slice object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:5: Indexing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:38:5: Accessing Python attribute not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:39:3: Constructing Python tuple not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:40:2: Constructing Python list not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:41:2: Constructing Python dict not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:6: Truth-testing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:6: Creating temporary Python reference not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:11: Creating temporary Python reference not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:43:7: Python type test not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:44:4: Converting to Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:45:4: Operation not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:46:2: Operation not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:47:4: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:47:8: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:48:3: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:48:10: Creating temporary Python reference not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:48:7: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:48:13: Creating temporary Python reference not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:49:5: Indexing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:49:5: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:50:5: Accessing Python attribute not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:50:5: Assignment of Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:51:2: Python print statement not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:52:2: Deleting Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:53:2: Returning Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:54:2: Raising exception not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:55:8: Truth-testing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:57:11: Truth-testing Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:59:8: Converting to Python object not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:61:2: Try-except statement not allowed without gil
-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:65:2: Try-finally statement not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:29:3: Calling gil-requiring function without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:31:6: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:32:2: Constructing Python long int not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:33:2: Constructing complex number not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:34:6: Accessing Python global or builtin not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:35:2: Backquote expression not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:36:9: Python import not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:36:9: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:19: Constructing Python list not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:37:7: Python import not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:38:11: Iterating over Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:40:5: Indexing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:41:5: Slicing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:7: Converting to Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:9: Converting to Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:11: Converting to Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:5: Constructing Python slice object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:42:5: Indexing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:43:5: Accessing Python attribute not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:44:3: Constructing Python tuple not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:45:2: Constructing Python list not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:46:2: Constructing Python dict not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:47:6: Truth-testing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:47:6: Creating temporary Python reference not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:47:11: Creating temporary Python reference not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:48:7: Python type test not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:49:4: Converting to Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:50:4: Operation not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:51:2: Operation not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:52:4: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:52:8: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:53:3: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:53:10: Creating temporary Python reference not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:53:7: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:53:13: Creating temporary Python reference not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:54:5: Indexing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:54:5: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:55:5: Accessing Python attribute not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:55:5: Assignment of Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:56:2: Python print statement not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:57:2: Deleting Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:58:2: Returning Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:59:2: Raising exception not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:60:8: Truth-testing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:62:11: Truth-testing Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:64:8: Converting to Python object not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:66:2: Try-except statement not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:70:2: Try-finally statement not allowed without gil
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:74:8: Cannot assign type 'void (void)' to 'void (*)(void) nogil'
+/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogil.pyx:75:9: Cannot assign type 'void (*)(void)' to 'void (*)(void) nogil'

File Tests/Errors3/e_nogilfunctype.lis

-/Local/Projects/D/Pyrex/Source/Tests/Errors3/e_nogilfunctype.pyx:5:6: Cannot assign type 'void (void) nogil' to 'void (*)(void)'

File Tests/Errors3/e_nogilfunctype.pyx

-cdef extern from *:
-	cdef void f() nogil
-	cdef void (*fp)()
-
-fp = f