xref: /freebsd/contrib/expat/lib/internal.h (revision 5bb6a25f8f50862853de4bdb01ecb4152f10d0e7)
15bb6a25fSPoul-Henning Kamp /* internal.h
25bb6a25fSPoul-Henning Kamp 
35bb6a25fSPoul-Henning Kamp    Internal definitions used by Expat.  This is not needed to compile
45bb6a25fSPoul-Henning Kamp    client code.
55bb6a25fSPoul-Henning Kamp 
65bb6a25fSPoul-Henning Kamp    The following definitions are made:
75bb6a25fSPoul-Henning Kamp 
85bb6a25fSPoul-Henning Kamp    FASTCALL -- Used for most internal functions to specify that the
95bb6a25fSPoul-Henning Kamp                fastest possible calling convention be used.
105bb6a25fSPoul-Henning Kamp 
115bb6a25fSPoul-Henning Kamp    inline   -- Used for selected internal functions for which inlining
125bb6a25fSPoul-Henning Kamp                may improve performance on some platforms.
135bb6a25fSPoul-Henning Kamp */
145bb6a25fSPoul-Henning Kamp 
155bb6a25fSPoul-Henning Kamp #if defined(__GNUC__)
165bb6a25fSPoul-Henning Kamp /* Last minute instability reported with egcs on a RedHat Linux 7.3
175bb6a25fSPoul-Henning Kamp    box; argh!
185bb6a25fSPoul-Henning Kamp */
195bb6a25fSPoul-Henning Kamp /* #define FASTCALL __attribute__((stdcall, regparm(3))) */
205bb6a25fSPoul-Henning Kamp #elif defined(WIN32)
215bb6a25fSPoul-Henning Kamp /* XXX This seems to have an unexpected negative effect on Windows so
225bb6a25fSPoul-Henning Kamp    we'll disable it for now on that platform.  It may be reconsidered
235bb6a25fSPoul-Henning Kamp    for a future release if it can be made more effective.
245bb6a25fSPoul-Henning Kamp */
255bb6a25fSPoul-Henning Kamp /* #define FASTCALL __fastcall */
265bb6a25fSPoul-Henning Kamp #endif
275bb6a25fSPoul-Henning Kamp 
285bb6a25fSPoul-Henning Kamp #ifndef FASTCALL
295bb6a25fSPoul-Henning Kamp #define FASTCALL
305bb6a25fSPoul-Henning Kamp #endif
315bb6a25fSPoul-Henning Kamp 
325bb6a25fSPoul-Henning Kamp #ifndef XML_MIN_SIZE
335bb6a25fSPoul-Henning Kamp #if !defined(__cplusplus) && !defined(inline)
345bb6a25fSPoul-Henning Kamp #ifdef __GNUC__
355bb6a25fSPoul-Henning Kamp #define inline __inline
365bb6a25fSPoul-Henning Kamp #endif /* __GNUC__ */
375bb6a25fSPoul-Henning Kamp #endif
385bb6a25fSPoul-Henning Kamp #endif /* XML_MIN_SIZE */
395bb6a25fSPoul-Henning Kamp 
405bb6a25fSPoul-Henning Kamp #ifdef __cplusplus
415bb6a25fSPoul-Henning Kamp #define inline inline
425bb6a25fSPoul-Henning Kamp #else
435bb6a25fSPoul-Henning Kamp #ifndef inline
445bb6a25fSPoul-Henning Kamp #define inline
455bb6a25fSPoul-Henning Kamp #endif
465bb6a25fSPoul-Henning Kamp #endif
47