summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2017-10-05 06:41:06 (GMT)
committerBenjamin Peterson <benjamin@python.org>2017-10-05 07:09:33 (GMT)
commitc644009b941db7efaec8f72868766b0aa946d797 (patch)
treeea3f92fb2d563e3b53078870ed584a53915c0f2f
parenta8ed11742b4c2115597977ce04fa8e043d9e0792 (diff)
downloadcpython-benjamin-clang.zip
cpython-benjamin-clang.tar.gz
cpython-benjamin-clang.tar.bz2
closes bpo-31696: don't mention GCC in sys.version when building with clangbenjamin-clang
-rw-r--r--Misc/NEWS.d/next/Build/2017-10-04-23-40-32.bpo-31696.Y3_aBV.rst2
-rw-r--r--Python/getcompiler.c15
2 files changed, 9 insertions, 8 deletions
diff --git a/Misc/NEWS.d/next/Build/2017-10-04-23-40-32.bpo-31696.Y3_aBV.rst b/Misc/NEWS.d/next/Build/2017-10-04-23-40-32.bpo-31696.Y3_aBV.rst
new file mode 100644
index 0000000..00aae0b
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2017-10-04-23-40-32.bpo-31696.Y3_aBV.rst
@@ -0,0 +1,2 @@
+Improve compiler version information in :data:`sys.version` when Python is
+built with Clang.
diff --git a/Python/getcompiler.c b/Python/getcompiler.c
index 9d9c33a..59c0dbf 100644
--- a/Python/getcompiler.c
+++ b/Python/getcompiler.c
@@ -5,15 +5,14 @@
#ifndef COMPILER
-#ifdef __GNUC__
+// Note the __clang__ conditional has to come before the __GNUC__ one because
+// clang pretends to be GCC.
+#if defined(__clang__)
+#define COMPILER "\n[Clang " __clang_version__ "]"
+#elif defined(__GNUC__)
#define COMPILER "\n[GCC " __VERSION__ "]"
-#endif
-
-#endif /* !COMPILER */
-
-#ifndef COMPILER
-
-#ifdef __cplusplus
+// Generic fallbacks.
+#elif defined(__cplusplus)
#define COMPILER "[C++]"
#else
#define COMPILER "[C]"