summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/src/Python/getcompiler.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools/python3/src/Python/getcompiler.c')
-rw-r--r--contrib/tools/python3/src/Python/getcompiler.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/tools/python3/src/Python/getcompiler.c b/contrib/tools/python3/src/Python/getcompiler.c
new file mode 100644
index 00000000000..59c0dbf92ae
--- /dev/null
+++ b/contrib/tools/python3/src/Python/getcompiler.c
@@ -0,0 +1,27 @@
+
+/* Return the compiler identification, if possible. */
+
+#include "Python.h"
+
+#ifndef COMPILER
+
+// 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__ "]"
+// Generic fallbacks.
+#elif defined(__cplusplus)
+#define COMPILER "[C++]"
+#else
+#define COMPILER "[C]"
+#endif
+
+#endif /* !COMPILER */
+
+const char *
+Py_GetCompiler(void)
+{
+ return COMPILER;
+}