]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Fix compiler warning for misleading guarding in the tkinter (GH-26244)
authorPablo Galindo <Pablogsal@gmail.com>
Wed, 19 May 2021 18:10:23 +0000 (19:10 +0100)
committerGitHub <noreply@github.com>
Wed, 19 May 2021 18:10:23 +0000 (19:10 +0100)
commit95d04710c5fb0df5393b5add2c5c2de2412673eb
tree4ddc67c01e56a361490b0c8cb36e619bd0aa3eee
parentbe93f81e58ba3742589259ef84325a95b547e424
Fix compiler warning for misleading guarding in the tkinter (GH-26244)

The newest gcc emmits this warning:

```
/Modules/_tkinter.c:272:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  272 |         if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate; }
      |         ^~
/Modules/_tkinter.c:2869:5: note: in expansion of macro ‘LEAVE_PYTHON’
 2869 |     LEAVE_PYTHON
      |     ^~~~~~~~~~~~
/Modules/_tkinter.c:243:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  243 |     (*(PyThreadState**)Tcl_GetThreadData(&state_key, sizeof(PyThreadState*)))
      |     ^
/Modules/_tkinter.c:272:57: note: in expansion of macro ‘tcl_tstate’
  272 |         if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate; }
      |                                                         ^~~~~~~~~~
/Modules/_tkinter.c:2869:5: note: in expansion of macro ‘LEAVE_PYTHON’
 2869 |     LEAVE_PYTHON

```

that's because the macro packs together two statements at the same level
as the "if". The warning is misleading but is very noisy so it makes
sense to fix it.
Modules/_tkinter.c