Guido van Rossum wrote: >>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. > > > But how can the compiler know that it is an output-only argument?
If a variable's address is passed to a function, gcc normally assumes that the function will modify the variable, so you normally don't see "might be used uninitialized" warnings. However, gcc now also inlines the functions called if possible, to find out how the pointer is used inside the function. Changing the order of the functions in the file won't help anymore, either. If you want to suppress inlining, you must put __attribute__((noinline)) before the function. Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com