https://github.com/python/cpython/commit/ec42ea44d2508a3e39e19b7bdc351434c84ab70c
commit: ec42ea44d2508a3e39e19b7bdc351434c84ab70c
branch: 3.14
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2026-07-11T10:08:13Z
summary:

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

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 8c6bf8b3cfe4a9..717a2079124129 100755
--- a/configure
+++ b/configure
@@ -17322,8 +17322,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 a65c16a05b1580..cac2f931c91aa1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4544,8 +4544,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