summarylogtreecommitdiffstats
path: root/0093-clang-arm64.patch
blob: 60f11671c64008dfd6fae6f9b32bfe9f922d2fc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
From 025cefb3dca7317d7476fa2a40938206e65eaa80 Mon Sep 17 00:00:00 2001
From: jeremyd2019 <4524874+jeremyd2019@users.noreply.github.com>
Date: Thu, 17 Jun 2021 18:52:36 +0530
Subject: [PATCH 093/N] clang arm64

---
 Lib/distutils/cygwinccompiler.py |  2 +-
 Python/getcompiler.c             | 11 ++++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py
index fcba43a..0c063a8 100644
--- a/Lib/distutils/cygwinccompiler.py
+++ b/Lib/distutils/cygwinccompiler.py
@@ -394,7 +394,7 @@ def check_config_h():
         return (CONFIG_H_UNCERTAIN,
                 "couldn't read '%s': %s" % (fn, exc.strerror))
 
-RE_VERSION = re.compile(br'[\D\s]*(\d+\.\d+(\.\d+)*)[\D\s]*$')
+RE_VERSION = re.compile(br'[\D\s]*(\d+\.\d+(\.\d+)*)[\D\s]*')
 
 def _find_exe_version(cmd):
     """Find the version of an executable by running `cmd` in the shell.
diff --git a/Python/getcompiler.c b/Python/getcompiler.c
index adccaa7..b529e29 100644
--- a/Python/getcompiler.c
+++ b/Python/getcompiler.c
@@ -7,7 +7,7 @@
 
 // Note the __clang__ conditional has to come before the __GNUC__ one because
 // clang pretends to be GCC.
-#if defined(__clang__)
+#if defined(__clang__) && !defined(_WIN32)
 #define COMPILER "\n[Clang " __clang_version__ "]"
 #elif defined(__GNUC__)
 /* To not break compatibility with things that determine
@@ -18,6 +18,8 @@
 #define COMP_SEP " "
 #if defined(__x86_64__)
 #define ARCH_SUFFIX " 64 bit (AMD64)"
+#elif defined(__aarch64__)
+#define ARCH_SUFFIX " 64 bit (ARM64)"
 #else
 #define ARCH_SUFFIX " 32 bit"
 #endif
@@ -25,7 +27,14 @@
 #define COMP_SEP "\n"
 #define ARCH_SUFFIX ""
 #endif
+#if defined(__clang__)
+#define str(x) #x
+#define xstr(x) str(x)
+#define COMPILER COMP_SEP "[GCC Clang " xstr(__clang_major__) "." \
+        xstr(__clang_minor__) "." xstr(__clang_patchlevel__) ARCH_SUFFIX "]"
+#else
 #define COMPILER COMP_SEP "[GCC " __VERSION__ ARCH_SUFFIX "]"
+#endif
 // Generic fallbacks.
 #elif defined(__cplusplus)
 #define COMPILER "[C++]"
-- 
2.32.0