always_inline gcc directive can be useful.
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 29 Sep 2007 12:17:25 +0000 (12:17 +0000)
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 29 Sep 2007 12:17:25 +0000 (12:17 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3259 c046a42c-6fe2-441c-8c8c-71466251a162

exec-all.h
vl.h

index f58aea5..3151bb5 100644 (file)
 #define unlikely(x)   __builtin_expect(!!(x), 0)
 #endif
 
+#ifndef always_inline
+#if __GNUC__ < 3
+#define always_inline inline
+#else
+#define always_inline __attribute__ (( always_inline )) inline
+#endif
+#endif
+
 #ifdef __i386__
 #define REGPARM(n) __attribute((regparm(n)))
 #else
diff --git a/vl.h b/vl.h
index b2dde5d..378ed27 100644 (file)
--- a/vl.h
+++ b/vl.h
@@ -109,6 +109,14 @@ static inline char *realpath(const char *path, char *resolved_path)
 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
 #endif
 
+#ifndef always_inline
+#if __GNUC__ < 3
+#define always_inline inline
+#else
+#define always_inline __attribute__ (( always_inline )) inline
+#endif
+#endif
+
 /* cutils.c */
 void pstrcpy(char *buf, int buf_size, const char *str);
 char *pstrcat(char *buf, int buf_size, const char *s);