Mercurial > cpython-lru_cache-weakref
annotate Include/Python.h @ 61184:4fd3ab5fa71d
Make (most of) Python's tests pass under Thread Sanitizer.
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer is a dynamic data
race detector that runs on top of valgrind. With this patch, the binaries at
http://code.google.com/p/data-race-test/wiki/ThreadSanitizer#Binaries pass many
but not all of the Python tests. All of regrtest still passes outside of tsan.
I've implemented part of the C1x atomic types so that we can explicitly mark
variables that are used across threads, and get defined behavior as compilers
advance.
I've added tsan's client header and implementation to the codebase in
dynamic_annotations.{h,c} (docs at
http://code.google.com/p/data-race-test/wiki/DynamicAnnotations).
Unfortunately, I haven't been able to get helgrind and drd to give sensible
error messages, even when I use their client annotations, so I'm not supporting
them.
| author | Jeffrey Yasskin <jyasskin@gmail.com> |
|---|---|
| date | Mon, 03 May 2010 19:29:34 +0000 |
| parents | fe6b6c189bb4 |
| children | d35782ac21f8 |
| rev | line source |
|---|---|
|
5398
72b231edfb25
Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents:
5397
diff
changeset
|
1 #ifndef Py_PYTHON_H |
|
72b231edfb25
Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents:
5397
diff
changeset
|
2 #define Py_PYTHON_H |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
3 /* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
4 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
5 /* Include nearly all Python header files */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
6 |
|
9744
85ab28644201
New version identification scheme.
Guido van Rossum <guido@python.org>
parents:
9586
diff
changeset
|
7 #include "patchlevel.h" |
|
18835
2dea40e40d9d
Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774.
Martin v. Löwis <martin@v.loewis.de>
parents:
18611
diff
changeset
|
8 #include "pyconfig.h" |
|
48485
bd4841069c68
Merged revisions 63955 via svnmerge from
Georg Brandl <georg@python.org>
parents:
47750
diff
changeset
|
9 #include "pymacconfig.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
10 |
|
14869
25ddd3dc7a7a
Rationalize use of limits.h, moving the inclusion to Python.h.
Fred Drake <fdrake@acm.org>
parents:
14674
diff
changeset
|
11 #include <limits.h> |
|
25ddd3dc7a7a
Rationalize use of limits.h, moving the inclusion to Python.h.
Fred Drake <fdrake@acm.org>
parents:
14674
diff
changeset
|
12 |
|
31250
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
13 #ifndef UCHAR_MAX |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
14 #error "Something's broken. UCHAR_MAX should be defined in limits.h." |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
15 #endif |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
16 |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
17 #if UCHAR_MAX != 255 |
|
31251
e118e4e8e224
Changed the UCHAR_MAX error msg a bit: we don't really assume anything
Tim Peters <tim.peters@gmail.com>
parents:
31250
diff
changeset
|
18 #error "Python's source code assumes C's unsigned char is an 8-bit type." |
|
31250
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
19 #endif |
|
dfd0114cf9ec
There are places in Python which assume bytes have 8-bits. Formalize that a
Skip Montanaro <skip@pobox.com>
parents:
30929
diff
changeset
|
20 |
|
8429
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
21 #if defined(__sgi) && defined(WITH_THREAD) && !defined(_SGI_MP_SOURCE) |
|
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
22 #define _SGI_MP_SOURCE |
|
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
23 #endif |
|
f7c58ed2981d
On SGI, we need to define _SGI_MP_SOURCE before including errno.h when
Guido van Rossum <guido@python.org>
parents:
5919
diff
changeset
|
24 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
25 #include <stdio.h> |
|
14497
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
26 #ifndef NULL |
|
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
27 # error "Python.h requires that stdio.h define NULL." |
|
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
28 #endif |
|
d327fc47f8fd
Close SF bug 110826: a complaint about the way Python #define'd NULL.
Tim Peters <tim.peters@gmail.com>
parents:
14375
diff
changeset
|
29 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
30 #include <string.h> |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
38453
diff
changeset
|
31 #ifdef HAVE_ERRNO_H |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
32 #include <errno.h> |
|
38453
29ae5e0fc348
Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk.
Thomas Wouters <thomas@python.org>
parents:
37927
diff
changeset
|
33 #endif |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
34 #include <stdlib.h> |
|
21712
c64fc56f6072
Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents:
21197
diff
changeset
|
35 #ifdef HAVE_UNISTD_H |
|
c64fc56f6072
Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents:
21197
diff
changeset
|
36 #include <unistd.h> |
|
c64fc56f6072
Include <unistd.h> in Python.h. Fixes #500924.
Martin v. Löwis <martin@v.loewis.de>
parents:
21197
diff
changeset
|
37 #endif |
|
18606
730ab0bed6ab
Define NDEBUG when Py_DEBUG undefined, to disable the assert macro.
Guido van Rossum <guido@python.org>
parents:
17597
diff
changeset
|
38 |
|
47750
f64996760984
Merged revisions 64089,64098,64100-64102,64113,64115-64116,64118,64120,64132,64342 via svnmerge from
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents:
47302
diff
changeset
|
39 /* For size_t? */ |
|
32833
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
40 #ifdef HAVE_STDDEF_H |
|
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
41 #include <stddef.h> |
|
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
42 #endif |
|
dac9d0664fc3
Use intptr_t/uintptr_t on Windows
Martin v. Löwis <martin@v.loewis.de>
parents:
32421
diff
changeset
|
43 |
|
21197
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
44 /* CAUTION: Build setups should ensure that NDEBUG is defined on the |
|
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
45 * compiler command line when building Python in release mode; else |
|
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
46 * assert() calls won't be removed. |
|
ad7b4424aab6
Stop defining NDEBUG in Python.h, because it can interfere with
Tim Peters <tim.peters@gmail.com>
parents:
20282
diff
changeset
|
47 */ |
|
13674
c90d94d287d7
Included assert.h in Python.h -- it's absurd that this basic tool of
Tim Peters <tim.peters@gmail.com>
parents:
13579
diff
changeset
|
48 #include <assert.h> |
|
c90d94d287d7
Included assert.h in Python.h -- it's absurd that this basic tool of
Tim Peters <tim.peters@gmail.com>
parents:
13579
diff
changeset
|
49 |
| 23462 | 50 #include "pyport.h" |
| 51 | |
|
61184
4fd3ab5fa71d
Make (most of) Python's tests pass under Thread Sanitizer.
Jeffrey Yasskin <jyasskin@gmail.com>
parents:
60688
diff
changeset
|
52 #include "pyatomic.h" |
|
4fd3ab5fa71d
Make (most of) Python's tests pass under Thread Sanitizer.
Jeffrey Yasskin <jyasskin@gmail.com>
parents:
60688
diff
changeset
|
53 |
|
22479
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
54 /* Debug-mode build with pymalloc implies PYMALLOC_DEBUG. |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
55 * PYMALLOC_DEBUG is in error if pymalloc is not in use. |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
56 */ |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
57 #if defined(Py_DEBUG) && defined(WITH_PYMALLOC) && !defined(PYMALLOC_DEBUG) |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
58 #define PYMALLOC_DEBUG |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
59 #endif |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
60 #if defined(PYMALLOC_DEBUG) && !defined(WITH_PYMALLOC) |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
61 #error "PYMALLOC_DEBUG requires WITH_PYMALLOC" |
|
fb45791150d1
Give Python a debug-mode pymalloc, much as sketched on Python-Dev.
Tim Peters <tim.peters@gmail.com>
parents:
21712
diff
changeset
|
62 #endif |
|
46477
b69f443ef480
Merged revisions 62380,62382-62383 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
46430
diff
changeset
|
63 #include "pymath.h" |
|
13776
33df3b516711
patch from Vladimir (move Py_Mem* interface to Include/pymem.h)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
13761
diff
changeset
|
64 #include "pymem.h" |
|
33df3b516711
patch from Vladimir (move Py_Mem* interface to Include/pymem.h)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
13761
diff
changeset
|
65 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
66 #include "object.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
67 #include "objimpl.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
68 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
69 #include "pydebug.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
70 |
|
47302
811a80651232
Renamed files bytesobject.[ch] and stringobject.[ch]
Christian Heimes <christian@cheimes.de>
parents:
46477
diff
changeset
|
71 #include "bytearrayobject.h" |
|
37927
a7f3765ea464
Here is a bytes type. It's very minimal but it's a start.
Guido van Rossum <guido@python.org>
parents:
37058
diff
changeset
|
72 #include "bytesobject.h" |
|
12248
70154e2e9c89
Marc-Andre's third try at this bulk patch seems to work (except that
Guido van Rossum <guido@python.org>
parents:
11964
diff
changeset
|
73 #include "unicodeobject.h" |
|
42334
e70cdce0e8b2
Merged revisions 56467-56482 via svnmerge from
Martin v. Löwis <martin@v.loewis.de>
parents:
40528
diff
changeset
|
74 #include "longobject.h" |
|
e70cdce0e8b2
Merged revisions 56467-56482 via svnmerge from
Martin v. Löwis <martin@v.loewis.de>
parents:
40528
diff
changeset
|
75 #include "longintrepr.h" |
|
22785
aa8d59823add
Add the 'bool' type and its values 'False' and 'True', as described in
Guido van Rossum <guido@python.org>
parents:
22567
diff
changeset
|
76 #include "boolobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
77 #include "floatobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
78 #include "complexobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
79 #include "rangeobject.h" |
|
42665
85c22b4d4455
Merged in py3k-buffer branch to main line. All objects now use the buffer protocol in PEP 3118.
Travis E. Oliphant <oliphant@enthought.com>
parents:
42334
diff
changeset
|
80 #include "memoryobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
81 #include "tupleobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
82 #include "listobject.h" |
|
5508
3643f19d5ca1
Subsumed mappingobject.h in dictobject.h.
Guido van Rossum <guido@python.org>
parents:
5438
diff
changeset
|
83 #include "dictobject.h" |
|
23285
afe263672fd8
- New builtin function enumerate(x), from PEP 279. Example:
Guido van Rossum <guido@python.org>
parents:
22785
diff
changeset
|
84 #include "enumobject.h" |
|
30929
54ff68e973ee
* Migrate set() and frozenset() from the sandbox.
Raymond Hettinger <python@rcn.com>
parents:
24752
diff
changeset
|
85 #include "setobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
86 #include "methodobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
87 #include "moduleobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
88 #include "funcobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
89 #include "classobject.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
90 #include "fileobject.h" |
|
53816
911df82bc25d
add a replacement API for PyCObject, PyCapsule #5630
Benjamin Peterson <benjamin@python.org>
parents:
53543
diff
changeset
|
91 #include "pycapsule.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
92 #include "traceback.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
93 #include "sliceobject.h" |
|
16256
07071872de3e
PEP 227 implementation
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
14869
diff
changeset
|
94 #include "cellobject.h" |
|
17597
32e7d0898eab
Iterators phase 1. This comprises:
Guido van Rossum <guido@python.org>
parents:
16256
diff
changeset
|
95 #include "iterobject.h" |
|
32421
485d2ef43419
Patch #966493: Cleanup generator/eval_frame exposure.
Martin v. Löwis <martin@v.loewis.de>
parents:
32305
diff
changeset
|
96 #include "genobject.h" |
|
18933
09df3254b49d
Merge of descr-branch back into trunk.
Tim Peters <tim.peters@gmail.com>
parents:
18845
diff
changeset
|
97 #include "descrobject.h" |
|
46430
47d9bbe10897
Merged revisions 62260-62261,62266,62271,62277-62279,62289-62290,62293-62298,62302-62306,62308,62311,62313-62315,62319-62321 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
46161
diff
changeset
|
98 #include "warnings.h" |
|
20282
e3751af0f1dd
Include the weakref object interface.
Fred Drake <fdrake@acm.org>
parents:
18933
diff
changeset
|
99 #include "weakrefobject.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
100 |
|
11964
4412c7a32497
Marc-Andre Lemburg: include unicodeobject.h and codecs.h
Guido van Rossum <guido@python.org>
parents:
9744
diff
changeset
|
101 #include "codecs.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
102 #include "pyerrors.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
103 |
|
5848
f64a5f750696
Include pystate.h earlier so it can be referenced by ceval.h.
Guido van Rossum <guido@python.org>
parents:
5508
diff
changeset
|
104 #include "pystate.h" |
|
f64a5f750696
Include pystate.h earlier so it can be referenced by ceval.h.
Guido van Rossum <guido@python.org>
parents:
5508
diff
changeset
|
105 |
|
36065
ea083efdc96c
Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
Neal Norwitz <nnorwitz@gmail.com>
parents:
35742
diff
changeset
|
106 #include "pyarena.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
107 #include "modsupport.h" |
|
18611
fdb36a0c7e6e
Part way to allowing "from __future__ import generators" to communicate
Tim Peters <tim.peters@gmail.com>
parents:
18607
diff
changeset
|
108 #include "pythonrun.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
109 #include "ceval.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
110 #include "sysmodule.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
111 #include "intrcheck.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
112 #include "import.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
113 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
114 #include "abstract.h" |
|
53953
261f594014c6
these builtins have to be initialized
Benjamin Peterson <benjamin@python.org>
parents:
53816
diff
changeset
|
115 #include "bltinmodule.h" |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
116 |
|
31656
03693af46afb
compile.h and eval.h weren't being included which kept a fair bit of the
Skip Montanaro <skip@pobox.com>
parents:
31504
diff
changeset
|
117 #include "compile.h" |
|
03693af46afb
compile.h and eval.h weren't being included which kept a fair bit of the
Skip Montanaro <skip@pobox.com>
parents:
31504
diff
changeset
|
118 #include "eval.h" |
|
03693af46afb
compile.h and eval.h weren't being included which kept a fair bit of the
Skip Montanaro <skip@pobox.com>
parents:
31504
diff
changeset
|
119 |
|
53543
4b4b59f278bf
Merged revisions 72040 via svnmerge from
Eric Smith <eric@trueblade.com>
parents:
53185
diff
changeset
|
120 #include "pyctype.h" |
|
32305
13656d58d450
Patch #774665: Make Python LC_NUMERIC agnostic.
Martin v. Löwis <martin@v.loewis.de>
parents:
31656
diff
changeset
|
121 #include "pystrtod.h" |
|
44349
4dc01402d78a
Merged revisions 59541-59561 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44107
diff
changeset
|
122 #include "pystrcmp.h" |
|
53185
97ae7a709c1d
Issue #1580: use short float repr where possible.
Mark Dickinson <dickinsm@gmail.com>
parents:
48485
diff
changeset
|
123 #include "dtoa.h" |
|
32305
13656d58d450
Patch #774665: Make Python LC_NUMERIC agnostic.
Martin v. Löwis <martin@v.loewis.de>
parents:
31656
diff
changeset
|
124 |
|
60649
c532afb0fa89
Fix the --with-cxx-main build.
Collin Winter <collinw@gmail.com>
parents:
60593
diff
changeset
|
125 #ifdef __cplusplus |
|
c532afb0fa89
Fix the --with-cxx-main build.
Collin Winter <collinw@gmail.com>
parents:
60593
diff
changeset
|
126 extern "C" { |
|
c532afb0fa89
Fix the --with-cxx-main build.
Collin Winter <collinw@gmail.com>
parents:
60593
diff
changeset
|
127 #endif |
|
23950
f7ce696979e1
SF 569257 -- Name mangle double underscored variable names in __slots__.
Raymond Hettinger <python@rcn.com>
parents:
23746
diff
changeset
|
128 /* _Py_Mangle is defined in compile.c */ |
|
35742
1c4d192f1568
Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
32833
diff
changeset
|
129 PyAPI_FUNC(PyObject*) _Py_Mangle(PyObject *p, PyObject *name); |
|
23950
f7ce696979e1
SF 569257 -- Name mangle double underscored variable names in __slots__.
Raymond Hettinger <python@rcn.com>
parents:
23746
diff
changeset
|
130 |
|
60688
fe6b6c189bb4
Move _Py_char2wchar from python.c to main.c.
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
60649
diff
changeset
|
131 /* _Py_char2wchar lives in main.c */ |
|
60593
62d11785204f
#7301: decode $PYTHONWARNINGS in the same way as argv, test non-ascii values
Philip Jenvey <pjenvey@underboss.org>
parents:
56594
diff
changeset
|
132 PyAPI_FUNC(wchar_t *) _Py_char2wchar(char *); |
|
60649
c532afb0fa89
Fix the --with-cxx-main build.
Collin Winter <collinw@gmail.com>
parents:
60593
diff
changeset
|
133 #ifdef __cplusplus |
|
c532afb0fa89
Fix the --with-cxx-main build.
Collin Winter <collinw@gmail.com>
parents:
60593
diff
changeset
|
134 } |
|
c532afb0fa89
Fix the --with-cxx-main build.
Collin Winter <collinw@gmail.com>
parents:
60593
diff
changeset
|
135 #endif |
|
60593
62d11785204f
#7301: decode $PYTHONWARNINGS in the same way as argv, test non-ascii values
Philip Jenvey <pjenvey@underboss.org>
parents:
56594
diff
changeset
|
136 |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
137 /* Convert a possibly signed character to a nonnegative int */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
138 /* XXX This assumes characters are 8 bits wide */ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
139 #ifdef __CHAR_UNSIGNED__ |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
140 #define Py_CHARMASK(c) (c) |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
141 #else |
|
46161
848160d10780
Merged revisions 61981,61984-61987,61992-61993,61997-62000 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
44349
diff
changeset
|
142 #define Py_CHARMASK(c) ((unsigned char)((c) & 0xff)) |
|
5397
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
143 #endif |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
144 |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
145 #include "pyfpe.h" |
|
fd7eb058ce5d
Moved allobjects.h to Python.h (without rename2.h).
Guido van Rossum <guido@python.org>
parents:
2129
diff
changeset
|
146 |
| 12784 | 147 /* These definitions must match corresponding definitions in graminit.h. |
|
5438
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
148 There's code in compile.c that checks that they are the same. */ |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
149 #define Py_single_input 256 |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
150 #define Py_file_input 257 |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
151 #define Py_eval_input 258 |
|
e926c331ebbf
Instead of importing graminit.h whenever one of the three grammar 'root'
Guido van Rossum <guido@python.org>
parents:
5405
diff
changeset
|
152 |
|
14674
756c8c6535fe
Make better use of GNU Pth -- patch by Andy Dustman.
Guido van Rossum <guido@python.org>
parents:
14497
diff
changeset
|
153 #ifdef HAVE_PTH |
|
12611
b320cf3a98b9
Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents:
12248
diff
changeset
|
154 /* GNU pth user-space thread support */ |
|
b320cf3a98b9
Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents:
12248
diff
changeset
|
155 #include <pth.h> |
|
b320cf3a98b9
Andy Dustman: add GNU pth user-space thread support.
Guido van Rossum <guido@python.org>
parents:
12248
diff
changeset
|
156 #endif |
|
23746
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
157 |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
158 /* Define macros for inline documentation. */ |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
159 #define PyDoc_VAR(name) static char name[] |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
160 #define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str) |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
161 #ifdef WITH_DOC_STRINGS |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
162 #define PyDoc_STR(str) str |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
163 #else |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
164 #define PyDoc_STR(str) "" |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
165 #endif |
|
43ddcdcd3c71
Patch #505375: Make doc strings optional.
Martin v. Löwis <martin@v.loewis.de>
parents:
23657
diff
changeset
|
166 |
|
5398
72b231edfb25
Several oopsies -- Py_ALLOBJECTS_H -> Py_PYTHON_H, temporarily removed
Guido van Rossum <guido@python.org>
parents:
5397
diff
changeset
|
167 #endif /* !Py_PYTHON_H */ |
