annotate Python/getcompiler.c @ 21725:5d2bfbd47f1b legacy-trunk

A tentative fix for SF bug #503837 (Roeland Rengelink): type.__module__ problems (again?) This simply initializes the __module__ local in a class statement from the __name__ global. I'm not 100% sure that this is the correct fix, although it usually does the right thing. The problem is that if the class statement executes in a custom namespace, the __name__ global may be taken from __builtins__, in which case it would have the value __builtin__, or it may not exist at all (if the custom namespace also has a custom __builtins__), in which case the class statement will fail. Nevertheless, unless someone finds a better solution, this is a 2.2.1 bugfix too.
author Guido van Rossum <guido@python.org>
date Tue, 15 Jan 2002 21:06:07 +0000
parents 4306107b1395
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3589
bd20c04274ff Added copyright.
Guido van Rossum <guido@python.org>
parents: 2896
diff changeset
1
3621
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
2 /* Return the compiler identification, if possible. */
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
3
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
4 #include "Python.h"
3589
bd20c04274ff Added copyright.
Guido van Rossum <guido@python.org>
parents: 2896
diff changeset
5
bd20c04274ff Added copyright.
Guido van Rossum <guido@python.org>
parents: 2896
diff changeset
6 #ifndef COMPILER
3621
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
7
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 #ifdef __GNUC__
14410
4306107b1395 The GCC version is loooooooooong; put it on a new line.
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
9 #define COMPILER "\n[GCC " __VERSION__ "]"
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 #endif
3621
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
11
3589
bd20c04274ff Added copyright.
Guido van Rossum <guido@python.org>
parents: 2896
diff changeset
12 #endif /* !COMPILER */
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 #ifndef COMPILER
3621
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
15
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 #ifdef __cplusplus
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 #define COMPILER "[C++]"
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 #else
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 #define COMPILER "[C]"
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 #endif
3621
f158edccc72c grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents: 3589
diff changeset
21
3589
bd20c04274ff Added copyright.
Guido van Rossum <guido@python.org>
parents: 2896
diff changeset
22 #endif /* !COMPILER */
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23
5860
728a083242a2 Make it return a _const_ char*.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
24 const char *
13658
f79434ee41fa Mass ANSIfication of function definitions. Doesn't cover all 'extern'
Thomas Wouters <thomas@python.org>
parents: 13256
diff changeset
25 Py_GetCompiler(void)
2896
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26 {
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 return COMPILER;
f0d9f800a4aa Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 }