/* internal.h

   Internal definitions used by Expat.  This is not needed to compile
   client code.

   The following definitions are made:

   FASTCALL -- Used for most internal functions to specify that the
               fastest possible calling convention be used.

   inline   -- Used for selected internal functions for which inlining
               may improve performance on some platforms.
*/

#if defined(__GNUC__)
#define FASTCALL __attribute__((stdcall, regparm(3)))
#elif defined(WIN32)
/* XXX This seems to have an unexpected negative effect on Windows so
   we'll disable it for now on that platform.  It may be reconsidered
   for a future release if it can be made more effective.
*/
/* #define FASTCALL __fastcall */
#endif

#ifndef FASTCALL
#define FASTCALL
#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

/* internal.h

   Internal definitions used by Expat.  This is not needed to compile
   client code.

   The following definitions are made:

   FASTCALL -- Used for most internal functions to specify that the
               fastest possible calling convention be used.

   inline   -- Used for selected internal functions for which inlining
               may improve performance on some platforms.
*/

#if defined(__GNUC__)
#define FASTCALL __attribute__((stdcall, regparm(3)))
#elif defined(WIN32)
#define FASTCALL __fastcall
#else
#define FASTCALL
#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

--- 
+++ 
@@ -15,8 +15,14 @@
 #if defined(__GNUC__)
 #define FASTCALL __attribute__((stdcall, regparm(3)))
 #elif defined(WIN32)
-#define FASTCALL __fastcall
-#else
+/* XXX This seems to have an unexpected negative effect on Windows so
+   we'll disable it for now on that platform.  It may be reconsidered
+   for a future release if it can be made more effective.
+*/
+/* #define FASTCALL __fastcall */
+#endif
+
+#ifndef FASTCALL
 #define FASTCALL
 #endif
 
Disable FASTCALL on Windows since it turned out not to be as effective
as hoped.  Leaving the definition in the file so we'll know what it
was that didn't work, and hopefully find something better in the
future.
