[Python-checkins] Fix compiler warning on Windows (GH-18012)

Miss Islington (bot) webhook-mailer at python.org
Wed Jan 15 12:07:16 EST 2020

commit: 92135775ce12fd71f0878c0a8a0652c197fcc60b
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2020-01-15T09:07:09-08:00

Fix compiler warning on Windows (GH-18012)

Python-ast.h contains a macro named Yield that conflicts with the Yield macro
in Windows system headers. While Python-ast.h has an "undef Yield" directive
to prevent this, it means that Python-ast.h must be included before Windows
header files or we run into a re-declaration warning. In commit c96be811fa7d
an include for pycore_pystate.h was added which indirectly includes Windows
header files. In this commit we re-order the includes to fix this warning.
(cherry picked from commit e92d39303feb1d3b4194c6a8275b1fc63b2153b2)

Co-authored-by: Ammar Askar <ammar at ammaraskar.com>

M Python/compile.c

diff --git a/Python/compile.c b/Python/compile.c
index f09e99fd4a43d..11974c3509a32 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -23,8 +23,8 @@
 #include "Python.h"
-#include "Python-ast.h"
 #include "pycore_pystate.h"   /* _PyInterpreterState_GET_UNSAFE() */
+#include "Python-ast.h"
 #include "ast.h"
 #include "code.h"
 #include "symtable.h"

More information about the Python-checkins mailing list