Mercurial > cpython-lru_cache-weakref
annotate Modules/expat/internal.h @ 54294:dba767bc3155 legacy-trunk
remove mention of old ctypes version
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 May 2009 20:59:09 +0000 |
| parents | 6248dd5d192a |
| children | e4dc8be9a72f |
| rev | line source |
|---|---|
| 27384 | 1 /* internal.h |
| 2 | |
| 3 Internal definitions used by Expat. This is not needed to compile | |
| 4 client code. | |
| 5 | |
| 6 The following calling convention macros are defined for frequently | |
| 7 called functions: | |
| 8 | |
| 9 FASTCALL - Used for those internal functions that have a simple | |
| 10 body and a low number of arguments and local variables. | |
| 11 | |
| 12 PTRCALL - Used for functions called though function pointers. | |
| 13 | |
| 14 PTRFASTCALL - Like PTRCALL, but for low number of arguments. | |
| 15 | |
| 16 inline - Used for selected internal functions for which inlining | |
| 17 may improve performance on some platforms. | |
| 18 | |
| 19 Note: Use of these macros is based on judgement, not hard rules, | |
| 20 and therefore subject to change. | |
| 21 */ | |
| 22 | |
|
30748
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
23 #if defined(__GNUC__) && defined(__i386__) |
|
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
24 /* We'll use this version by default only where we know it helps. |
|
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
25 |
|
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
26 regparm() generates warnings on Solaris boxes. See SF bug #692878. |
|
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
27 |
|
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
28 Instability reported with egcs on a RedHat Linux 7.3. |
|
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
29 Let's comment out: |
| 27384 | 30 #define FASTCALL __attribute__((stdcall, regparm(3))) |
| 31 and let's try this: | |
| 32 */ | |
| 33 #define FASTCALL __attribute__((regparm(3))) | |
| 34 #define PTRFASTCALL __attribute__((regparm(3))) | |
|
30748
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
35 #endif |
| 27384 | 36 |
| 37 /* Using __fastcall seems to have an unexpected negative effect under | |
| 38 MS VC++, especially for function pointers, so we won't use it for | |
| 39 now on that platform. It may be reconsidered for a future release | |
| 40 if it can be made more effective. | |
| 41 Likely reason: __fastcall on Windows is like stdcall, therefore | |
| 42 the compiler cannot perform stack optimizations for call clusters. | |
| 43 */ | |
| 44 | |
|
30748
6248dd5d192a
Update to Expat 1.95.7; there are no changes to the Expat sources.
Fred Drake <fdrake@acm.org>
parents:
27384
diff
changeset
|
45 /* Make sure all of these are defined if they aren't already. */ |
| 27384 | 46 |
| 47 #ifndef FASTCALL | |
| 48 #define FASTCALL | |
| 49 #endif | |
| 50 | |
| 51 #ifndef PTRCALL | |
| 52 #define PTRCALL | |
| 53 #endif | |
| 54 | |
| 55 #ifndef PTRFASTCALL | |
| 56 #define PTRFASTCALL | |
| 57 #endif | |
| 58 | |
| 59 #ifndef XML_MIN_SIZE | |
| 60 #if !defined(__cplusplus) && !defined(inline) | |
| 61 #ifdef __GNUC__ | |
| 62 #define inline __inline | |
| 63 #endif /* __GNUC__ */ | |
| 64 #endif | |
| 65 #endif /* XML_MIN_SIZE */ | |
| 66 | |
| 67 #ifdef __cplusplus | |
| 68 #define inline inline | |
| 69 #else | |
| 70 #ifndef inline | |
| 71 #define inline | |
| 72 #endif | |
| 73 #endif |
