getcompiler.c 538 Bytes
Newer Older
Guido van Rossum's avatar
Guido van Rossum committed
1

2 3 4
/* Return the compiler identification, if possible. */

#include "Python.h"
Guido van Rossum's avatar
Guido van Rossum committed
5 6

#ifndef COMPILER
7

8 9 10 11 12
// 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__)
13
#define COMPILER "\n[GCC " __VERSION__ "]"
14 15
// Generic fallbacks.
#elif defined(__cplusplus)
Guido van Rossum's avatar
Guido van Rossum committed
16 17 18 19
#define COMPILER "[C++]"
#else
#define COMPILER "[C]"
#endif
20

Guido van Rossum's avatar
Guido van Rossum committed
21
#endif /* !COMPILER */
Guido van Rossum's avatar
Guido van Rossum committed
22

23
const char *
24
Py_GetCompiler(void)
Guido van Rossum's avatar
Guido van Rossum committed
25
{
26
    return COMPILER;
Guido van Rossum's avatar
Guido van Rossum committed
27
}