xref: /freebsd/contrib/expat/lib/internal.h (revision 1e413cf93298b5b97441a21d9a50fdcd0ee9945e)
1 /* internal.h
2 
3    Internal definitions used by Expat.  This is not needed to compile
4    client code.
5 
6    The following definitions are made:
7 
8    FASTCALL -- Used for most internal functions to specify that the
9                fastest possible calling convention be used.
10 
11    inline   -- Used for selected internal functions for which inlining
12                may improve performance on some platforms.
13 */
14 
15 #if defined(__GNUC__)
16 /* Last minute instability reported with egcs on a RedHat Linux 7.3
17    box; argh!
18 */
19 /* #define FASTCALL __attribute__((stdcall, regparm(3))) */
20 #elif defined(WIN32)
21 /* XXX This seems to have an unexpected negative effect on Windows so
22    we'll disable it for now on that platform.  It may be reconsidered
23    for a future release if it can be made more effective.
24 */
25 /* #define FASTCALL __fastcall */
26 #endif
27 
28 #ifndef FASTCALL
29 #define FASTCALL
30 #endif
31 
32 #ifndef XML_MIN_SIZE
33 #if !defined(__cplusplus) && !defined(inline)
34 #ifdef __GNUC__
35 #define inline __inline
36 #endif /* __GNUC__ */
37 #endif
38 #endif /* XML_MIN_SIZE */
39 
40 #ifdef __cplusplus
41 #define inline inline
42 #else
43 #ifndef inline
44 #define inline
45 #endif
46 #endif
47