[Cython] 'local variable referenced before assignment' warnings

Vitja Makarov vitja.makarov at gmail.com
Thu Sep 22 14:08:28 CEST 2011


2011/9/22 Robert Bradshaw <robertwb at math.washington.edu>:
> On Wed, Sep 21, 2011 at 1:20 AM,  <robert.rex at exasol.com> wrote:
>> Hi Robert,
>>
>> Robert Bradshaw wrote:
>>>
>>> The warning seem correct to me, or is foo actually modifying the
>>> values of cya and cyb? (I suppose this could be possible by taking the
>>> address of the "passed by reference" arguments, but would seem like a
>>> *very* poor API design.)
>>
>> thanks for your fast answer! What made me came up with this issue is
>> that GCC/C++ will not complain in similar situations in C++ code (and
>> assumes foo() to initialize/change the value of cya/cyb). Thus, there
>> is an (arguable) difference in C++ compiler/Cython warnings.
>
> Yes, in C++ the called function can modify values passed by reference,
> so we need to add this exception to Cython.
>

That could be hard because we can not always resolve function to check
its args at create-control-flow stage.

-- 
vitja.


More information about the cython-devel mailing list