summaryrefslogtreecommitdiffstats
path: root/expat/internal.h
diff options
context:
space:
mode:
authormadmaxoft <madmaxoft@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-04-09 15:43:24 +0200
committermadmaxoft <madmaxoft@0a769ca7-a7f5-676a-18bf-c427514a06d6>2013-04-09 15:43:24 +0200
commit48cec90c3f1e81daec3d216ddf4db1ea1e2a8341 (patch)
treebd9c59149da9eec5e22e7bbbb9fe0de6352fee8d /expat/internal.h
parentRemoved an unneeded FTP command template file. ncftp supports everything on the commandline. (diff)
downloadcuberite-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.h73
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