1996-05-23 22:50:26 +00:00
|
|
|
|
1996-05-28 22:30:17 +00:00
|
|
|
/* Return the compiler identification, if possible. */
|
|
|
|
|
|
|
|
#include "Python.h"
|
1996-05-23 22:50:26 +00:00
|
|
|
|
|
|
|
#ifndef COMPILER
|
1996-05-28 22:30:17 +00:00
|
|
|
|
2017-10-06 04:15:14 +00:00
|
|
|
// Note the __clang__ conditional has to come before the __GNUC__ one because
|
|
|
|
// clang pretends to be GCC.
|
|
|
|
#if defined(__clang__)
|
2021-02-26 04:24:21 +00:00
|
|
|
#define COMPILER "[Clang " __clang_version__ "]"
|
2017-10-06 04:15:14 +00:00
|
|
|
#elif defined(__GNUC__)
|
2021-02-26 04:24:21 +00:00
|
|
|
#define COMPILER "[GCC " __VERSION__ "]"
|
2017-10-06 04:15:14 +00:00
|
|
|
// Generic fallbacks.
|
|
|
|
#elif defined(__cplusplus)
|
1995-08-04 04:20:48 +00:00
|
|
|
#define COMPILER "[C++]"
|
|
|
|
#else
|
|
|
|
#define COMPILER "[C]"
|
|
|
|
#endif
|
1996-05-28 22:30:17 +00:00
|
|
|
|
1996-05-23 22:50:26 +00:00
|
|
|
#endif /* !COMPILER */
|
1995-08-04 04:20:48 +00:00
|
|
|
|
1997-07-19 19:48:41 +00:00
|
|
|
const char *
|
2000-07-22 18:47:25 +00:00
|
|
|
Py_GetCompiler(void)
|
1995-08-04 04:20:48 +00:00
|
|
|
{
|
2017-10-05 07:09:01 +00:00
|
|
|
return COMPILER;
|
1995-08-04 04:20:48 +00:00
|
|
|
}
|