Issue 19474: Argument Clinic causing compiler warnings about uninitialized variables (original) (raw)
In the curses module there are some variables that can go uninitialized which are causing clang to complain:
/Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:17: warning: variable 'x' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, "Ol:addch", &ch, &attr)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:65: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, "Ol:addch", &ch, &attr)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:17: warning: variable 'x' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, "O:addch", &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:65: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, "O:addch", &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:612:10: note: initialize the variable 'x' to silence this warning int x; ^ = 0 /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:17: warning: variable 'y' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, "Ol:addch", &ch, &attr)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:68: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:624:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, "Ol:addch", &ch, &attr)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:17: warning: variable 'y' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, "O:addch", &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:68: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, "O:addch", &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:613:10: note: initialize the variable 'y' to silence this warning int y; ^ = 0 /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:629:17: warning: variable 'attr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, "iiO:addch", &x, &y, &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:90: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:629:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, "iiO:addch", &x, &y, &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:17: warning: variable 'attr' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if (!PyArg_ParseTuple(args, "O:addch", &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:643:90: note: uninitialized use occurs here return_value = curses_window_addch_impl(self, group_left_1, x, y, ch, group_right_1, attr); ^~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:620:13: note: remove the 'if' if its condition is always true if (!PyArg_ParseTuple(args, "O:addch", &ch)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/bcannon/Repositories/cpython/default/Modules/_cursesmodule.c:616:14: note: initialize the variable 'attr' to silence this warning long attr; ^ = 0 6 warnings generated.