]> git.proxmox.com Git - mirror_edk2.git/blobdiff - AppPkg/Applications/Python/Python-2.7.10/Modules/expat/internal.h
AppPkg/Applications/Python/Python-2.7.10: Initial Checkin part 2/5.
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.10 / Modules / expat / internal.h
diff --git a/AppPkg/Applications/Python/Python-2.7.10/Modules/expat/internal.h b/AppPkg/Applications/Python/Python-2.7.10/Modules/expat/internal.h
new file mode 100644 (file)
index 0000000..3da3b78
--- /dev/null
@@ -0,0 +1,73 @@
+/* internal.h\r
+\r
+   Internal definitions used by Expat.  This is not needed to compile\r
+   client code.\r
+\r
+   The following calling convention macros are defined for frequently\r
+   called functions:\r
+\r
+   FASTCALL    - Used for those internal functions that have a simple\r
+                 body and a low number of arguments and local variables.\r
+\r
+   PTRCALL     - Used for functions called though function pointers.\r
+\r
+   PTRFASTCALL - Like PTRCALL, but for low number of arguments.\r
+\r
+   inline      - Used for selected internal functions for which inlining\r
+                 may improve performance on some platforms.\r
+\r
+   Note: Use of these macros is based on judgement, not hard rules,\r
+         and therefore subject to change.\r
+*/\r
+\r
+#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__)\r
+/* We'll use this version by default only where we know it helps.\r
+\r
+   regparm() generates warnings on Solaris boxes.   See SF bug #692878.\r
+\r
+   Instability reported with egcs on a RedHat Linux 7.3.\r
+   Let's comment out:\r
+   #define FASTCALL __attribute__((stdcall, regparm(3)))\r
+   and let's try this:\r
+*/\r
+#define FASTCALL __attribute__((regparm(3)))\r
+#define PTRFASTCALL __attribute__((regparm(3)))\r
+#endif\r
+\r
+/* Using __fastcall seems to have an unexpected negative effect under\r
+   MS VC++, especially for function pointers, so we won't use it for\r
+   now on that platform. It may be reconsidered for a future release\r
+   if it can be made more effective.\r
+   Likely reason: __fastcall on Windows is like stdcall, therefore\r
+   the compiler cannot perform stack optimizations for call clusters.\r
+*/\r
+\r
+/* Make sure all of these are defined if they aren't already. */\r
+\r
+#ifndef FASTCALL\r
+#define FASTCALL\r
+#endif\r
+\r
+#ifndef PTRCALL\r
+#define PTRCALL\r
+#endif\r
+\r
+#ifndef PTRFASTCALL\r
+#define PTRFASTCALL\r
+#endif\r
+\r
+#ifndef XML_MIN_SIZE\r
+#if !defined(__cplusplus) && !defined(inline)\r
+#ifdef __GNUC__\r
+#define inline __inline\r
+#endif /* __GNUC__ */\r
+#endif\r
+#endif /* XML_MIN_SIZE */\r
+\r
+#ifdef __cplusplus\r
+#define inline inline\r
+#else\r
+#ifndef inline\r
+#define inline\r
+#endif\r
+#endif\r