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 <rep...@bugs.python.org>
<http://bugs.python.org/issue19474>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to