Lines 69-74
Link Here
|
69 |
# endif /* va_list is a pointer */ |
69 |
# endif /* va_list is a pointer */ |
70 |
#endif /* !G_VA_COPY */ |
70 |
#endif /* !G_VA_COPY */ |
71 |
|
71 |
|
|
|
72 |
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 |
73 |
* inline semantics. */ |
74 |
#if __GNUC_PREREQ (4,3) && defined (__STDC_VERSION__) \ |
75 |
&& __STDC_VERSION__ >= 199901L |
76 |
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) |
77 |
# define __extern_always_inline \ |
78 |
extern __always_inline __inline __attribute__ ((__gnu_inline__)) |
79 |
#else |
80 |
# define __extern_inline extern __inline |
81 |
# define __extern_always_inline extern __always_inline |
82 |
#endif |
83 |
|
84 |
|
85 |
|
72 |
/* inlining hassle. for compilers that don't allow the `inline' keyword, |
86 |
/* inlining hassle. for compilers that don't allow the `inline' keyword, |
73 |
* mostly because of strict ANSI C compliance or dumbness, we try to fall |
87 |
* mostly because of strict ANSI C compliance or dumbness, we try to fall |
74 |
* back to either `__inline__' or `__inline'. |
88 |
* back to either `__inline__' or `__inline'. |
Lines 96-103
Link Here
|
96 |
#ifdef G_IMPLEMENT_INLINES |
110 |
#ifdef G_IMPLEMENT_INLINES |
97 |
# define G_INLINE_FUNC |
111 |
# define G_INLINE_FUNC |
98 |
# undef G_CAN_INLINE |
112 |
# undef G_CAN_INLINE |
99 |
#elif defined (__GNUC__) |
113 |
#elif defined (__GNUC__) |
100 |
# define G_INLINE_FUNC extern inline |
114 |
# define G_INLINE_FUNC __extern_inline |
101 |
#elif defined (G_CAN_INLINE) |
115 |
#elif defined (G_CAN_INLINE) |
102 |
# define G_INLINE_FUNC static inline |
116 |
# define G_INLINE_FUNC static inline |
103 |
#else /* can't inline */ |
117 |
#else /* can't inline */ |