diff options
author | madmaxoft <madmaxoft@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-04-09 15:43:24 +0200 |
---|---|---|
committer | madmaxoft <madmaxoft@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2013-04-09 15:43:24 +0200 |
commit | 48cec90c3f1e81daec3d216ddf4db1ea1e2a8341 (patch) | |
tree | bd9c59149da9eec5e22e7bbbb9fe0de6352fee8d /expat/internal.h | |
parent | Removed an unneeded FTP command template file. ncftp supports everything on the commandline. (diff) | |
download | cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.tar cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.tar.gz cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.tar.bz2 cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.tar.lz cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.tar.xz cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.tar.zst cuberite-48cec90c3f1e81daec3d216ddf4db1ea1e2a8341.zip |
Diffstat (limited to '')
-rw-r--r-- | expat/internal.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/expat/internal.h b/expat/internal.h new file mode 100644 index 000000000..dd5454831 --- /dev/null +++ b/expat/internal.h @@ -0,0 +1,73 @@ +/* internal.h + + Internal definitions used by Expat. This is not needed to compile + client code. + + The following calling convention macros are defined for frequently + called functions: + + FASTCALL - Used for those internal functions that have a simple + body and a low number of arguments and local variables. + + PTRCALL - Used for functions called though function pointers. + + PTRFASTCALL - Like PTRCALL, but for low number of arguments. + + inline - Used for selected internal functions for which inlining + may improve performance on some platforms. + + Note: Use of these macros is based on judgement, not hard rules, + and therefore subject to change. +*/ + +#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__) +/* We'll use this version by default only where we know it helps. + + regparm() generates warnings on Solaris boxes. See SF bug #692878. + + Instability reported with egcs on a RedHat Linux 7.3. + Let's comment out: + #define FASTCALL __attribute__((stdcall, regparm(3))) + and let's try this: +*/ +#define FASTCALL __attribute__((regparm(3))) +#define PTRFASTCALL __attribute__((regparm(3))) +#endif + +/* Using __fastcall seems to have an unexpected negative effect under + MS VC++, especially for function pointers, so we won't use it for + now on that platform. It may be reconsidered for a future release + if it can be made more effective. + Likely reason: __fastcall on Windows is like stdcall, therefore + the compiler cannot perform stack optimizations for call clusters. +*/ + +/* Make sure all of these are defined if they aren't already. */ + +#ifndef FASTCALL +#define FASTCALL +#endif + +#ifndef PTRCALL +#define PTRCALL +#endif + +#ifndef PTRFASTCALL +#define PTRFASTCALL +#endif + +#ifndef XML_MIN_SIZE +#if !defined(__cplusplus) && !defined(inline) +#ifdef __GNUC__ +#define inline __inline +#endif /* __GNUC__ */ +#endif +#endif /* XML_MIN_SIZE */ + +#ifdef __cplusplus +#define inline inline +#else +#ifndef inline +#define inline +#endif +#endif |