https://github.com/python/cpython/commit/487ac27295cab7c81a4afa06a4b49159d70835d3
commit: 487ac27295cab7c81a4afa06a4b49159d70835d3
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-07-11T10:22:02Z
summary:

[3.15] gh-126877: Fix the configure check for Tcl/Tk with optimizing compilers 
(GH-153543) (GH-153553)

The check assigned the addresses of Tcl_Init() and Tk_Init() to unused
variables, which optimizing compilers can eliminate, so it linked even
when the libraries were missing.  Call the functions instead.
(cherry picked from commit ff0a9ae269fa38c21f01bdea1a7ff5d439c4f681)

Co-authored-by: Serhiy Storchaka <[email protected]>
Co-authored-by: Claude Opus 4.8 <[email protected]>

files:
A Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
M configure
M configure.ac

diff --git 
a/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst 
b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
new file mode 100644
index 00000000000000..1d7d4fad886c56
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2026-07-11-07-26-16.gh-issue-126877.Zt7Kq2.rst
@@ -0,0 +1,2 @@
+Fix the :program:`configure` check for Tcl/Tk which could wrongly succeed
+with optimizing compilers when the libraries are missing.
diff --git a/configure b/configure
index 90f026976d0e54..08a7c663ce0a9c 100755
--- a/configure
+++ b/configure
@@ -17800,8 +17800,8 @@ int
 main (void)
 {
 
-      void *x1 = Tcl_Init;
-      void *x2 = Tk_Init;
+      Tcl_Init(NULL);
+      Tk_Init(NULL);
 
   ;
   return 0;
diff --git a/configure.ac b/configure.ac
index bdb94d6d280338..ead82d6da0b545 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4643,8 +4643,8 @@ WITH_SAVE_ENV([
       #  error "Tk older than 8.5.12 not supported"
       #endif
     ], [
-      void *x1 = Tcl_Init;
-      void *x2 = Tk_Init;
+      Tcl_Init(NULL);
+      Tk_Init(NULL);
     ])
   ], [
     have_tcltk=yes

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to