[New-bugs-announce] [issue19474] Argument Clinic causing compiler warnings about uninitialized variables
Brett Cannon
report at bugs.python.org
Fri Nov 1 15:32:12 CET 2013
New submission from Brett Cannon:
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.
----------
assignee: larry
components: Extension Modules
messages: 201901
nosy: brett.cannon, larry
priority: normal
severity: normal
status: open
title: Argument Clinic causing compiler warnings about uninitialized variables
versions: Python 3.4
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19474>
_______________________________________
More information about the New-bugs-announce
mailing list