]>
git.saurik.com Git - wxWidgets.git/blob - src/expat/lib/internal.h
   3    Internal definitions used by Expat.  This is not needed to compile 
   6    The following calling convention macros are defined for frequently 
   9    FASTCALL    - Used for those internal functions that have a simple 
  10                  body and a low number of arguments and local variables. 
  12    PTRCALL     - Used for functions called though function pointers. 
  14    PTRFASTCALL - Like PTRCALL, but for low number of arguments. 
  16    inline      - Used for selected internal functions for which inlining 
  17                  may improve performance on some platforms. 
  19    Note: Use of these macros is based on judgement, not hard rules, 
  20          and therefore subject to change. 
  23 #if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__) 
  24 /* We'll use this version by default only where we know it helps. 
  26    regparm() generates warnings on Solaris boxes.   See SF bug #692878. 
  28    Instability reported with egcs on a RedHat Linux 7.3. 
  30    #define FASTCALL __attribute__((stdcall, regparm(3))) 
  33 #define FASTCALL __attribute__((regparm(3))) 
  34 #define PTRFASTCALL __attribute__((regparm(3))) 
  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. 
  45 /* Make sure all of these are defined if they aren't already. */ 
  60 #if !defined(__cplusplus) && !defined(inline) 
  62 #define inline __inline 
  65 #endif /* XML_MIN_SIZE */