summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2021-05-19 18:10:23 (GMT)
committerGitHub <noreply@github.com>2021-05-19 18:10:23 (GMT)
commit95d04710c5fb0df5393b5add2c5c2de2412673eb (patch)
tree4ddc67c01e56a361490b0c8cb36e619bd0aa3eee /Modules
parentbe93f81e58ba3742589259ef84325a95b547e424 (diff)
downloadcpython-95d04710c5fb0df5393b5add2c5c2de2412673eb.zip
cpython-95d04710c5fb0df5393b5add2c5c2de2412673eb.tar.gz
cpython-95d04710c5fb0df5393b5add2c5c2de2412673eb.tar.bz2
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.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_tkinter.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 3a0e5de..14101d9 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -246,12 +246,15 @@ static PyThreadState *tcl_tstate = NULL;
#endif
#define ENTER_TCL \
- { PyThreadState *tstate = PyThreadState_Get(); Py_BEGIN_ALLOW_THREADS \
- if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate;
+ { PyThreadState *tstate = PyThreadState_Get(); \
+ Py_BEGIN_ALLOW_THREADS \
+ if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); \
+ tcl_tstate = tstate;
#define LEAVE_TCL \
tcl_tstate = NULL; \
- if(tcl_lock)PyThread_release_lock(tcl_lock); Py_END_ALLOW_THREADS}
+ if(tcl_lock)PyThread_release_lock(tcl_lock); \
+ Py_END_ALLOW_THREADS}
#define ENTER_OVERLAP \
Py_END_ALLOW_THREADS
@@ -261,12 +264,14 @@ static PyThreadState *tcl_tstate = NULL;
#define ENTER_PYTHON \
{ PyThreadState *tstate = tcl_tstate; tcl_tstate = NULL; \
- if(tcl_lock) \
- PyThread_release_lock(tcl_lock); PyEval_RestoreThread((tstate)); }
+ if(tcl_lock) \
+ PyThread_release_lock(tcl_lock); \
+ PyEval_RestoreThread((tstate)); }
#define LEAVE_PYTHON \
{ PyThreadState *tstate = PyEval_SaveThread(); \
- if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); tcl_tstate = tstate; }
+ if(tcl_lock)PyThread_acquire_lock(tcl_lock, 1); \
+ tcl_tstate = tstate; }
#define CHECK_TCL_APPARTMENT \
if (((TkappObject *)self)->threaded && \