[Cython] Question on "numpy_common.pxi" in NumPy tests
Robert Bradshaw
robertwb at gmail.com
Wed Mar 28 22:30:10 CEST 2012
On Tue, Mar 27, 2012 at 11:49 PM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> Lisandro Dalcin, 27.03.2012 21:34:
>> On 27 March 2012 17:20, Stefan Behnel wrote:
>>> the NumPy related tests use a file "numpy_common.pxi" that contains this
>>> useless code:
>>>
>>> """
>>> cdef extern from *:
>>> bint FALSE "0"
>>> void import_array()
>>> void import_umath()
>>>
>>> if FALSE:
>>> import_array()
>>> import_umath()
>>> """
>>>
>>> Does this serve any purpose? It currently leads to build failures of the
>>> tests in C++ mode because the "import_umath()" call seems to inline code
>>> with a bare "return" statement, which is not allowed in the module init
>>> function (which returns a reference to the module).
>>>
>>> Is there any reason why this can't just die?
>>
>> Oh! long long ago Cython testsuite was able to run without a single C
>> compiler warning... That numpy common file was a hack to silent
>> "defined but not used" warnings about the import array/umath functions
>> defined in NumPy headers.
>
> Ok - in that case, it should be enough to move the import calls into a cdef
> function body and "avoiding" to call that.
And then gcc helpfully spits out an "unused function" warning, which
is what we're trying to avoid in the first place...
> And a comment in the file would be helpful ...
Done.
More information about the cython-devel
mailing list