[Python-Dev] Compiler warnings
Tim Peters
tim.peters at gmail.com
Wed Feb 1 03:19:41 CET 2006
[Tim]
>> Well, that's pretty bizarre. There's _obviously_ no way to get to a
>> reference to `e` without going through
>>
>> x = _PyLong_AsScaledDouble(vv, &e);
>>
>> first. That isn't a useful warning.
[Guido]
> But how can the compiler know that it is an output-only argument?
In the absence of interprocedural analysis, it cannot -- and neither
can it know that it's not an output argument. It can't know anything
non-trivial, and because it can't, a reasonable compiler would avoid
raising a red flag at "warning" level. "info", maybe, if it has such
a concept. It's as silly to me as seeing, e.g.,
"""
double
recip(double z)
{
return 1.0 / z;
}
"warning: possible division by 0 or signaling NaN"
"""
Perhaps, but not useful because there's no reason to presume it's a
_likely_ error.
More information about the Python-Dev
mailing list