[Cython] Error when using Intel icl compiler on Windows

David Cournapeau cournape at gmail.com
Tue Sep 13 13:18:07 CEST 2011


On Tue, Sep 13, 2011 at 12:31 AM, Vitja Makarov <vitja.makarov at gmail.com> wrote:
> 2011/9/13 Robert Bradshaw <robertwb at math.washington.edu>:
>> On Mon, Sep 12, 2011 at 7:19 PM, Lisandro Dalcin <dalcinl at gmail.com> wrote:
>>> On 9 September 2011 05:26, Robert Bradshaw <robertwb at math.washington.edu> wrote:
>>>> Does it work with icc if you replace
>>>>
>>>>  #   define CYTHON_UNUSED __attribute__ ((__unused__))
>>>>
>>>> with
>>>>
>>>>  #   define CYTHON_UNUSED __attribute__ ((unused))
>>>>
>>>> ?
>>>>
>>>>
>>>> On Fri, Sep 9, 2011 at 12:28 AM, Christoph Gohlke <cgohlke at uci.edu> wrote:
>>>>> 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.
>>>>>
>>>
>>> Robert, could you apply this patch?
>>
>> Done. I'm still wondering if it's broken for __INTEL_COMPILER
>> non-windows, but don't have any way to test it out.
>>
>
> Maybe  __attibute__((unused)) is gcc compat option and is disabled on
> windows systems by default.

I am actually not aware of any option to enable it on windows (a quick
check on most recent icl doc did not mention __attribute__ anywhere in
windows sections).

cheers,

David


More information about the cython-devel mailing list