Hello,

compiling Cython 0.15 generated C code on Windows using the Intel Compiler 11.1 icl.exe results in an "expected a type specifier" error.

For example:

/* "numpy.pxd":190
* # experimental exception made for __getbuffer__ and __releasebuffer__
 *         # -- the details of this may change.
* def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
 *             # This implementation of getbuffer is geared towards Cython
 *             # requirements, and does not yet fullfill the PEP.
 */

static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
       ^
Error: expected a type specifier.

The problem is the definition of CYTHON_UNUSED.

Please consider the attached patch. It works for me but maybe the problem is icl version specific, not Windows specific.

Christoph
diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py
index 1534a0e..e0ee40c 100644
--- a/Cython/Compiler/Nodes.py
+++ b/Cython/Compiler/Nodes.py
@@ -6963,7 +6963,7 @@ utility_function_predeclarations = \
 #   else
 #     define CYTHON_UNUSED
 #   endif
-# elif defined(__ICC) || defined(__INTEL_COMPILER)
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
 #   define CYTHON_UNUSED __attribute__ ((__unused__))
 # else
 #   define CYTHON_UNUSED
_______________________________________________
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel

Reply via email to