20 |
# define __cdecl /* Meaningless on non-i386 */ |
# define __cdecl /* Meaningless on non-i386 */ |
21 |
#endif |
#endif |
22 |
|
|
23 |
|
/* |
24 |
|
* How to declare a function which should be inlined or instantiated locally |
25 |
|
*/ |
26 |
|
#ifdef __GNUC__ |
27 |
|
# ifdef __GNUC_STDC_INLINE__ |
28 |
|
# define __static_inline static __inline__ __attribute__((__gnu_inline__)) |
29 |
|
# else |
30 |
|
# define __static_inline static __inline__ |
31 |
|
# endif |
32 |
|
#else |
33 |
|
# define __static_inline inline /* Just hope this works... */ |
34 |
|
#endif |
35 |
|
|
36 |
|
/* |
37 |
|
* How to declare a function which should be inlined or have a call to |
38 |
|
* an external module |
39 |
|
*/ |
40 |
|
#ifdef __GNUC__ |
41 |
|
# ifdef __GNUC_STDC_INLINE__ |
42 |
|
# define __extern_inline extern __inline__ __attribute__((__gnu_inline__)) |
43 |
|
# else |
44 |
|
# define __extern_inline extern __inline__ |
45 |
|
# endif |
46 |
|
#else |
47 |
|
# define __extern_inline inline /* Just hope this works... */ |
48 |
|
#endif |
49 |
|
|
50 |
/* How to declare a function that *must* be inlined */ |
/* How to declare a function that *must* be inlined */ |
51 |
/* Use "extern inline" even in the gcc3+ case to avoid warnings in ctype.h */ |
/* Use "extern inline" even in the gcc3+ case to avoid warnings in ctype.h */ |
52 |
#ifdef __GNUC__ |
#ifdef __GNUC__ |
53 |
# if __GNUC__ >= 3 |
# if __GNUC__ >= 3 |
54 |
# ifdef __GNUC_STDC_INLINE__ |
# define __must_inline __extern_inline __attribute__((__always_inline__)) |
|
# define __must_inline extern __inline__ \ |
|
|
__attribute__((__gnu_inline__,__always_inline__)) |
|
|
# else |
|
|
# define __must_inline extern __inline__ __attribute__((__always_inline__)) |
|
|
# endif |
|
55 |
# else |
# else |
56 |
# define __must_inline extern __inline__ |
# define __must_inline extern __inline__ |
57 |
# endif |
# endif |